Claude Code Channels 공개 - Telegram/Discord로 작업 지시 가능
(code.claude.com)- MCP 서버를 통해 외부 메시지·알림·웹훅을 실행 중인 세션에 푸시 가능
- 핵심은 스마트폰에서 Telegram이나 Discord로 Claude Code에 직접 메시지를 보내 작업을 지시하고 결과를 받아볼 수 있다는 것
- 양방향 통신을 지원하여 Claude가 이벤트를 읽고 같은 채널로 응답을 전송하는 채팅 브릿지 형태로 동작
- 세션이 열려 있는 동안만 이벤트가 도착하므로, 상시 운용 시 백그라운드 프로세스나 영구 터미널에서 Claude를 실행해야 함
- Team/Enterprise 플랜은 기본 비활성 상태이며, 관리자가 managed settings에서 명시적으로 활성화 필요
채널 개요
- 채널은 Claude Code 세션에 외부 이벤트를 푸시하는 MCP 서버로, 터미널 앞에 없는 동안에도 CI 결과, 채팅 메시지, 모니터링 이벤트 등에 Claude가 반응 가능
- 실질적인 사용 시나리오: 컴퓨터 앞을 떠나 있어도 휴대폰의 Telegram이나 Discord 앱에서 Claude Code에 직접 명령을 보내고, Claude가 작업을 수행한 뒤 결과를 같은 채팅으로 돌려받는 구조
- 리서치 프리뷰 상태이며, claude.ai 로그인이 필요하고 Console 및 API 키 인증은 미지원
- 이벤트는 세션이 열려 있는 동안만 도착하므로, 상시 운용을 위해서는 백그라운드 프로세스나 영구 터미널에서 실행 필요
지원 채널
- 현재 Telegram과 Discord 두 가지 플러그인을 공식 지원하며, 모든 채널 플러그인은 Bun 런타임 필요
- 설치 흐름은 공통:
/plugin install <name>@claude-plugins-official→/<name>:configure명령으로 인증 정보 설정 →claude --channels plugin:<name>@claude-plugins-official로 재시작 - Telegram은 BotFather에서 발급한 봇 토큰이 필요하고,
/telegram:configure <token>후 페어링 진행- Telegram 설정 가이드: README
- Discord는 Developer Portal에서 Message Content Intent가 활성화된 봇을 만들고,
/discord:configure <token>후 페어링 진행- Discord 설정 가이드: README
- 플러그인이 없는 시스템을 위해 커스텀 채널 직접 빌드도 가능
Quickstart - fakechat 데모
- fakechat은 공식 지원 데모 채널로, localhost에서 채팅 UI를 실행하며 인증이나 외부 서비스 설정 불필요
- 사전 요건: Claude Code가 claude.ai 계정으로 설치·인증된 상태, Bun 설치 완료, Team/Enterprise 사용자는 관리자가 채널 활성화 필요
- 설치 단계:
-
/plugin install fakechat@claude-plugins-official로 플러그인 설치 - Claude Code 종료 후
claude --channels plugin:fakechat@claude-plugins-official로 재시작 -
http://localhost:8787에서 fakechat UI를 열고 메시지 입력
-
- 메시지는
<channel source="fakechat">이벤트로 Claude Code 세션에 도착하고, Claude가 작업 수행 후 reply 도구를 호출해 답변을 채팅 UI에 표시 - 터미널 부재 시 권한 프롬프트가 뜨면 세션이 일시 중지되며, 무인 운용 시
--dangerously-skip-permissions플래그로 우회 가능하나 신뢰할 수 있는 환경에서만 사용 권장 -
--channels에 여러 플러그인을 공백으로 구분하여 동시에 전달 가능
보안
- 모든 승인된 채널 플러그인은 발신자 허용 목록(sender allowlist) 을 유지하며, 등록되지 않은 발신자의 메시지는 자동으로 무시
- Telegram과 Discord는 페어링 방식으로 허용 목록을 구성: 봇에 DM을 보내면 코드가 응답으로 오고, Claude Code 세션에서 해당 코드를 승인하면 ID가 추가
-
.mcp.json에 등록된 것만으로는 메시지 푸시 불가능하며, 반드시--channels플래그에도 명시되어야 함 - 세션별로
--channels로 활성화할 서버를 직접 제어하고, Team/Enterprise 플랜에서는 조직 차원의 channelsEnabled 설정으로 가용성 관리
Enterprise 제어
- 채널 기능은 managed settings의
channelsEnabled설정으로 제어 - Pro/Max(조직 미소속) 플랜은 채널 기본 사용 가능하며, 사용자가 세션별로
--channels로 옵트인 - Team/Enterprise 플랜은 관리자가 명시적으로 활성화하기 전까지 채널 비활성 상태
- 관리자는 claude.ai → Admin settings → Claude Code → Channels에서 활성화하거나, managed settings에서
channelsEnabled를true로 설정 - 비활성 상태에서도 MCP 서버 연결과 도구 사용은 가능하지만 채널 메시지는 도착하지 않으며, 시작 시 경고가 표시
리서치 프리뷰
- 현재 리서치 프리뷰 단계로 점진적 롤아웃 중이며,
--channels플래그 문법과 프로토콜 계약이 피드백에 따라 변경될 수 있음 - 프리뷰 기간 동안
--channels는 Anthropic이 관리하는 허용 목록에 있는 플러그인만 수용 - 허용 목록에 없는 플러그인 전달 시 Claude Code는 정상 시작되나 채널은 등록되지 않고, 시작 알림에 이유가 표시
- 직접 빌드한 채널 테스트 시
--dangerously-load-development-channels플래그 사용 - 이슈나 피드백은 Claude Code GitHub 리포지토리에서 보고 가능
다음 단계
- 플러그인이 없는 시스템을 위한 커스텀 채널 빌드 가이드 제공
- 이벤트 포워딩 대신 로컬 세션을 모바일에서 제어하는 Remote Control 기능
- 푸시 이벤트 대신 타이머 기반 폴링을 수행하는 Scheduled Tasks 기능
Hacker News 의견들
-
Telegram 통합이 Slack이나 Teams보다 먼저 나온 게 의외였음
알고 보니 Telegram은 월간 활성 사용자 10억 명으로, Slack(5천만)이나 Teams(3억)보다 훨씬 큼
예전에 Snapchat이 Twitter보다 사용자 수가 2배 많다는 걸 알았을 때처럼 놀라웠음- Teams의 3억 명 중 단 한 명도 거기서 더 시간을 보내고 싶지 않을 것 같음
반면 Telegram은 쓸모 있고 덜 피곤한 도구로 여겨짐 - Telegram의 bot API는 지금까지 써본 어떤 API보다도 친절함
서버에서 모바일로 알림을 보낼 때 가장 먼저 떠올리는 선택지임
ntfy.sh처럼 간단하지만 iOS에서 매주 깨지지 않음 - Telegram 통합이 쉬워서 그런 것 같음
실제 메시징용으로는 안 쓰지만, 봇 배포용 플랫폼으로는 완벽함
몇 줄만으로 버튼처럼 작동하는 명령, 이미지 입출력 등 다양한 기능을 구현할 수 있음 - 챗봇 만드는 법을 5분만 검색해보면 Telegram이 사실상 유일한 옵션임을 알게 됨
iMessage는 폐쇄적이고, WhatsApp은 유료이며, Discord나 Slack은 너무 무거움
Telegram은 봇을 1급 시민처럼 다루는 구조라서 정말 쉽게 쓸 수 있음 - 수천 명의 직원과 최고 수준의 모델을 가진 대기업이, 1인 오픈소스 프로젝트인 Pi Coding Agent보다 뒤처지는 게 놀라움
Pi에는 이미 700개 이상의 서드파티 패키지가 있고, 새로운 확장도 프롬프트 한 줄로 생성 가능함
- Teams의 3억 명 중 단 한 명도 거기서 더 시간을 보내고 싶지 않을 것 같음
-
이번 변화는 claws 프로젝트에 좋은 소식임
예전에는 Anthropic의 약관 변경으로 OAuth 토큰을 쓰면 위반이었고, API 키를 쓰면 비용이 컸음
이제는 MCP를 통해 공식적으로 다양한 채널 연결이 가능해짐
구조적으로는 기존 claws와 반대로, Claude Code가 MCP 서버를 직접 구동해 제어권이 완전히 뒤바뀐 형태임
nanoclaw 포크를 Docker 컨테이너에서 PID 1로 실행하도록 수정했는데, 로그를 Claude Code stdout에서 바로 읽을 수 있어 꽤 흥미로움 -
Claude는 로컬 세션 중심 구조로 가는 중임
지금은 사용자의 개인 인증 정보를 활용해 통합을 구축할 수 있고, 나중에는 자체 생태계로 이전할 수도 있을 것 같음- 이런 접근은 엔터프라이즈 보안 요구에 부합함
이미 내부 네트워크가 잠겨 있으니, 추가적인 외부 API 보안 계층이 필요 없음 - iOS용 Claude가 개인 Git 리포지토리에서 Markdown과 draw.io 다이어그램을 pull/commit할 수 있으면 좋겠음
- Amazon의 MCP도 비슷하게 OAuth 토큰 기반 접근권한을 설정했음
다만 사용자별 권한을 따로 관리해야 하는 게 번거로움
- 이런 접근은 엔터프라이즈 보안 요구에 부합함
-
요즘 Claude Code 관련 기능들이 너무 급하게 출시된 느낌이라 혼란스러움
Anthropic이라는 회사는 별로지만, Claude 모델 자체는 정말 뛰어나고 인간적인 느낌임
다른 회사들이 이 수준을 따라올 수 있을지 궁금함
지금은 폐쇄된 생태계를 쓸 수밖에 없지만, 본질적인 모델 개선에 집중하길 바람- 동의함, Claude는 좋지만 Anthropic은 별로인 회사라고 생각함
-
‘채널’ 기능은 내가 회사에서 nanoclaw를 돌리며 하던 일과 거의 같음
이벤트 기반으로 Claude Code를 트리거하고, 피드백과 분석을 받는 루프 자동화 구조임
왜 MCP가 필요한지는 모르겠지만 바로 시도해볼 예정임 -
지금의 한계는 여전히 터미널 의존성임
Claude Code를 백그라운드 데몬으로 돌릴 수 있으면 좋겠음- Ctrl-Z 후 bg 명령으로 백그라운드 전환하거나 tmux로 세션 유지 가능함
- 이미 클라우드 환경도 있지만, 안정성이 매우 낮음
- tmux 세션에서 시작해 계속 돌려두면 됨
- 나는 opencode의 server 명령을 systemd 유닛으로 등록해 홈서버에서 돌림
데스크톱·모바일 클라이언트로 연결해 openclaw 스타일의 작업을 수행함
CC의 “remote control” 기능도 비슷하지만 현재는 Mac 전용임
-
Claude가 빠르게 따라잡았음
OpenClaw의 핵심은 채널, 하트비트, 오픈소스 생태계임- 이제 거의 ClaudeClaw 수준에 근접함
다음 단계는 지속 실행형 클라우드 호스팅일 듯함 - OpenClaw의 진짜 성과는 ‘먼저 시작했다’는 점뿐임
코드 자체는 과도한 설계와 버그 투성이라 유지보수가 어려움 - 개별 기능을 흉내 내기보다 OpenClaw처럼 통합된 구조를 만들었으면 함
- 하트비트는 비용이 커서 플랜 소진이 빠름
- 사실 Claude Code나 Codex에서 /loop 명령으로 하트비트를 구현할 수 있음
- 이제 거의 ClaudeClaw 수준에 근접함
-
channels 기능을 이용해 HTTP API로 Claude Code를 감싸는 agent-http를 만들었음
이제 터미널 스크래핑 없이 동일한 API로 headless 방식 접근이 가능함
예전에는 Agents SDK와 API 토큰이 필요했지만, 지금은 구독만으로 충분함- 코드 링크: https://github.com/mberg/agent-http/
- 링크 공유 요청이 있었음
-
Anthropic이 매주 새로운 제품을 실험적으로 출시하는 느낌임
대부분은 1년 내에 사라질 가능성이 높음- 그래도 여러 아이디어를 테스트하는 실험 단계로 보임
-
원격 기능이 추가된 소프트웨어는 결국 백도어 악용 위험이 생김
따라서 기업 보안 솔루션은 합법적인 Claude Code 인스턴스와 악성 인스턴스를 구분할 수 있어야 함
그런데 한 세션에서만 채팅이 오래도록 유지된다면 context rot, lost-in-the-middle 같은 문제가 따라 올텐데.. 사용자가 주기적으로 /clean 해줘야 하는걸까요? 아니면 메모리 기능 달아두고 세션을 자동으로 갈아끼워 주려나..?