리서치 프리뷰
Claude Code v2.1.80+
Claude Code Channels 써봤더니 세션이 꺼지면 끊깁니다
폰으로 텔레그램 메시지 하나 보내면 로컬 PC에서 Claude가 코딩을 시작합니다.
실제로 됩니다. 그런데 막상 써보면 “항상 켜진 에이전트”라는 표현과 실제 동작 사이에
중요한 차이가 있습니다. 세션이 열려 있는 동안에만 메시지가 도착합니다.
Claude Code Channels가 정확히 무엇인지, 뭘 할 수 있고 뭘 못 하는지 직접 확인했습니다.
Claude Code Channels, 정확히 무엇인가
Claude Code Channels는 2026년 3월 20일 Anthropic이 Claude Code v2.1.80에 추가한 기능입니다.
한 줄로 정리하면, 텔레그램·디스코드·iMessage 같은 외부 메신저에서 보낸 메시지가
이미 실행 중인 로컬 Claude Code 세션으로 실시간 전달되는 채팅 브릿지입니다.
(출처: Claude Code 공식 문서 — Channels, 2026.03.20)
채널은 MCP 서버로 구현됩니다. 플러그인 형태로 설치하고 Bun 런타임 위에서 실행되는데,
각 플러그인은 Anthropic이 공개한
claude-plugins-official 저장소에서
텔레그램, 디스코드, iMessage 세 종류가 공개되어 있습니다.
현재는 리서치 프리뷰 단계라서 Anthropic이 관리하는 허용 목록에 있는 플러그인만 쓸 수 있고,
커스텀 채널을 만들 경우 --dangerously-load-development-channels 플래그가 필요합니다.
가장 기본적인 사용 흐름은 이렇습니다. PC에서
claude --channels telegram으로 세션을 시작하면,
텔레그램 봇이 활성화됩니다. 이후 폰에서 텔레그램으로 “로그인 버튼 추가해줘”라고 보내면
PC의 Claude가 실제 프로젝트 파일을 열어 코드를 작성합니다.
Claude의 답변은 텔레그램 채팅창에 다시 나타납니다.
코드와 파일은 내 PC 로컬에 그대로 있고, 채팅 메시지만 채널을 통해 오갑니다.
💡 공식 문서와 실사용 흐름을 같이 놓고 보니 이런 차이가 보였습니다.
터미널에 Claude 답변이 보이지 않는 게 처음엔 버그처럼 느껴집니다.
그런데 공식 문서에 딱 이렇게 나옵니다:
“When Claude replies through a channel, you see the inbound message in your terminal but not the reply text.”
터미널에는 tool call과 “sent” 확인 메시지만 뜨고, 실제 답변은 메신저에만 나타나도록 의도적으로 설계한 겁니다.
(출처: Claude Code Channels 공식 문서)
“항상 켜진 에이전트”가 아닌 이유
커뮤니티에서 가장 많이 본 표현이 “폰 하나로 Claude를 24시간 부린다”입니다.
절반만 맞는 말입니다. 공식 문서 원문은 이렇습니다:
“Events only arrive while the session is open, so for an always-on setup you run Claude in a background process or persistent terminal.”
(출처: Claude Code Channels 공식 문서)
세션이 닫히면 그 사이에 도착한 메시지는 사라집니다.
복구되지 않고, 큐에 쌓이지도 않습니다.
밤에 폰으로 지시를 보내고 잠들었는데 PC가 절전 모드로 들어갔다면
아침에 일어나도 Claude는 그 메시지를 받지 못한 상태입니다.
이걸 “항상 켜진”으로 만들려면 tmux, screen, 또는 백그라운드 프로세스를 따로 유지해야 합니다.
Channels 자체가 그 역할을 해주지 않습니다.
💡 세션 연속성에 대해 공식 문서가 가정하는 것과 실사용 맥락이 다릅니다.
공식 문서는 “background process나 persistent terminal에서 Claude를 실행하면 된다”고 합니다.
맞는 말이지만, 그건 Channels가 제공하는 기능이 아닙니다.
tmux나 별도 프로세스 관리는 사용자가 직접 구성해야 하는 인프라 영역입니다.
Channels는 메신저와 세션 사이의 브릿지만 담당합니다.
반대로, 세션이 열려 있는 동안의 비동기 처리는 실제로 잘 됩니다.
퇴근하면서 폰으로 “오늘 커밋 내용 기반으로 리팩토링 시작해줘” 보내고,
Claude가 작업하는 동안 귀가하고, 저녁에 텔레그램에서 완료 메시지 받는 시나리오는
PC가 켜져 있고 세션이 살아 있다면 실제로 작동합니다.
핵심 조건은 PC와 세션, 둘 다입니다.
Pro·Max와 Team, 실제로 누가 더 편하게 쓰나
Claude Code Auto mode는 Team 플랜 전용이라 개인 Pro·Max 사용자가 못 씁니다.
그런데 Channels는 반대입니다. 공식 문서에 이렇게 나옵니다:
“Pro and Max users without an organization skip these checks entirely: channels are available and users opt in per session with –channels.”
(출처: Claude Code Channels 공식 문서 — Enterprise controls)
개인 Pro·Max 사용자는 조직 관리자 승인 없이 바로 쓸 수 있습니다.
반면 Team이나 Enterprise 플랜 사용자는 관리자가 먼저
channelsEnabled: true를 설정해줘야
--channels 플래그가 작동합니다.
관리자가 설정하지 않으면 MCP 서버는 연결되지만 채널 메시지는 전달되지 않습니다.
시작할 때 경고 메시지가 뜨는데, “관리자에게 활성화 요청하라”는 내용입니다.
| 구분 | Channels 사용 조건 | 허용 플러그인 범위 |
|---|---|---|
| Pro / Max (개인) | 조직 승인 없이 바로 사용 가능 | Anthropic 기본 허용 목록 적용 |
| Team / Enterprise | 관리자가 channelsEnabled: true 설정 필수 |
관리자가 allowedChannelPlugins로 제한 가능 |
| Free | Channels 미지원 | |
Team 플랜의 제약이 더 많은 이유가 있습니다.
조직 환경에서는 어떤 채널 플러그인이 실행되는지 관리자가 통제해야 하기 때문입니다.
허용 목록을 빈 배열로 설정하면 모든 채널 플러그인을 차단할 수도 있습니다.
보안 정책상 텔레그램은 허용하되 디스코드는 막는 식의 세밀한 제어가 가능합니다.
iMessage는 구조 자체가 다릅니다
텔레그램과 디스코드는 봇 토큰을 발급받아 외부 서버와 통신합니다.
반면 iMessage 채널은 완전히 다른 방식으로 동작합니다.
공식 문서에 이렇게 나옵니다:
“The iMessage channel reads your Messages database directly and sends replies through AppleScript. It requires macOS and needs no bot token or external service.”
(출처: Claude Code Channels 공식 문서 — Supported channels)
iMessage 채널은 외부 서버를 거치지 않습니다.
Mac의 Messages 앱 데이터베이스를 직접 읽고, AppleScript로 답장을 보냅니다.
봇 계정도 필요 없고, 외부 API 인증도 없습니다.
macOS 전용이고, Apple ID로 로그인된 Mac에서만 작동합니다.
이 구조가 가진 의미는 간단합니다: 메시지 내용이 Anthropic 서버를 포함한 어떤 외부 서비스에도 전달되지 않습니다. 코드 내용이 담긴 지시를 민감하게 여기는 환경에서는 iMessage가 세 채널 중 가장 안전한 선택입니다.
💡 세 채널이 같은 방식으로 작동한다고 생각하기 쉬운데, 아닙니다.
텔레그램·디스코드는 페어링 코드를 통해 발신자 ID를 등록하는 방식입니다.
반면 iMessage는 자기 자신에게 문자를 보내면 자동으로 통과되고,
다른 연락처는 /imessage:access allow 명령어로 수동 추가해야 합니다.
보안 모델도 구조도 다릅니다.
단점도 있습니다. iMessage는 macOS에서만 되고, Mac이 켜져 있어야 하고,
AppleScript 접근 권한을 Messages 앱에 허용해야 합니다.
Windows나 Linux에서는 iMessage 채널을 쓸 수 없습니다.
텔레그램이나 디스코드가 플랫폼 무관하게 쓸 수 있는 것과 대조적입니다.
보안 모델, 발신자 허용 목록의 핵심
Claude Code Channels의 보안 모델 중 가장 중요한 개념이 발신자 허용 목록(sender allowlist)입니다.
기본 원칙은 명확합니다. 화이트리스트 방식입니다.
허용 목록에 없는 발신자의 메시지는 Claude에게 전달되지 않고 조용히 버려집니다.
Claude가 읽고 판단하는 게 아니라, 메시지 자체가 에이전트 컨텍스트에 도달하지 않습니다.
(출처: MindStudio — Sender Allowlist Security Analysis)
텔레그램과 디스코드는 페어링 방식으로 허용 목록을 구성합니다.
봇에게 메시지를 보내면 봇이 페어링 코드를 답장합니다.
Claude Code 세션에서 그 코드를 승인하면 해당 ID가 허용 목록에 등록됩니다.
팀원이 채널을 통해 지시를 보낼 수 있게 하려면 팀원 각자가 이 과정을 거쳐야 합니다.
이 절차를 건너뛰면 팀원의 메시지도 버려집니다.
주의할 점이 하나 있습니다. 허용 목록에 있는 발신자가 악의적인 내용을 보내는 경우,
Channels의 보안 모델로는 막을 수 없습니다.
발신자 필터는 “누가 보냈는가”를 봅니다. “무엇을 보냈는가”는 Claude가 판단합니다.
즉, 신뢰된 발신자가 프롬프트 인젝션 공격을 시도하면 필터가 작동하지 않습니다.
이 부분은 Channels 자체의 한계가 아니라,
신뢰된 발신자를 최소화하는 운영 방침으로 보완해야 합니다.
Remote Control과 헷갈리면 안 됩니다
Channels와 자주 혼동되는 기능이 Remote Control입니다.
둘 다 폰에서 Claude Code를 조작할 수 있지만, 작동 원리와 용도가 다릅니다.
공식 문서는 이 차이를 표로 정리하고 있습니다.
(출처: Claude Code Channels 공식 문서 — How channels compare)
| 기능 | 작동 방식 | 적합한 상황 |
|---|---|---|
| Channels | 외부 메신저 이벤트를 실행 중인 로컬 세션으로 푸시 | 메신저에서 비동기로 작업 지시, 웹훅 수신 |
| Remote Control | claude.ai 또는 Claude 앱에서 로컬 세션을 직접 조종 | 책상에서 벗어나 진행 중인 세션을 모니터링·조작 |
| Claude Code on the web | GitHub에서 클론한 클라우드 샌드박스에서 작업 실행 | 로컬 파일 불필요한 독립 비동기 작업 |
핵심 차이는 이렇습니다. Remote Control은 내가 폰으로 claude.ai를 열어 로컬 세션을 직접 조종합니다.
세션 흐름을 내가 주도합니다. 반면 Channels는 외부 메신저의 이벤트가 세션으로 들어오는 방향입니다.
내가 직접 지켜보지 않아도 메신저를 통해 지시가 전달됩니다.
“능동적으로 조종” vs “이벤트가 들어오면 반응”으로 구분하면 됩니다.
또 하나, Channels는 클라우드 세션에서 작동하지 않습니다.
Remote Control도 클라우드 세션에서는 미제공입니다.
둘 다 로컬에서 실행되는 Claude Code 세션이 전제입니다.
claude.ai/code의 웹 세션에서 Channels를 열려 하면 동작하지 않습니다.
Q&A
마치며
Claude Code Channels는 분명히 실용적인 기능입니다.
설치 후 텔레그램 봇이 연결되는 데까지 걸리는 시간이 5분도 안 되고,
실제로 폰에서 지시를 보내면 PC에서 파일이 수정됩니다. 작동 자체는 잘 됩니다.
다만 기대치를 정확히 맞춰야 합니다.
세션이 열려 있어야 메시지가 도착하고, 히스토리는 자동으로 저장되지 않고,
Team 플랜은 관리자 승인이 선행 조건입니다.
이 세 가지를 알고 쓰면 훨씬 편하게 쓸 수 있고,
모르고 쓰면 “왜 메시지가 안 와”를 반복하게 됩니다.
리서치 프리뷰 단계라 --channels 플래그 문법과 프로토콜 계약은 변경될 수 있습니다.
실무에 본격 적용하기 전에 격리 환경에서 충분히 테스트하는 게 현재로서는 현명한 선택입니다.
이 부분은 Anthropic이 공식 발표에서 별도로 명시한 주의사항입니다.
(출처: Claude Code Channels 공식 문서 — Research preview)
본 포스팅 참고 자료
※ 본 포스팅은 2026년 3월 29일 기준으로 작성되었습니다. Claude Code Channels는 리서치 프리뷰 단계로,
본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있습니다.
특히 --channels 플래그 문법과 허용 플러그인 목록은 Anthropic 발표 없이 조정될 수 있으므로,
실무 적용 전 공식 문서를 반드시 재확인하시기 바랍니다.











댓글 남기기