Skip to main content
Summary

한줄 요약

  • Channels는 실행 중인 Claude Code 세션에 외부 이벤트를 밀어 넣어, 사용자가 터미널 앞에 없을 때도 Claude가 반응하게 만드는 기능이다.1

  • 현재는 research preview 단계라서 --channels 문법과 프로토콜이 바뀔 수 있다.1

무엇인가

  • Channels는 Claude Code의 일반적인 대화 입력과 다르게, 외부 시스템이 먼저 세션으로 메시지를 push하는 구조다.1

  • 핵심은 "지금 열려 있는 Claude Code 세션"이 이벤트를 받아 처리한다는 점이다. 그래서 단순한 메신저 연동이라기보다, 실행 중인 세션에 이벤트를 연결하는 채널 계층에 가깝다.12

  • 일방향 알림 채널로도 쓸 수 있고, Claude가 같은 채널로 답장을 보내는 양방향 채널로도 쓸 수 있다.2

어떻게 동작하나

  • 채널은 MCP 서버 형태로 동작한다.12

  • Claude Code가 세션 시작 시 채널 서버를 서브프로세스로 띄우고, 이 서버가 Telegram·Discord 같은 외부 시스템의 이벤트를 받아 현재 세션으로 전달한다.2

  • 이벤트는 Claude의 컨텍스트 안으로 들어오고, Claude는 이를 읽고 필요한 작업을 수행한다.2

  • 양방향 채널이면 Claude가 reply tool을 호출해 같은 채널로 응답할 수 있다.2

  • 중요한 점은 세션이 열려 있을 때만 이벤트가 도착한다는 것이다. 항상 켜진 상태를 원하면 백그라운드 프로세스, tmux/screen, 원격 서버 같은 지속 실행 환경이 필요하다.1

현재 지원 채널

  • 공식 문서 기준 현재 지원 채널은 다음 3가지다.1

    • Telegram

    • Discord

    • fakechat 데모 채널

  • fakechat은 로컬호스트에서 동작하는 데모용 채널이라, 실제 메신저를 붙이기 전에 흐름을 확인하기 좋다.1

사용 조건/준비물

  • Claude Code가 설치·인증되어 있어야 한다.3

  • Claude Code 계정은 무료 Claude.ai 플랜이 아니라, Claude Code 접근이 가능한 계정이어야 한다.3

  • 공식 pre-built 채널 플러그인은 Bun이 필요하다.12

  • Team/Enterprise에서는 조직 관리자가 channelsEnabled를 켜야 실제 채널 메시지가 들어온다.1

  • .mcp.json에 서버가 있다고 해서 자동으로 채널이 활성화되지는 않는다. 현재 세션을 시작할 때 --channels로 명시한 서버만 메시지를 push할 수 있다.14

기본 사용 예시

  • 가장 단순한 시작 예시는 다음과 같다.5

claude --channels plugin:fakechat@claude-plugins-official
  • 의미는 명확하다.

    • plugin:fakechat@claude-plugins-official 채널 플러그인을 현재 세션에 활성화한다.5

    • 이 세션이 살아 있는 동안에만 외부 메시지가 들어온다.1

  • Telegram/Discord 흐름은 대체로 비슷하다.1

    • 채널 플러그인 설치

    • 봇 토큰 등 자격 증명 설정

    • --channels로 세션 시작

    • 봇 DM 후 pairing code 승인

    • 승인된 sender만 allowlist에 등록

  • pairing 이후에는 허용된 발신자만 메시지를 밀어 넣을 수 있어서, "아무나 내 세션에 말 거는 구조"는 아니다.1

