1P by GN⁺ 10시간전 | ★ favorite | 댓글 1개
  • Claude Code의 Channels는 외부 시스템의 메시지나 웹훅을 실행 중인 세션으로 직접 전달해 Claude가 즉시 반응하도록 하는 기능
  • MCP 서버를 통해 이벤트를 주고받으며, 세션이 열려 있는 동안만 이벤트가 도착하므로 지속 실행 환경이 필요
  • TelegramDiscord가 연구 프리뷰로 기본 지원되며, claude.ai 로그인이 필수이고 API 키 인증은 불가
  • 각 채널은 Bun 기반 플러그인 형태로 제공되며, fakechat을 이용해 로컬 테스트 가능
  • 이 기능은 외부 이벤트를 로컬 세션으로 직접 연결해 Slack, MCP, Remote Control 등 기존 기능의 공백을 메우는 역할

실행 중인 세션에 이벤트를 푸시하는 Channels 기능

  • Claude Code의 Channels는 외부 시스템에서 발생한 메시지, 알림, 웹훅 등을 실행 중인 세션으로 직접 전달해 Claude가 즉시 반응하도록 하는 기능
  • MCP 서버를 통해 이벤트를 전달하며, Claude는 이를 읽고 같은 채널을 통해 응답 가능
  • 이벤트는 세션이 열려 있는 동안만 도착하므로, 지속적인 사용을 위해서는 백그라운드 프로세스나 지속 터미널에서 실행 필요
  • TelegramDiscord가 연구 프리뷰 단계에서 기본 지원되며, 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는 페어링 코드를 통해 허용 목록을 초기화
    1. 봇에게 메시지 전송
    2. 봇이 페어링 코드 응답
    3. Claude Code 세션에서 코드 승인
    4. 송신자 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로 주기적 폴링 기반 자동화 구성
Hacker News 의견들
  • Telegram 통합이 Slack이나 Teams보다 먼저 나온 게 의외였음
    하지만 찾아보니 MAU(월간 활성 사용자) 기준으로 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급 시민(first-class) 으로 취급해서 정말 쉽게 만들 수 있음
    • 수십억 달러 규모의 대기업이 수천 명의 엔지니어와 최고의 모델을 갖고 있음에도,
      1인 오픈소스 프로젝트인 Pi Coding Agent가 이미 같은 기능의 플러그인을 여러 개 구현해둔 상황이 웃김
      Pi 패키지들은 700개 이상 존재하고, 필요하면 프롬프트 한 줄로 새 확장을 만들 수 있음
  • Claude가 로컬 세션 기반 통합 구조를 지향하는 게 흥미로움
    지금은 사용자의 인증 정보를 활용해 통합을 구축하는 단계로 보임
    나중에는 Claude가 자체 생태계로 세션을 옮길 수도 있을 것 같음

    • 이런 접근은 엔터프라이즈 보안 요구에 대응하는 것으로 보임
      이미 기업 단말은 폐쇄적이라, 추가적인 외부 API 보안 계층이 필요하지 않음
    • iOS용 Claude가 개인 Git 저장소에서 Markdown이나 draw.io 다이어그램을 pull/commit할 수 있으면 좋겠음
    • Amazon의 MCP 설정도 비슷했음
      모든 권한을 OAuth 토큰으로 관리하고, 토큰을 통해 접근 권한을 제어했음
      다만 사용자별로 세분화된 권한을 설정하는 게 번거로웠음
  • 이번 변경은 claws 프로젝트에 매우 유리함
    예전에는 Anthropic이 SDK에서 OAuth 토큰 사용을 금지해, 비싼 API 키를 써야 했음
    이제는 공식적으로 허용된 형태로 MCP를 통해 원하는 채널 연결이 가능해짐
    구조적으로는 기존 claws와 반대로, Claude 코드가 MCP 서버를 직접 구동해 통신의 주체가 됨
    나는 내 nanoclaw 포크를 Docker 컨테이너에서 PID 1로 실행하도록 수정했고,
    Claude 코드의 stdout 로그를 통해 채널과 직접 통신할 수 있게 됨

  • 솔직히 이런 하이프 기반 도구들이 너무 급하게 출시된 느낌임
    Anthropic이라는 회사는 별로지만, Claude 모델 자체는 훌륭하고 인간적인 느낌
    OpenAI 등이 이걸 얼마나 따라올 수 있을지 궁금함
    지금은 폐쇄된 생태계를 쓸 수밖에 없지만, 본질적인 모델 개선에 집중하길 바람
    사실 이런 기능들은 주니어 개발자가 Claude Opus 5랑 대화하며 하루 만에 만든 것처럼 보임

    • 완전 공감함. Claude는 좋지만 Anthropic 회사는 별로
  • ‘채널’ 기능은 내가 회사에서 nanoclaw를 돌리던 이유와 같음
    이벤트 기반으로 Claude 코드를 트리거하고, 피드백·리뷰·분석을 받는 식으로 루프를 완성
    왜 MCP가 필요한지는 모르겠지만 바로 써볼 예정임

  • 지금의 한계는 여전히 터미널이 필요하다는 점
    백그라운드에서 Claude Code를 데몬 모드로 돌릴 수 있으면 좋겠음

    • Ctrl-Z 후 bg 명령으로 백그라운드 전환하거나, tmux로 세션 유지 가능함
    • 이미 클라우드 환경도 제공하지만, 안정성이 매우 낮음
    • tmux 세션에서 시작해 계속 돌려두면 됨
    • 나는 opencode의 서버 명령을 systemd 유닛으로 등록해 홈서버에서 돌림
      데스크톱·모바일 클라이언트로 연결해 쓰고 있음
      CC의 “remote control” 기능도 비슷하지만 현재는 Mac 전용임
  • Claude가 빠르게 따라잡았음
    OpenClaw의 핵심 가치는 채널, 하트비트, 오픈소스 생태계

    • 이제 거의 ClaudeClaw 수준에 근접함
      다음 단계는 지속 실행을 위한 클라우드 호스팅일 것 같음
    • 개별 기능 복제보다는 OpenClaw처럼 통합된 구조를 만드는 게 낫다고 생각함
    • OpenClaw의 진짜 성취는 ‘가장 먼저 나왔다’는 점뿐임
      코드 자체는 과도한 설계, 버그, 문서화 부족으로 악명 높음
    • 하트비트는 비용이 많이 들어서, 30분 간격으로만 돌려도 플랜을 다 써버림
    • 사실 Claude Code나 Codex에서 /loop 명령으로 하트비트를 구현할 수도 있음
  • 나는 채널 기능을 활용해 HTTP API 래퍼를 만드는 agent-http를 만들었음
    Agent API와 동일한 인터페이스를 제공하지만,
    터미널 스크래핑 대신 직접 Claude 코드와 통신함
    이제 구독만으로 헤드리스 모드에서 Claude를 제어할 수 있음

    • 코드 링크는 여기에 있음
    • 링크 공유해줄 수 있냐는 질문이 있었음
  • Anthropic이 매주 새로운 제품을 실험적으로 출시하는 느낌임
    실제로 1년 뒤에도 유지될 기능이 얼마나 될지 의문임

    • 그래도 다양한 실험을 통해 무엇이 시장에서 통할지 테스트하는 단계로 보임
  • 원격 기능이 추가된 소프트웨어는 결국 백도어 악용 위험이 생김
    따라서 기업 보안 솔루션은 합법적인 Claude Code 인스턴스와
    악성 인스턴스를 구분할 수 있는 기능을 갖춰야 함