Claude Code Channels, 3가지 공식 문서로 확인했습니다

Published on

in

Claude Code Channels, 3가지 공식 문서로 확인했습니다

2026.03.20 리서치 프리뷰 출시
Claude Code v2.1.80+ 기준

Claude Code Channels, 3가지 공식 문서로 확인했습니다

카페에서 폰으로 “아까 그 버그 고쳐봐”라고 텔레그램 메시지를 보내면, 집에 있는 내 맥북의 Claude Code가 실제 파일을 열어 수정하고 결과를 텔레그램으로 돌려줍니다. 2026년 3월 20일 Anthropic이 Claude Code에 추가한 Channels 기능의 실체입니다. 단, 대부분의 소개 글이 말하지 않는 조건이 하나 있습니다.

3가지
지원 채널 (텔레그램·디스코드·iMessage)
Push
기존 MCP Pull과 정반대 방향
세션 중
열려 있을 때만 이벤트 수신

Channels가 기존 MCP와 다른 이유

Claude Code에는 이미 MCP 서버를 연결하는 방법이 있습니다. 그런데 Channels는 왜 따로 나왔을까요. 공식 레퍼런스 문서에 답이 있습니다. 기존 MCP 서버는 Claude가 작업 중에 필요할 때 끌어다 쓰는(Pull) 도구입니다. Claude가 “이 도구 써야겠다”고 판단하는 순간에만 동작합니다.

Channels는 방향이 정반대입니다. 외부에서 이미 실행 중인 Claude Code 세션으로 이벤트를 밀어 넣는(Push) 구조입니다. (출처: Claude Code Channels Reference — Anthropic) 텔레그램 메시지가 도착하면 MCP 플러그인이 Claude 세션에 <channel source="telegram"> 형태로 전달하고, Claude는 기존에 열어두던 파일과 디버깅 컨텍스트를 그대로 유지한 채 반응합니다.

💡 공식 문서와 실제 동작 흐름을 같이 놓고 보니 이런 차이가 보였습니다. 표준 MCP 서버는 Claude가 호출해야 실행됩니다. Channels는 Claude가 가만히 있어도 외부에서 일감이 날아옵니다. 에이전트 AI가 “항상 깨어 있는 상태”처럼 보이는 이유가 여기 있습니다. 단, 정확히 말하면 세션이 켜져 있어야 한다는 조건이 붙습니다.

채팅 플랫폼 채널(텔레그램·디스코드)은 플러그인이 로컬에서 Bot API를 폴링하는 방식입니다. 웹훅 채널(CI, 모니터링 도구)은 로컬호스트 HTTP 포트를 열어 외부 POST를 수신합니다. 두 경우 모두 내 머신의 공개 포트를 열지 않아도 됩니다. (출처: Claude Code Channels — Anthropic Docs)

▲ 목차로 돌아가기

세션이 꺼지면 메시지는 사라진다

Channels를 소개하는 글들이 공통적으로 빠뜨리는 부분이 있습니다. 공식 문서에는 이렇게 쓰여 있습니다. “Events only arrive while the session is open.” (출처: Anthropic Channels Docs, 2026.03.20) 세션이 닫혀 있는 동안 누군가 텔레그램으로 메시지를 보냈다면, 그 메시지는 Claude에게 전달되지 않습니다.

텔레그램 Bot API는 메시지 이력을 보관하지 않습니다. 세션이 꺼진 시간에 보낸 메시지는 영구적으로 유실됩니다. MacStories가 실사용 테스트에서 확인한 사실입니다. (출처: MacStories 실사용 리뷰, 2026.03.20) 이걸 해결하려면 Claude Code를 백그라운드 프로세스나 영구 터미널에서 상시 실행해야 합니다. 결국 내 머신이 항상 켜져 있어야 한다는 뜻입니다.

🔎 공식 발표만 보면 “원격에서 AI가 알아서 다 한다”는 인상을 주는데, 실제로는 로컬 머신이 항상 켜져 있어야 한다는 조건이 붙습니다. 노트북 하나로 개발하는 1인 개발자라면, 노트북 덮는 순간 Channels는 멈춥니다.

