다른 Claude Code 세션에 메시지 보내기 (Cross-session messaging)
Message your other Claude Code sessions
TL;DR Highlight
Claude Code 세션끼리 메시지를 주고받아 병렬 작업을 조율한다
Who Should Read
worktree로 Claude Code 세션을 여러 개 띄워 병렬 작업하다 세션 간 맥락을 손으로 옮기느라 지치는 개발자
Core Mechanics
- 세션끼리 텍스트 메시지를 주고받는다
- Claude가 ListAgents로 대상을 찾고 SendMessage로 보낸다.
- 사용자가 도구를 직접 호출할 일은 없다.
- 대화 기록이나 파일이 넘어가는 게 아니라 Claude가 쓴 텍스트만 간다.
- @이름으로 대상 세션을 지정한다
- @ 뒤에 세션 이름 앞글자를 치고 자동완성에서 고른다(v2.1.232 이상).
- 공백이 든 이름은 @"release notes"처럼 따옴표로 감싼다.
- 같은 이름의 라이브 세션이 여럿이면 Claude가 먼저 어느 쪽인지 물어본다.
- 상대가 작업 중이어도 끊지 않는다
- 활성 턴에서는 툴 호출 사이에 메시지를 읽는다.
- 상대가 idle이면 메시지로 새 턴을 시작한다.
- 전달된 메시지는 직접 친 프롬프트처럼 사용량에 잡힌다.
- 끝나면 알려달라는 구독이 된다
- SendMessage의 notify_when_idle로 상대 세션이 idle이 되거나 종료될 때 알림 하나를 받는다(양쪽 v2.1.236 이상).
- 12시간 안에 알림이 없으면 구독을 버리고 Claude에게 알린다.
- 메인 대화의 Claude만, 이 머신의 세션에 대해서만 구독할 수 있다.
Community Reactions
- 원격 에이전트에 일을 시키는 공격면이 기본으로 열린다는 우려
- 예전 같으면 RCE 취약점이라 불렀을 것이라는 의견이 있었다.
- Remote Control을 켜면 샌드박스·VM 격리가 깨지고 계정이 접근 가능한 어떤 세션에도 명령을 보낼 수 있다는 의견이 있었다.
- 문서의 '설정을 바꾸지 말라고 지시한다'는 표현이 LLM 판단에 기대는 것 같다는 지적도 있었다.
- 직접 만들어 쓴 사람이 많았다
- tmux·메모리 트리·핸드오프 파일·오케스트레이터로 만들어 중복 컨텍스트를 크게 줄였다는 경험이 있었다.
- 무거운 스킬 비용을 한 에이전트만 치르게 해서 입력 토큰을 아꼈다는 경험이다.
- 로컬 IRC 서버나 Telegram으로 Codex와 Claude를 엮어 쓴다는 사례, Tailscale로 여러 Linux 머신의 에이전트에 메시지를 보낸다는 사례도 있었다.
- 실제로 써 보니 감독이 필요했다는 경험
- 에이전트들이 엉뚱한 방향으로 가면 가끔 끼어들어 끊어야 했다는 경험이 있었다.
- 'hold swarm, I prepare safe exfil' 같은 이상한 메시지를 봤다는 사용 후기도 있었다.
- 시연을 시켜 보니 subagent로 하려 하고 다른 터미널을 따로 열라고 해서 Codex보다 번거로웠다는 경험도 있었다.
- 기존 도구와 차이를 묻는 반응
- tmux send-keys를 재발명한 것이라는 의견이 있었다.
- CMUX·Orca와 무엇이 다른지 모르겠다는 질문이 있었다.
How to Apply
- 다른 터미널 세션에 완료 알림 요청하기
- 터미널 두 개에 Claude Code를 v2.1.236 이상으로 띄우고 각각 --name으로 이름을 붙인다.
- 한쪽에 긴 작업을 시키고 다른 쪽에서 '마이그레이션 세션이 끝나면 알려줘'라고 입력한다.
- /list-agents로 상대 세션이 보이는지 먼저 확인한다.
- @이름으로 결정사항 넘기기
- 백엔드 스키마를 바꾼 직후 프론트 세션에 '@frontend 스키마 변경 끝났으니 rebase해도 돼'라고 프롬프트한다.
- 받는 쪽 미리보기는 Ctrl+O로 전체 내용을 확인한다.
- crossSessionInbound를 hold로 설정하기
- 권한 프롬프트를 우회하는 세션에서는 /config의 'Messages from your other sessions'를 hold로 바꾼다.
- 메시지가 올 때마다 승인 다이얼로그에서 내용을 보고 직접 승인한다.
- 원격 머신 메시지는 isolatePeerMachines로 승인 요구하기
- Remote Control을 쓰는 환경이면 isolatePeerMachines를 설정해 머신 밖으로 나가는 메시지에 승인을 요구한다.
Try It
# Claude Code 세션 A에 붙여넣기 (원문 기능을 프롬프트로 옮긴 것, v2.1.236 이상 필요)
# 먼저 터미널에서: claude --name api-worker / claude --name frontend 로 두 세션을 띄운다
# 세션 frontend에서 입력할 프롬프트
@api-worker 에게 {{할 일: 스키마 마이그레이션}}이 끝나면 알려달라고 요청해줘.
끝나면 바뀐 컬럼과 내가 해야 할 일을 한 줄 요약으로 보내달라고 해줘.
# 이어서 해 볼 것
/list-agents 를 실행해 api-worker가 보이는지, 'can't receive' 표시가 없는지 확인한다.
상대가 끝나면 frontend 세션에 알림이 오는지, 미리보기를 Ctrl+O로 펼쳐 본다.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