Claude Code널리 퍼진 글, 사실은10월 27일 수집
클로드 코드 다른 터미널 세션에 메시지 보내는 법 (켜는 설정도 하이쿠 중계도 필요 없다)
"클로드 코드 세션끼리 말을 주고받게 하려면 crossSessionInbound를 accept로 켜고 하이쿠 세션에 중계를 맡겨야 한다"는 글이 X에서 퍼졌다. 실제로는 v2.1.224부터(윈도우는 v2.1.234) 같은 컴퓨터에서 도는 세션끼리 메시지가 기본으로 오간다. 따로 켤 설정이 없고, 메시지는 중계하는 모델 없이 세션마다 열리는 로컬 소켓으로 바로 간다. 받은 메시지는 직접 친 프롬프트처럼 사용량에 잡히니 "토큰을 하나도 안 쓴다"는 말도 틀렸다.
- 터미널마다 세션에 알아보기 쉬운 이름을 붙인다. 이미 연 세션은
/rename api-worker로 바꾼다.
claude --name api-worker
- 메시지를 보낼 수 있는 세션을 확인한다.
/peers로 쳐도 된다. 명령을 못 알아들으면 버전이 낮은 것이니claude --version부터 본다.
/list-agents
- 다른 세션에 알릴 내용을 시킨다.
@뒤에 이름 앞 글자를 치면 세션을 골라 넣을 수 있다(v2.1.232부터).
스키마 마이그레이션이 끝났다고 @api-worker에 알려 줘
- 오래 걸리는 작업은 끝날 때 한 번 알려 달라고 시킬 수 있다(두 세션 모두 v2.1.236부터).
마이그레이션 세션이 지금 하는 일을 끝내면 알려 줘
crossSessionInbound를 손댈 일은 따로 있다. 권한 확인을 건너뛰는 세션이 끼면 기본 설정은 메시지를 승인 창에 붙잡아 두는데, claude -p 작업 세션은 승인 창을 띄우지 못해 붙잡힌 메시지가 5분 뒤 버려진다. 사람 없이 메시지를 받아야 하는 -p 세션만 accept로 띄운다.
claude -p "<작업 지시>" --settings '{"crossSessionInbound":"accept"}'
메시지를 받지 않으려면 refuse로 두고, 보내지도 못하게 하려면 권한 거부 목록에 SendMessage와 ListAgents를 넣는다. SendMessage를 막으면 서브에이전트와 에이전트 팀원에게 보내는 메시지도 같이 막힌다.
{
"permissions": { "deny": ["SendMessage", "ListAgents"] },
"crossSessionInbound": "refuse"
}
다른 세션에서 온 메시지는 권한 요청을 대신 승인하지 못하고, 그 안에 든 /compact 같은 명령도 실행되지 않는다. 컨테이너 안 세션과 호스트 세션끼리는 메시지가 닿지 않는다.
출처