보안 및 제약

  • 모든 공식 채널 플러그인은 sender allowlist를 유지한다. allowlist에 없는 sender는 무시된다.1

  • Telegram/Discord는 DM을 보낸 뒤 pairing code를 Claude Code 세션에서 승인하는 방식으로 allowlist를 만든다.1

  • --channels에 넣지 않은 서버는 현재 세션에 메시지를 push할 수 없다. 설치되어 있거나 .mcp.json에 존재하는 것만으로는 부족하다.1

  • unattended 사용 중 권한 확인 프롬프트가 뜨면 세션은 거기서 멈춘다.1

  • 그래서 완전 무인 실행을 하려면 --dangerously-skip-permissions를 고려할 수 있지만, 이 옵션은 이름 그대로 위험성을 전제로 하므로 신뢰 가능한 환경에서만 써야 한다.15

  • research preview 동안에는 --channels가 Anthropic이 승인한 allowlist 플러그인만 받는다. 직접 만든 채널은 별도 개발용 플래그로 테스트해야 한다.12

어떤 경우에 유용한가

  • 자리를 비운 동안 Telegram이나 Discord로 Claude Code 세션에 일을 넘기고 싶을 때 유용하다.1

  • CI 실패, 모니터링 알림, 웹훅 이벤트를 세션에 바로 밀어 넣어 Claude가 즉시 반응하게 만들 때도 잘 맞는다.24

  • Scheduled Tasks가 "주기적으로 확인"하는 방식이라면, Channels는 "이벤트가 생겼을 때 바로 반응"하는 방식이다. 실시간성이 필요할수록 Channels 쪽이 더 자연스럽다.6

  • 실무적으로는 "내가 직접 접속해서 조작"하는 인터페이스라기보다, 외부 신호를 이미 돌아가고 있는 세션에 연결하는 자동화 장치로 이해하는 편이 정확하다.12

Channels vs Remote Control vs Slack 간단 비교

  • Channels

    • 외부 시스템이 실행 중인 로컬 Claude Code 세션으로 이벤트를 push한다.15

    • Telegram/Discord 같은 채널에서 메시지를 받아 세션이 반응하고, 필요하면 같은 채널로 답한다.12

  • Remote Control

    • 휴대폰이나 웹에서 내 로컬 세션을 직접 이어서 조작하는 기능이다.5

    • 핵심은 "세션 제어 UI를 원격으로 붙이는 것"이지, 외부 시스템이 이벤트를 주입하는 구조는 아니다.5

  • Slack

    • Slack의 @Claude 멘션을 감지해, 필요하면 Claude Code on the web 세션으로 라우팅하는 통합이다.7

    • 즉 Slack 통합은 Channels와 같은 기능이 아니라, 웹 기반 Claude Code 세션 생성 및 진행을 Slack에서 시작하는 흐름에 가깝다.7

참고할 만한 최신 변경사항

  • --channels는 Claude Code 2.1.80에서 추가됐다. 공식 changelog 기준 날짜는 2026년 3월 19일이다.8

  • 같은 릴리스에서 플러그인 관련 사용 흐름도 단순화됐다. 문서상 plugin install 팁이 한 단계 명령으로 정리되었다.8

  • 최신 동작을 보려면 먼저 버전을 확인하는 편이 좋다.38

claude --version

주의

  • Channels는 아직 research preview다. 문법, 승인 정책, 프로토콜 계약이 바뀔 수 있다는 전제를 두고 써야 한다.1

  • 항상 켜진 세션이 아니면 메시지가 오지 않는다. "메신저 연동만 하면 항상 동작한다"는 기대는 틀리다.1

  • unattended 운영에서 권한 프롬프트와 --dangerously-skip-permissions는 가장 민감한 지점이다. 자동화 편의보다 세션 안전 범위를 먼저 정해야 한다.15

참고

1Push events into a running session with channels

2Channels reference - Claude Code Docs

3Advanced setup - Claude Code Docs

4Connect Claude Code to tools via MCP

5CLI reference - Claude Code Docs

6Run prompts on a schedule

7Claude Code in Slack - Claude Code Docs

8Changelog - Claude Code Docs

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기