| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- spring boot
- cleancode
- 엘라스틱서치
- 데이터베이스
- Spring
- 백준
- 개발
- 스프링
- 코딩테스트
- 코딩
- 알고리즘
- Elasticsearch
- kotlin
- 읽기쉬운코드
- 클린코드
- AI
- ES
- 자바
- API
- 프레임워크
- database
- 코드
- 애자일기법
- 그리디알고리즘
- framework
- 개발자
- JPA
- Baekjoon
- Java
- 그리디
- Today
- Total
튼튼발자 개발 성장기🏋️
Claude Code: 제대로 알고 쓰자(channels 편) 본문
채널을 통해 실행 중인 세션으로 이벤트 푸시하기
채널을 사용하면 MCP 서버에서 Claude Code 세션으로 메시지, 알림, 웹훅을 푸시할 수 있다. 사용자가 자리에 없을 때도 Claude가 반응할 수 있도록 CI 결과, 채팅 메시지, 모니터링 이벤트를 전달한다.
채널은 research 미리보기 상태이며 Claude Code v2.1.80 이상이 필요하다. claude.ai 로그인이 필요하며, 콘솔 및 API 키 인증은 지원되지 않는다. 팀 및 엔터프라이즈 조직은 명시적으로 활성화해야 한다.
채널은 MCP 서버로 실행 중인 Claude Code 세션으로 이벤트를 푸시하여 사용자가 터미널에 없을 때도 Claude가 반응할 수 있게 한다. 채널은 양방향일 수 있다. Claude는 이벤트를 읽고 동일한 채널을 통해 회신한다. 마치 채팅 브리지처럼 동작한다. 이벤트는 세션이 열린 동안에만 도착하므로 항상 켜진 설정을 위해서는 백그라운드 프로세스 또는 영구적인 터미널에서 Claude를 실행해야 한다.
채널은 플러그인으로 설치하고 자신의 인증 정보로 구성한다. research 미리보기에는 Telegram과 Discord가 포함된다.
Claude가 채널을 통해 회신할 때 터미널에서는 수신 메시지는 보이지만 회신 텍스트는 보이지 않는다. 터미널에는 도구 호출과 확인 메시지(예: "sent")가 표시되고 실제 회신은 다른 플랫폼에 나타난다.
이 페이지에서는 다음을 다룬다:
- 지원되는 채널: Telegram 및 Discord 설정
- fakechat 로컬호스트 데모를 사용하여 채널 설치 및 실행
- 누가 메시지를 푸시할 수 있는지: 발신자 허용 목록 및 페어링 방법
- 팀 및 엔터프라이즈에서 조직에 대해 채널 활성화
자신만의 채널을 구축하려면 Channels reference를 참조한다.
지원되는 채널
각 지원되는 채널은 Bun이 필요한 플러그인이다. 실제 플랫폼에 연결하기 전에 플러그인 흐름을 직접 시연해 본다면 fakechat 퀵스타트를 사용할 수 있다.
Telegram
전체 Telegram 플러그인 소스를 본다.
Telegram에서 BotFather를 열고 /newbot을 본다. 표시 이름과 bot으로 끝나는 고유한 사용자 이름을 지정한다. BotFather가 반환하는 토큰을 복사한다.
Claude Code에서 다음을 실행한다:
/plugin install telegram@claude-plugins-official
BotFather의 토큰으로 구성 명령을 실행한다:
/telegram:configure <token>
이렇게 하면 프로젝트의 .claude/channels/telegram/.env에 저장된다. Claude Code를 시작하기 전에 셸 환경에서 TELEGRAM_BOT_TOKEN을 설정할 수도 있다.
Claude Code를 종료하고 채널 플래그와 함께 재시작한다. 이렇게 하면 Telegram 플러그인이 시작되고 봇의 메시지를 폴링하기 시작한다:
claude --channels plugin:telegram@claude-plugins-official
Telegram을 열고 봇에게 아무 메시지나 본다. 봇은 페어링 코드로 회신한다.
봇이 응답하지 않는다면 이전 단계에서 Claude Code가 --channels와 함께 실행되고 있는지 확인한다. 채널이 활성 상태일 때만 봇이 응답할 수 있다.
Claude Code로 돌아가 다음을 실행한다:
/telegram:access pair <code>
그런 다음 자신의 계정만 메시지를 별로록 액세스를 잠근다:
/telegram:access policy allowlist
Discord
전체 Discord 플러그인 소스를 본다.
Discord Developer Portal로 가서 New Application을 클릭하고 이름을 지정한다. Bot 섹션에서 사용자 이름을 만들고 Reset Token을 클릭하여 토큰을 복사한다.
봇 설정에서 Privileged Gateway Intents로 스크롤하여 Message Content Intent를 활성화한다.
OAuth2 > URL Generator로 간다. bot 범위를 선택하고 다음 권한을 활성화한다:
- View Channels
- Send Messages
- Send Messages in Threads
- Read Message History
- Attach Files
- Add Reactions
생성된 URL을 열어 봇을 서버에 추가한다.
Claude Code에서 다음을 실행한다:
/plugin install discord@claude-plugins-official
복사한 봇 토큰으로 구성 명령을 실행한다:
/discord:configure <token>
이렇게 하면 프로젝트의 .claude/channels/discord/.env에 저장된다. Claude Code를 시작하기 전에 셸 환경에서 DISCORD_BOT_TOKEN을 설정할 수도 있다.
Claude Code를 종료하고 채널 플래그와 함께 재시작한다. 이렇게 하면 Discord 플러그인이 연결되어 봇이 메시지를 수신하고 회신할 수 있다:
claude --channels plugin:discord@claude-plugins-official
Discord에서 봇에게 DM을 본다. 봇은 페어링 코드로 회신한다.
봇이 응답하지 않는다면 이전 단계에서 Claude Code가 --channels와 함께 실행되고 있는지 확인한다. 채널이 활성 상태일 때만 봇이 응답할 수 있다.
Claude Code로 돌아가 다음을 실행한다:
/discord:access pair <code>
그런 다음 자신의 계정만 메시지를 별로록 액세스를 잠근다:
/discord:access policy allowlist
플러그인이 아직 없는 시스템을 위해 자신만의 채널을 구축할 수도 있다.
퀵스타트
Fakechat은 인증할 것도 없고 구성할 외부 서비스도 없는 공식적으로 지원되는 데모 채널로 localhost에서 채팅 UI를 실행한다.
Fakechat을 설치하고 활성화하면 브라우저에서 입력하면 Claude Code 세션으로 메시지가 도착한다. Claude가 회신하면 회신 내용이 브라우저에 다시 표시된다. Fakechat 인터페이스를 테스트한 후 Telegram이나 Discord를 시도해 본다.
Fakechat 데모를 시도하려면 다음이 필요하다:
- Claude Code가 claude.ai 계정으로 설치 및 인증되어 있어야 한다
- Bun이 설치되어 있어야 한다. 미리 빌드된 채널 플러그인은 Bun 스크립트이다.
bun --version으로 확인한다. 실패하면 Bun 설치를 진행한다. - 팀/엔터프라이즈 사용자: 조직 관리자가 관리 설정에서 채널을 활성화해야 한다
Claude Code 세션을 시작하고 설치 명령을 실행한다:
/plugin install fakechat@claude-plugins-official
Fakechat은 대부분의 설정에서 자동으로 추가되는 claude-plugins-official 마켓플레이스에 있다. 마켓플레이스가 없다면 먼저 /plugin marketplace add anthropics/claude-plugins-official를 실행한다.
Claude Code를 종료한 후 --channels와 함께 설치한 fakechat 플러그인을 전달하여 재시작한다:
claude --channels plugin:fakechat@claude-plugins-official
Fakechat 서버가 자동으로 시작된다.
--channels에 여러 플러그인을 공백으로 구분하여 전달할 수 있다.
http://localhost:8787에서 fakechat UI를 열고 메시지를 입력한다:
hey, what's in my working directory?
메시지는 <channel source="fakechat"> 이벤트로 Claude Code 세션에 도착한다. Claude는 이를 읽고 작업을 수행한 후 fakechat의 reply 도구를 호출한다. 답변이 채팅 UI에 표시된다.
사용자가 터미널에서 자리를 비운 동안 Claude가 권한 프롬프트를 만나면 세션이 일시 중지되고 로컬에서 승인할 때까지 기다린다. 무인 사용을 위해 --dangerously-skip-permissions가 프롬프트를 우회하지만 신뢰할 수 있는 환경에서만 사용해야 한다.
보안
모든 승인된 채널 플러그인은 발신자 허용 목록을 유지한다. 추가한 ID만 메시지를 푸시할 수 있고 다른 모든 사용자는 조용히 삭제된다.
Telegram과 Discord는 페어링을 통해 목록을 부트스트랩한다:
- Telegram 또는 Discord에서 봇을 찾아 아무 메시지나 본다
- 봇은 페어링 코드로 회신한다
- Claude Code 세션에서 프롬프트가 표시되면 코드를 승인한다
- 발신자 ID가 허용 목록에 추가된다
그 위에 --channels로 각 세션마다 어떤 서버가 활성화되어 있는지 제어할 수 있으며, 팀 및 엔터프라이즈 플랜에서는 조직이 channelsEnabled로 가용성을 제어한다.
.mcp.json에 있어도 메시지를 푸시하기에는 충분하지 않다. 서버는 --channels에도 이름이 지정되어야 한다.
엔터프라이즈 제어
채널은 관리 설정의 channelsEnabled 설정에 의해 제어된다.
| 플랜 유형 | 기본 동작 |
|---|---|
| Pro / Max, 조직 없음 | 채널 사용 가능. 사용자는 --channels로 세션마다 옵트인한다 |
| 팀 / 엔터프라이즈 | 관리자가 명시적으로 활성화하기 전까지 채널 비활성화 |
조직에 대해 채널 활성화
관리자는 claude.ai → Admin settings → Claude Code → Channels에서 채널을 활성화하거나, 관리 설정에서 channelsEnabled를 true로 설정할 수 있다.
활성화되면 조직의 사용자는 --channels를 사용하여 개별 세션에 채널 서버를 옵트인할 수 있다. 설정이 비활성화되거나 설정되지 않은 경우 MCP 서버는 여전히 연결되고 도구가 작동하지만 채널 메시지는 도착하지 않는다. 시작 시 경고가 표시되어 사용자에게 설정을 활성화하도록 관리자에게 요청하라고 알린다.
research 미리보기
채널은 research 미리보기 기능이다. 가용성은 점진적으로 출시되며 --channels 플래그 구문과 프로토콜 계약은 피드백에 따라 변경될 수 있다.
미리보기 기간 동안 --channels는 Anthropic에서 관리하는 허용 목록의 플러그인만 수락한다. claude-plugins-official의 채널 플러그인이 승인된 세트이다. 허용 목록에 없는 것을 전달하면 Claude Code는 정상적으로 시작되지만 채널이 등록되지 않으며 시작 알림에 그 이유가 설명된다.
구축 중인 채널을 테스트하려면 --dangerously-load-development-channels를 사용한다. 구축하는 커스텀 채널에 대한 테스트 정보는 Test during the research preview를 참조한다.
문제나 피드백을 Claude Code GitHub 저장소에 보고한다.
'AI > Claude Code' 카테고리의 다른 글
| Claude Code: 제대로 알고 쓰자(Computer use tool편) (0) | 2026.03.25 |
|---|---|
| Claude Code: 제대로 알고 쓰자(remote control편) (0) | 2026.02.27 |
| Claude Code: 제대로 알고 쓰자(mcp편) (0) | 2026.02.10 |
| Claude Code: 제대로 알고 쓰자(hooks편) (0) | 2026.02.10 |
| Claude Code: 제대로 알고 쓰자(agent team편) (0) | 2026.02.09 |
