Claude Code Channels, 편리할수록 조심해야 할 것이 있습니다
2026년 3월 20일, Anthropic이 Claude Code v2.1.80에 Channels를 리서치 프리뷰로 공개했습니다. 텔레그램·디스코드·iMessage로 메시지를 보내면 내 PC에서 돌아가는 Claude Code 세션이 파일을 수정하고 결과를 다시 채팅으로 보내줍니다. 연결만 하면 정말 편하죠.
그런데 공식 문서를 직접 읽어보면 대부분의 후기 글이 그냥 지나치는 함정이 정확히 두 곳에 있습니다. “보안은 sender allowlist가 있으니까 안전해요”라고 끝내는 글들에 빠진 내용입니다. 결론부터 말씀드리면, 그룹 채팅에서 잘못된 방식으로 설정하면 그룹 안의 누구나 내 PC를 조작할 수 있습니다.
리서치 프리뷰 단계
Pro·Max 전용
FNR 17% — 위험 행동 17%는 통과
Claude Code Channels란 정확히 무엇인가
한마디로, MCP 서버를 통해 외부 메시지를 이미 열린 Claude Code 세션 안으로 밀어 넣는 구조입니다. 공식 문서는 이렇게 설명합니다. “A channel is an MCP server that pushes events into your running Claude Code session, so Claude can react to things that happen while you’re not at the terminal.” (출처: Anthropic 공식 Channels 문서, 2026.03.20)
여기서 핵심은 ‘already running’이라는 단어입니다. Channels는 새 세션을 클라우드에서 띄우는 게 아닙니다. 내 로컬 PC에서 이미 실행 중인 터미널 세션에 외부 메시지를 꽂아 넣는 방식입니다. 세션이 닫히면 채널도 꺼집니다.
즉 항상 켜놓는 비서처럼 쓰려면 tmux나 screen으로 세션을 유지해야 합니다. 단순 연결만으로 24시간 동작하는 AI 비서를 기대했다면, 기대와 다릅니다.
공식 지원 플랫폼 3개 — 차이점과 선택 기준
Telegram·Discord·iMessage가 리서치 프리뷰에 포함되어 있지만, 세 개가 다 같은 방식으로 동작하지는 않습니다. 아래 비교표를 보면 선택이 달라집니다.
| 항목 | Telegram | Discord | iMessage |
|---|---|---|---|
| 셋업 시간 | 약 5분 | 약 10분 | macOS 전용 |
| 메시지 히스토리 | 없음 — 세션 다운 중 메시지 유실 | 최대 100개 복구 가능 | DB 직접 읽기 |
| 팀 협업 | 제한적 | 서버 채널 공유 가능 | 개인 전용 |
| 외부 서비스 의존 | Bot API 폴링 | WebSocket | 없음 — 로컬 DB만 사용 |
| Bun 필요 | 필수 | 필수 | 필수 |
Telegram은 세션이 꺼진 동안 보낸 메시지를 복구할 방법이 없습니다. 장시간 빌드를 걸어두고 중간에 명령을 추가해야 하는 상황이라면 Discord가 훨씬 낫습니다. iMessage는 토큰이나 봇 생성 없이 내 Mac Messages 앱을 그대로 씁니다. 대신 macOS에서만 동작하고, 전체 디스크 접근 권한을 터미널 앱에 줘야 합니다.
그룹 채팅 설정에서 아무도 말하지 않는 함정
💡 공식 보안 문서와 실제 그룹 채팅 흐름을 함께 놓고 보니, 대부분의 가이드가 DM 설정 기준으로만 설명한다는 사실이 보였습니다.
Channels 공식 문서 보안 섹션에는 아주 중요한 경고가 한 줄 들어 있습니다. “Gate on the sender’s identity, not the chat or room identity: message.from.id in the example, not message.chat.id. In group chats, these differ, and gating on the room would let anyone in an allowlisted group inject messages into the session.” (출처: Anthropic Channels Reference 공식 문서, 2026.03.20)
쉽게 말하면 이렇습니다. allowlist에 “이 텔레그램 그룹은 허용”이라고 그룹 ID로 등록하면, 그 그룹 안의 모든 사람이 내 PC로 명령을 보낼 수 있습니다. 그룹 ID가 아니라 사람 ID로 등록해야 합니다. 이 차이를 모르고 팀 협업용으로 Discord 서버 채널을 열었다가, 서버 구성원 전체가 내 파일 시스템에 접근 가능한 상태가 됩니다.
⚠️ 잘못된 설정 패턴
// 위험 — room ID로 게이트하면 그룹 전체에 오픈
if (!allowed.has(message.chat.id)) return
✅ 공식 문서 권장 패턴
// 안전 — 발신자 개인 ID로 게이트
if (!allowed.has(message.from.id)) return
여기서 한 가지 더, 공식 문서가 콕 집어 말하는 추가 위험이 있습니다. “An ungated channel is a prompt injection vector.” 내 로컬 파일이나 웹에서 가져온 내용에 악의적인 명령이 심어져 있으면, 그것이 Claude 컨텍스트 안으로 들어와 의도치 않은 작업을 실행할 수 있습니다. Auto mode의 프롬프트 인젝션 프로브가 일부 방어하지만, 공식 엔지니어링 블로그의 수치로 보면 실제 위험 행동의 17%는 통과합니다. (출처: Anthropic Engineering Blog “Claude Code Auto mode”, 2026.03.25)
Permission Relay — ‘안전한 대안’이 아직 불완전한 이유
💡 공식 출시 문서에는 Permission Relay가 안전한 선택지로 나와 있지만, GitHub 이슈를 같이 보면 현재 리서치 프리뷰 단계에서 작동 오류가 보고된 상태입니다.
Channels에는 Permission Relay라는 기능이 있습니다. Claude가 파일을 수정하거나 커맨드를 실행할 때 로컬 터미널에 뜨는 승인 팝업을 스마트폰 채팅으로 포워딩해주는 기능입니다. 터미널 앞에 없어도 “yes <5자리ID>” 또는 “no <5자리ID>“로 원격 승인이 가능합니다.
공식 문서는 이것을 --dangerously-skip-permissions의 더 안전한 대안으로 소개합니다. (출처: Anthropic Channels 공식 문서, 2026.03.20) 그런데 GitHub 이슈 #40064를 보면 Permission Relay가 제대로 작동하지 않는 버그가 3월 28일 기준 오픈 상태입니다. “Using –dangerously-skip-permissions bypasses the issue entirely, but this removes all permission checks.”(출처: GitHub anthropics/claude-code issue #40064, 2026.03.28)
또한 GitHub 이슈 #36854에서 Channels 공식 문서가 Permission Relay를 명확히 설명하지 않아 “--dangerously-skip-permissions이 무인 세션의 유일한 방법처럼 오해받고 있다”는 지적이 있었습니다. 이 이슈는 3월 20일에 오픈됐습니다. (출처: GitHub anthropics/claude-code issue #36854, 2026.03.20)
📌 현재 실사용 기준 권장 순서
- Permission Relay 선택 → 작동하면 가장 안전
- 버그로 안 될 경우 → Auto mode로 대체 (FNR 17% 감수)
- 완전 무인 헤드리스 환경 →
--dangerously-skip-permissions(신뢰 환경만)
Remote Control과 Channels의 차이를 제대로 읽는 법
Anthropic이 이달에 내놓은 원격 접근 방법이 여럿이어서 헷갈리기 쉽습니다. Channels는 채팅 앱을 세션의 창구로 쓰는 것이고, Remote Control은 claude.ai 인터페이스와 모바일 앱을 창구로 쓰는 것입니다. 세션 자체는 둘 다 내 로컬 PC에서 돌아갑니다.
결정적 차이는 팀 협업과 커스터마이징입니다. Discord 서버 채널을 쓰면 팀원 여러 명이 같은 세션에 메시지를 보낼 수 있습니다. Remote Control은 사용자 한 명만 가능합니다. 반대로 Remote Control은 설정이 명령어 하나(claude remote-control)로 끝나고 rich UI를 그대로 씁니다.
Web Sessions(claude.ai/code)는 아예 다른 범주입니다. 내 로컬 파일에 접근하지 않고, Anthropic 클라우드 샌드박스에서 새 세션을 띄웁니다. 즉 Channels나 Remote Control과 달리, 로컬 MCP 서버나 파일 시스템 접근이 없습니다. (출처: Anthropic 공식 Channels 문서 “How channels compare” 테이블, 2026.03.20)
팀 플랜에서 Channels를 켜기 전에 확인할 것
💡 Pro·Max 개인 사용자와 Team·Enterprise 사용자의 기본값이 정반대입니다. 이걸 모르면 팀 환경에서 켰는데 아무것도 안 된다고 당황합니다.
Pro와 Max 개인 계정은 Channels가 기본 활성화돼 있습니다. 세션 시작 시 --channels 플래그를 붙이면 바로 사용할 수 있습니다.
반면 Team·Enterprise 계정은 기본 비활성화입니다. 관리자가 channelsEnabled: true를 managed settings에 설정하거나, claude.ai 어드민 콘솔에서 직접 켜야 합니다. 설정이 없는 상태에서 MCP 서버는 연결되고 도구는 작동하지만, 메시지는 들어오지 않습니다. 터미널에 “admin이 설정을 활성화해야 한다”는 startup warning이 출력됩니다. (출처: Anthropic 공식 Channels 문서 Enterprise Controls 섹션, 2026.03.20)
또 하나, 팀 플랜에서는 허용 플러그인 목록을 allowedChannelPlugins로 명시할 수 있습니다. 이 값을 설정하면 Anthropic 기본 allowlist가 완전히 교체됩니다. 빈 배열로 설정하면 모든 플러그인이 차단됩니다. Channels를 완전히 막고 싶으면 빈 배열이 아니라 channelsEnabled를 미설정 상태로 두는 게 맞습니다.
Q&A 5가지
마치며 — 편의와 보안을 함께 챙기려면
Claude Code Channels는 분명히 실용적인 기능입니다. 빌드를 걸어두고 밖에서 Telegram으로 결과를 받고, Discord에서 팀원과 같은 세션을 공유하고, iMessage로 내 Mac에 작업을 시키는 경험은 예전엔 없던 것입니다.
직접 공식 문서를 들여다보면서 느낀 건 두 가지입니다. 첫째, 그룹 채팅 보안은 “sender allowlist”라는 표현만으로는 충분히 설명이 안 됩니다. from.id와 chat.id의 차이를 모르면 의도치 않게 그룹 전체에 접근을 여는 설정이 됩니다. 둘째, Permission Relay는 좋은 아이디어지만 3월 말 현재 기준으로 버그 이슈가 열려 있습니다. 안전한 대안으로 써도 되는지는 조금 더 지켜봐야 합니다.
리서치 프리뷰라는 표현이 단순한 수식어가 아닙니다. 프로토콜 명세와 플래그 문법이 피드백에 따라 바뀔 수 있다고 공식 문서에 명시돼 있습니다. 지금 이 기능을 쓰는 게 잘못된 선택은 아니지만, 설정 한 번 해놓고 잊는 방식이 아니라 업데이트마다 확인하는 습관이 필요합니다.
📚 본 포스팅 참고 자료
- Anthropic 공식 Claude Code Channels 문서 — https://docs.anthropic.com/en/docs/claude-code/channels
- Anthropic 공식 Channels Reference 문서 — https://docs.anthropic.com/en/docs/claude-code/channels-reference
- Anthropic Engineering Blog “Claude Code Auto mode” — https://www.anthropic.com/engineering/claude-code-auto-mode
- GitHub anthropics/claude-code issue #40064 (Permission relay bug) — https://github.com/anthropics/claude-code/issues/40064
- GitHub anthropics/claude-code issue #36854 (Docs: permission relay missing) — https://github.com/anthropics/claude-code/issues/36854
본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있습니다. Claude Code Channels는 현재 리서치 프리뷰 단계로, --channels 플래그 문법 및 프로토콜 명세가 피드백에 따라 달라질 수 있습니다. 최신 정보는 Anthropic 공식 문서를 직접 확인하세요.











댓글 남기기