-
Claude Code의 Channels는 외부 시스템의 메시지나 웹훅을 실행 중인 세션으로 직접 전달해 Claude가 즉시 반응하도록 하는 기능
-
MCP 서버를 통해 이벤트를 주고받으며, 세션이 열려 있는 동안만 이벤트가 도착하므로 지속 실행 환경이 필요
-
Telegram과 Discord가 연구 프리뷰로 기본 지원되며, claude.ai 로그인이 필수이고 API 키 인증은 불가
- 각 채널은 Bun 기반 플러그인 형태로 제공되며, fakechat을 이용해 로컬 테스트 가능
- 이 기능은 외부 이벤트를 로컬 세션으로 직접 연결해 Slack, MCP, Remote Control 등 기존 기능의 공백을 메우는 역할
실행 중인 세션에 이벤트를 푸시하는 Channels 기능
-
Claude Code의 Channels는 외부 시스템에서 발생한 메시지, 알림, 웹훅 등을 실행 중인 세션으로 직접 전달해 Claude가 즉시 반응하도록 하는 기능
-
MCP 서버를 통해 이벤트를 전달하며, Claude는 이를 읽고 같은 채널을 통해 응답 가능
- 이벤트는 세션이 열려 있는 동안만 도착하므로, 지속적인 사용을 위해서는 백그라운드 프로세스나 지속 터미널에서 실행 필요
-
Telegram과 Discord가 연구 프리뷰 단계에서 기본 지원되며, claude.ai 로그인이 필수
-
Console이나 API 키 인증은 지원되지 않음, Team/Enterprise 조직은 관리자가 명시적으로 기능을 활성화해야 함
지원 채널
- 각 채널은 Bun 기반 플러그인으로 제공되며, fakechat을 통해 로컬에서 테스트 가능
- 지원 채널: Telegram, Discord
-
Telegram 설정 절차
-
BotFather에서 /newbot 명령으로 봇 생성 후 토큰 복사
- Claude Code에서 /plugin install telegram@claude-plugins-official 명령으로 플러그인 설치
-
/telegram:configure <token> 명령으로 토큰 설정
-
claude --channels plugin:telegram@claude-plugins-official 명령으로 채널 활성화
- Telegram에서 봇에게 메시지를 보내 페어링 코드를 받고 /telegram:access pair <code>로 연결
-
/telegram:access policy allowlist로 접근 허용 계정 제한
-
Discord 설정 절차
-
Discord Developer Portal에서 새 애플리케이션 생성 후 봇 토큰 복사
-
Message Content Intent 활성화
-
OAuth2 > URL Generator에서 bot 스코프와 메시지 관련 권한 부여 후 서버에 초대
-
/plugin install discord@claude-plugins-official로 플러그인 설치
-
/discord:configure <token>으로 토큰 설정
-
claude --channels plugin:discord@claude-plugins-official로 채널 실행
- 봇에게 DM을 보내 페어링 코드 수신 후 /discord:access pair <code>로 연결
-
/discord:access policy allowlist로 접근 제한
- 직접 플러그인이 없는 시스템을 위해 사용자 정의 채널을 개발할 수도 있음
빠른 시작
-
Fakechat은 인증이나 외부 설정 없이 로컬에서 실행 가능한 공식 데모 채널
- Claude Code와 Bun이 설치되어 있어야 하며, Team/Enterprise 사용자는 관리자가 채널 기능을 활성화해야 함
-
/plugin install fakechat@claude-plugins-official로 설치 후
claude --channels plugin:fakechat@claude-plugins-official로 실행
- 브라우저에서 http://localhost:8787 접속 후 메시지를 입력하면 Claude Code 세션으로 전달
- Claude의 응답은 브라우저 UI에 표시되며, 권한 요청이 발생하면 터미널에서 승인 필요
- 무인 실행 시 --dangerously-skip-permissions 옵션으로 권한 확인을 생략 가능 (신뢰 환경에서만 사용 권장)
보안
- 각 채널 플러그인은 송신자 허용 목록(allowlist) 을 유지하며, 등록된 ID만 메시지를 전송 가능
- Telegram과 Discord는 페어링 코드를 통해 허용 목록을 초기화
- 봇에게 메시지 전송
- 봇이 페어링 코드 응답
- Claude Code 세션에서 코드 승인
- 송신자 ID가 허용 목록에 추가
- 세션 실행 시 --channels로 활성화할 서버를 지정해야 하며, Team/Enterprise 플랜에서는 조직 설정(channelsEnabled)으로 사용 여부를 제어
엔터프라이즈 제어
-
channelsEnabled 설정으로 채널 기능을 관리
-
Pro/Max (개인 사용자): 기본적으로 사용 가능, 세션별 --channels로 활성화
-
Team/Enterprise: 기본 비활성화, 관리자가 명시적으로 활성화해야 함
-
조직에서 채널 활성화
-
claude.ai → Admin settings → Claude Code → Channels 경로에서 설정 가능
- 또는 관리 설정에서 channelsEnabled: true로 지정
- 활성화되면 사용자는 --channels 옵션으로 개별 세션에 채널 서버를 추가 가능
- 비활성 상태에서는 MCP 서버 연결은 유지되지만 채널 메시지는 전달되지 않음
연구 프리뷰
- Channels는 연구 프리뷰 기능으로, 점진적으로 배포 중
-
--channels 플래그 구문과 프로토콜은 피드백에 따라 변경될 수 있음
- 현재는 Anthropic이 관리하는 허용 목록의 플러그인만 사용 가능
- 비공식 플러그인을 지정하면 Claude Code는 정상 실행되지만 채널은 등록되지 않음
- 개발 중인 채널을 테스트하려면 --dangerously-load-development-channels 옵션 사용
- 문제나 피드백은 Claude Code GitHub 저장소에 제출 가능
Channels와 다른 기능 비교
기능
역할
적합한 용도
| Claude Code on the web |
GitHub에서 복제된 새 클라우드 샌드박스에서 작업 실행 |
비동기적, 독립적인 작업 위임 |
| Claude in Slack |
채널이나 스레드에서 @Claude 호출 시 웹 세션 생성 |
팀 대화 맥락에서 즉시 작업 시작 |
| MCP 서버 |
Claude가 필요 시 쿼리, 세션으로 이벤트 푸시 없음 |
시스템 데이터 조회나 읽기 전용 접근 |
| Remote Control |
claude.ai나 모바일 앱에서 로컬 세션 제어 |
원격에서 진행 중인 세션 조작 |
-
Channels는 위 기능들 사이의 공백을 메우며, 외부 이벤트를 로컬 세션으로 직접 전달
-
채팅 브리지: Telegram이나 Discord를 통해 Claude에게 질문하고, 응답은 같은 채팅에서 확인
-
웹훅 수신기: CI, 오류 추적기, 배포 파이프라인 등 외부 서비스의 웹훅을 Claude가 열린 세션에서 바로 수신
다음 단계
- 플러그인이 없는 시스템을 위해 직접 채널 개발
-
Remote Control을 활용해 이벤트 전달 대신 원격에서 세션 제어
-
Scheduled tasks로 주기적 폴링 기반 자동화 구성