[Claude Code] 다른 터미널 세션에 메시지를 보내요
![[Claude Code] 다른 터미널 세션에 메시지를 보내요](https://blog.kakaocdn.net/dna/bfIiyq/dJMcafAQXok/AAAAAAAAAAAAAAAAAAAAACB1sXVnUcTJsgFTrAJcFnQ4HUtER8QxCfEaPqfhC8Ls/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1788188399&allow_ip=&allow_referer=&signature=cQZ8P3dOcTntjxr7tRQZHNN9xno%3D)
[Claude Code] 다른 터미널 세션에 메시지를 보내요
Claude Code(클로드 코드) 2.1.224부터 세션 간에 메시지를 주고받는 기능이 들어갔어요. 터미널 A에서 스키마를 바꿨을 때 그 사실을 터미널 B에 직접 옮겨 적는 대신, Claude가 옆 세션에 알려주는 구조예요. 조건만 맞으면 따로 켤 것 없이 이미 돌아가고 있어요.
01. macOS·리눅스만 되고, 확인은 /list-agents로 해요
필요한 버전은 2.1.224 이상이에요. 네이티브 윈도우는 지원 대상이 아니고, WSL 2 안의 리눅스는 돼요.
세션에서 /list-agents(별칭 /peers)를 쳐보면 바로 알 수 있어요. 명령 자체를 못 알아들으면 그 세션엔 기능이 없는 거라, claude --version부터 보라고 문서에 나와 있어요.
제공자 조건도 있어요. Amazon Bedrock, Claude Platform on AWS, Google Cloud Agent Platform, Microsoft Foundry 경유로 쓰는 세션에서는 안 돼요. CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC이나 DO_NOT_TRACK 같은 변수를 박아둔 경우도 기능이 꺼진 상태로 뜬다고 해요.
02. SendMessage를 직접 부르는 게 아니라 말로 시켜요
Claude가 ListAgents로 받을 세션을 찾고 SendMessage로 보내요. 사람이 두 도구를 직접 호출할 일은 없고, 프롬프트만 던지면 돼요.
다른 터미널에서 돌고 있는 세션에 마이그레이션 끝났는지 물어봐줘
문구도 Claude가 알아서 써요. 세션이 답하는 이름은 /rename이나 --name으로 정해요. 안 정하면 작업 디렉터리 이름을 딴 myapp-3f 같은 이름이 자동으로 붙어요.
오가는 건 텍스트 한 덩이뿐이에요. 대화 기록이나 파일은 안 넘어가요. 통째로 옮기고 싶으면 메시지 말고 세션 resume을 쓰라는 게 문서 안내예요.
03. 같은 머신은 소켓, 머신 밖은 서버를 거쳐요
문서 기준으로 같은 머신 안에서는 세션마다 뚫어둔 소켓으로 바로 전달돼요. Anthropic 서버를 거치지 않는 경로라고 적혀 있어서, 사내 정책상 외부로 나가는 트래픽을 따지는 곳이면 이 구분이 중요해요.
다른 내 머신의 세션은 그 머신의 Remote Control 연결로 도착하고 웹 세션은 클라우드 세션으로 바로 들어간다고 해요. 두 경우 모두 Anthropic 서버를 거쳐요.
머신 밖 세션에 먼저 말을 거는 건 2.1.224 시점엔 막혀 있었어요. 2.1.225 changelog에는 ListAgents에 뜨는 이름으로 먼저 대화를 시작할 수 있게 됐다고 적혀 있는데, 문서 페이지에는 아직 답장만 된다는 서술이 남아 있어요. 이 부분은 본인 버전을 보고 판단할 대목이에요.
컨테이너는 파일시스템이 따로라 호스트 세션과 서로 못 찾는다고 해요. 같은 컨테이너 안의 두 세션끼리는 되고요. 머신 밖으로 나가는 메시지마다 승인을 받고 싶으면 isolatePeerMachines를 true로 두면 돼요.
04. 받는 쪽은 crossSessionInbound로 막을 수 있어요
도착한 메시지를 어떻게 할지는 받는 세션이 정해요. accept는 그대로 전달, hold는 승인 대기, refuse는 그냥 버림이에요.
값을 안 정했을 때는 보내는 세션과 받는 세션의 권한 모드를 같이 봐요. 둘 다 권한 프롬프트가 뜨는 세션이거나 둘 다 bypassPermissions면 그대로 전달돼요. 한쪽만 bypassPermissions면 받는 쪽에 승인 창이 떠요.
그 창을 5분(dialogExpiry 기본값) 동안 안 누르면 메시지가 버려진다고 문서에 나와 있어요.
다른 세션이 보낸 메시지는 내 승인을 대신하지 못해요. 권한 설정이나 CLAUDE.md를 바꿔달라는 요청도 막히고, 본문에 /compact 같은 게 적혀 있어도 평문으로만 들어와요.
아예 끄려면 보내기와 받기를 따로 잠가야 해요. 조직 단위로 막을 땐 managed settings에 아래 두 줄을 같이 넣으라고 안내돼 있어요.
{
"permissions": {
"deny": ["SendMessage", "ListAgents"]
},
"crossSessionInbound": "refuse"
}
비용 쪽도 알아둘 부분이 있어요. 전달된 메시지는 내가 타이핑한 프롬프트와 똑같이 usage로 잡힌다고 해요. 세션 둘이 서로 핑퐁하는 사고는 반복 발송 throttle과 대기 50개 상한으로 알아서 멈춘다고 해요.
출처: Claude Code Docs — Message your other Claude Code sessions, Claude Code CHANGELOG 2.1.224
이 글은 공식 발표 내용을 정리한 것이고, Anthropic으로부터 어떤 형식의 협찬도 받지 않았습니다.
'AI > 정보' 카테고리의 다른 글
| [Claude] Sonnet 5 가격 인상 취소, $2/$10 그대로예요 (0) | 2026.08.12 |
|---|---|
| [Claude Code] archive 소스로 플러그인을 zip으로 설치해요 (0) | 2026.08.11 |
| [Claude Code] 8월 14일부터 기본이 auto 모드예요 (0) | 2026.08.09 |
| [Claude] Managed Agents 세션에 달러 상한이 생겼어요 (0) | 2026.08.08 |
| [Claude Code] 2.1.223, 승인창을 속이던 명령을 막았어요 (0) | 2026.08.07 |
📚 같이 보면 좋은
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 일정액의 수수료를 제공받습니다."