서버리스 환경이나 클라우드 IDE 사용자에게도 마찬가지입니다. Channels는 Claude Code가 로컬 파일에 접근할 수 있는 상시 실행 환경을 전제합니다. 이 점이 현재 리서치 프리뷰 단계에서의 가장 현실적인 제약입니다.

▲ 목차로 돌아가기

텔레그램·디스코드 연결, 공식 순서대로

먼저 필수 조건을 확인합니다. Claude Code v2.1.80 이상, claude.ai 로그인(API 키 불가), Bun 런타임 설치가 필요합니다. API 키로 Claude Code를 쓰는 경우 Channels를 사용할 수 없습니다. (출처: Anthropic Channels Docs)

텔레그램 연결 순서:

  1. 텔레그램에서 BotFather에게 /newbot → 이름과 @username 설정 → 토큰 복사
  2. Claude Code에서 /plugin marketplace add anthropics/claude-plugins-official 실행
  3. /plugin install telegram@claude-plugins-official/telegram:configure <BOT_TOKEN>
  4. claude --channels plugin:telegram@claude-plugins-official로 세션 시작
  5. 텔레그램에서 봇에게 아무 메시지 → 페어링 코드 수신 → Claude Code에서 승인

디스코드 연결 시 추가로 필요한 설정:

Discord Developer Portal에서 앱 생성 → Bot 탭에서 Message Content Intent 활성화(이걸 빠뜨리면 봇이 메시지 내용을 읽지 못합니다) → OAuth2에서 bot 스코프와 필요 권한 선택. 텔레그램보다 단계가 많아 약 10분 소요됩니다.

채널 설정 시간 파일 첨부 상시 필요 조건
텔레그램 약 5분 이미지·파일 지원 (50MB 제한) Bot API 폴링, 로컬 세션
디스코드 약 10분 이미지·파일 지원 Message Content Intent 필수
iMessage macOS 전용 제한적 Messages DB 접근, AppleScript

※ 출처: Anthropic 공식 Channels 문서 기준 (2026.03.20)

▲ 목차로 돌아가기

보안 모델과 권한 릴레이의 함정

외부에서 로컬 AI 세션으로 이벤트를 밀어 넣는다는 구조는, 설계 방식에 따라 보안 위험이 됩니다. Anthropic은 이를 막기 위해 발신자 허용 목록(allowlist) 기반 페어링을 채택했습니다. 봇에게 메시지를 보내면 페어링 코드가 발급되고, Claude Code에서 이 코드를 승인해야만 허용 목록에 등록됩니다. 허용 목록에 없는 발신자의 메시지는 조용히 무시됩니다. (출처: Anthropic Channels Docs)

한 가지 주의해야 할 점은 권한 릴레이(permission relay)입니다. 이 기능을 활성화하면 텔레그램으로 “이 파일 수정해도 돼?”라는 권한 요청을 받고 승인·거부할 수 있습니다. 그런데 공식 문서에는 이런 문장이 있습니다. “anyone who can reply through the channel can approve or deny tool use in your session.” (출처: Channels Reference — Anthropic, 2026)

⚠️ 허용 목록 관리가 부실하면 타인이 내 로컬 환경에서 도구 실행 권한을 원격으로 행사할 수 있습니다.

그룹 채팅에서는 특히 주의가 필요합니다. 공식 레퍼런스는 message.from.id(발신자 ID)로 게이트해야 한다고 명시합니다. 채팅방 ID로 게이트하면 허용 목록에 없는 사람이 같은 그룹에만 있어도 명령을 삽입할 수 있습니다.

Team/Enterprise 플랜에서는 관리자가 channelsEnabled 설정으로 Channels 기능 자체를 제어합니다. 기본값은 비활성화입니다. 관리자가 명시적으로 켜야만 팀원이 사용할 수 있습니다. Pro·Max 개인 사용자는 기본 활성화 상태에서 세션별로 --channels 플래그로 opt-in하는 구조입니다.

▲ 목차로 돌아가기

원격 작업이 막히는 조건

MacStories가 출시 당일 밤 iPhone 텔레그램만으로 Xcode 빌드·배포, 포드캐스트 음성 변환, CLI 툴 실행을 모두 완료한 실사용 테스트를 진행했습니다. (출처: MacStories Hands-On Review, 2026.03.20) 이 테스트에서 공통적으로 사용한 것이 --dangerously-skip-permissions 플래그입니다.

💡 공식 발표 자료와 실사용 후기를 같이 놓고 보면 이게 보입니다. 이 플래그 없이 원격으로 작업하면, 파일 수정·명령 실행마다 터미널에서 직접 승인해야 합니다. 결국 원격 자동화를 원한다면 모든 권한 체크를 건너뛰는 옵션을 써야 하는데, 이건 “내 로컬 환경을 완전히 신뢰하는 샌드박스”에서만 안전합니다.

권한 릴레이(permission relay)가 이 문제를 해결하는 방법이긴 합니다. 텔레그램으로 “yes [코드]” / “no [코드]” 형식으로 답하면 터미널 없이 권한 요청에 응답할 수 있습니다. 단, 이걸 구현하려면 커스텀 채널을 직접 빌드하거나, 공식 플러그인이 지원하는 방식으로 설정해야 합니다. 현재 리서치 프리뷰에서 권한 릴레이는 공식 문서에 등록된 경우에만 작동합니다.

정리하면 이렇습니다. 원격 완전 자동화를 원한다면 --dangerously-skip-permissions이 필요하고, 보안을 챙기면서 원격 제어를 하려면 권한 릴레이 설정이 추가로 필요합니다. 두 가지를 동시에 편하게 쓸 수 있는 방법은 현재 공식적으로 없습니다.

▲ 목차로 돌아가기

Remote Control과 뭐가 다른가

Anthropic에는 이미 모바일에서 Claude Code 세션을 조종하는 Remote Control 기능이 있습니다. Channels와 헷갈리기 쉽지만 역할이 다릅니다. 공식 비교표를 직접 정리했습니다.

기능 방향 적합한 상황
Remote Control 내가 → Claude 조종 외출 중 claude.ai·모바일 앱으로 진행 중인 작업 지시
Channels 외부 이벤트 → Claude로 Push CI 실패·에러 알림·텔레그램 메시지가 Claude에게 자동 전달
Slack 연동 @Claude 멘션 → 웹 세션 생성 팀 대화 맥락에서 새 작업을 바로 시작
웹 세션 GitHub 클론 → 클라우드 샌드박스 독립적인 비동기 작업 위임

※ 출처: Anthropic Channels 공식 문서 비교표 기반 재구성 (2026.03.20)

Channels가 채우는 빈자리는 명확합니다. “내가 요청하지 않아도 외부 이벤트가 Claude에게 자동으로 닿는” 시나리오입니다. CI가 실패하면 Claude가 이미 열어두던 코드 파일과 함께 원인을 찾고, 에러 트래커에 새 이슈가 올라오면 관련 함수를 먼저 조회하는 식의 워크플로우입니다. Remote Control이 “내가 Claude를 찾아가는” 구조라면, Channels는 “일거리가 Claude를 찾아오는” 구조입니다.

▲ 목차로 돌아가기

Q&A

Q1. Claude Code Channels를 쓰려면 요금제가 뭐여야 하나요?

Pro·Max 개인 사용자는 세션별로 --channels 플래그를 쓰면 바로 사용할 수 있습니다. Team·Enterprise는 관리자가 channelsEnabled를 먼저 활성화해야 합니다. 무료 플랜에서는 공식 문서상 지원 여부가 별도로 언급되지 않았습니다. claude.ai 로그인이 필수이므로 API 키 전용 사용자는 사용 불가합니다. (출처: Anthropic Channels Docs, 2026.03.20)

Q2. 세션이 꺼진 동안 텔레그램으로 온 메시지는 어떻게 되나요?

유실됩니다. 텔레그램 Bot API는 메시지 이력을 저장하지 않아서, 세션이 다시 켜져도 이전 메시지를 받아올 수 없습니다. 상시 응답이 필요하다면 Claude Code를 백그라운드 프로세스나 영구 터미널에서 항상 실행해야 합니다. (출처: MacStories 실사용 리뷰 + Anthropic 공식 문서)

Q3. 커스텀 채널(Slack, GitHub Actions 등)도 만들 수 있나요?

직접 빌드할 수 있습니다. @modelcontextprotocol/sdk 패키지와 Node.js 호환 런타임(Bun·Node·Deno)이 필요합니다. 리서치 프리뷰 기간 중에는 --dangerously-load-development-channels 플래그로 테스트하고, Anthropic 공식 마켓플레이스에 제출해 승인받으면 배포할 수 있습니다. (출처: Anthropic Channels Reference, 2026)

Q4. 원격에서 권한 요청(파일 수정 승인)도 처리할 수 있나요?

권한 릴레이 기능을 쓰면 가능합니다. 채널이 claude/channel/permission 기능을 선언하면 권한 요청이 텔레그램 등으로 전달되고, “yes [코드]” / “no [코드]” 형식으로 응답하면 됩니다. 단, 허용 목록에 있는 사람이 원격으로 도구 실행 권한을 행사할 수 있으므로 허용 목록 관리에 각별히 주의해야 합니다. (출처: Anthropic Channels Reference)

Q5. iMessage는 어떤 환경에서 되나요?

macOS 전용입니다. Messages 데이터베이스를 직접 읽고 AppleScript로 답장을 보내는 방식이라, 봇 토큰이나 외부 서비스 없이 동작합니다. 단, macOS 환경에서만 사용 가능하고, 다른 연락처를 추가하려면 /imessage:access allow 명령으로 허용해야 합니다. (출처: Anthropic 공식 Channels Docs, 2026.03.20)

▲ 목차로 돌아가기

마치며 — 총평

솔직히 말하면, Channels는 아직 편하게 쓸 수 있는 기능이 아닙니다. 세션이 항상 켜져 있어야 한다는 조건, 완전 자동화와 보안 사이에서 하나를 포기해야 하는 현실적인 제약이 있습니다. 리서치 프리뷰라는 딱지가 이유 없이 붙은 게 아닙니다.

그럼에도 이 기능이 가리키는 방향은 분명합니다. AI 코딩 도구가 “내가 켜야 움직이는 도구”에서 “개발 워크플로우에 상시 연결된 에이전트”로 바뀌는 과정의 첫 단추입니다. CI 실패가 Claude에게 자동으로 전달되고, Claude가 이미 열어두던 컨텍스트로 즉시 반응하는 워크플로우는 에디터 내장형 AI가 제공하지 않는 영역입니다.

지금 당장 쓰기엔 설정이 까다롭고 제약이 있지만, 이 방향이 성숙하면 개발자가 터미널 앞에 앉아 있는 시간 자체가 달라질 수 있습니다. 그 변화의 출발점을 공식 문서로 직접 확인한 내용을 정리했습니다.

▲ 목차로 돌아가기

📚 본 포스팅 참고 자료

  1. Claude Code Channels 공식 문서 — code.claude.com/docs/en/channels
  2. Claude Code Channels Reference 공식 문서 — code.claude.com/docs/en/channels-reference
  3. Claude Code 권한 모드 공식 문서 — code.claude.com/docs/ko/permission-modes
  4. MacStories Hands-On Review (Telegram & Discord, 2026.03.20) — macstories.net
  5. Claude Code Just Got Channels. Is It Enough? (Medium/GitConnected, 2026.03) — medium.com

본 포스팅은 2026년 3월 28일 기준 Claude Code v2.1.86 및 공식 문서를 참고해 작성했습니다. 본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있습니다. Channels는 현재 리서치 프리뷰 단계로, --channels 플래그 문법과 프로토콜은 정식 출시 전 변경될 수 있습니다.

댓글 남기기


최신 글


아이테크 어른경제에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기