Claude Code Channels, 세션 켜둬야만 되는 이유가 있습니다

Published on

in

Claude Code Channels, 세션 켜둬야만 되는 이유가 있습니다

2026.03.20 기준
Claude Code v2.1.80 기준
Research Preview

Claude Code Channels, 세션 켜둬야만 되는 이유가 있습니다

2026년 3월 20일, Anthropic이 Claude Code v2.1.80에 Channels 기능을 리서치 프리뷰로 공개했습니다. 텔레그램이나 디스코드에서 메시지 하나 보내면 로컬에서 돌아가는 Claude Code 세션이 그걸 받아서 코드를 짜고, 결과를 다시 채팅으로 돌려주는 구조입니다. 들어보면 단순해 보이는데, 공식 문서를 직접 뜯어보니 생각과 다른 부분이 몇 군데 있었습니다.

3가지
공식 지원 플랫폼
(Telegram·Discord·iMessage)
CVSS 8.8
OpenClaw 취약점 심각도
(CVE-2026-25253)
기본 비활성
팀·엔터프라이즈 플랜
관리자 설정 필수

Channels가 정확히 뭔지부터 — MCP Push 모델

Claude Code Channels는 외부 시스템의 이벤트를 실행 중인 Claude Code 세션 안으로 밀어 넣는 구조입니다. 공식 문서의 표현을 그대로 옮기면 이렇습니다.

“A channel is an MCP server that pushes events into a running Claude Code session, so Claude can react to things that happen while you’re not at the terminal.”

(출처: Claude Code 공식 문서 Channels, code.claude.com/docs/en/channels)

기존 MCP 서버는 Pull 방식이었습니다. Claude가 “이 도구 써야겠다” 싶을 때 능동적으로 호출하는 구조였죠. Channels는 이 관계를 뒤집습니다. 텔레그램 메시지가 도착하든, CI 빌드가 실패하든, 외부 이벤트가 발생한 순간 Claude Code 세션 안으로 직접 밀어 넣습니다. 터미널 앞에 앉아 있을 필요가 없어집니다.

채널은 단방향(One-way)과 양방향(Two-way) 두 가지 모드로 나뉩니다. 단방향은 CI 실패 알림처럼 이벤트 전달만 하고, 양방향은 채팅처럼 Claude가 같은 플랫폼으로 답장까지 보냅니다. 이 양방향 구조가 텔레그램·디스코드 연동의 핵심입니다.

실제로 공개 데모 영상에서는 Claude Code가 npm 테스트를 실행 중인데, 디스코드에서 “빌드 됐어?” 라고 물으면 Claude가 “아직 테스트 중, 2분 정도 더 걸릴 것 같아. 끝나면 알려줄게”라고 답하는 장면이 공개됐습니다. 현장에서 보던 개발자들이 “실제 엔지니어랑 협업하는 느낌”이라고 표현한 이유가 거기에 있습니다.

▲ 목차로 돌아가기

세션이 꺼지면 같이 꺼집니다 — 가장 중요한 전제 조건

💡 공식 문서와 OpenClaw 구조를 나란히 놓고 보니, 이 부분이 결정적 차이였습니다.

“텔레그램으로 Claude에게 일을 시킬 수 있다”는 말만 들으면 24시간 상시 동작하는 에이전트를 상상하기 쉽습니다. 그런데 공식 문서는 이걸 정확하게 짚어둡니다.

“Events only arrive while the session is open, so for an always-on setup you run Claude in a background process or persistent terminal.”

(출처: Claude Code 공식 문서 Channels, code.claude.com/docs/en/channels)

Claude Code 세션이 닫히면 채널도 함께 닫힙니다. 24시간 상시 운영을 원한다면 VPS나 백그라운드 터미널에서 세션을 유지해야 합니다. 집 컴퓨터 전원을 끄면 텔레그램 메시지가 도착해도 아무 반응이 없습니다. 이게 OpenClaw와 근본적으로 다른 지점입니다. OpenClaw는 별도 서버(EC2, VPS, Docker)에서 24시간 독립 실행되는 구조라 로컬 PC의 상태와 무관합니다.

Channels의 모든 처리는 로컬 머신에서 일어납니다. MCP 플러그인이 내 PC에서 동작하면서 텔레그램 Bot API에 long-polling으로 이벤트를 기다리는 방식입니다. 외부에서 내 머신으로 들어오는 인바운드 포트가 없고, 모든 통신은 아웃바운드입니다. 이건 보안 측면에서 유리하지만, 동시에 세션 의존성이라는 제약을 만듭니다.

Permission Relay 기능도 같은 맥락에서 이해해야 합니다. Claude가 파일 쓰기나 Bash 명령 실행 같은 민감한 작업 전에 승인을 요청할 때, 그 승인 프롬프트가 터미널 대신 텔레그램으로 전달됩니다. 자리를 비운 상태에서 폰으로 “yes” 또는 “no”를 입력하면 세션이 이어서 동작합니다. 다만 이 기능도 세션이 살아있을 때만 작동합니다.

▲ 목차로 돌아가기

텔레그램·디스코드 설정, 실제 순서대로

필수 조건부터 먼저 확인합니다. Claude Code v2.1.80 이상, claude.ai 계정 로그인(API 키 인증 미지원), Bun 런타임 설치가 필요합니다. Bun이 없으면 터미널에서 아래 명령어로 설치합니다.

텔레그램 연결 순서

① 텔레그램에서 @BotFather를 검색해 채팅 시작 → /newbot 입력 → 봇 이름과 username 지정 → Bot Token 발급

② Claude Code 터미널에서 플러그인 설치

/plugin install telegram@claude-plugins-official
/telegram:configure <YOUR_BOT_TOKEN>
/reload-plugins

③ Channels 플래그로 세션 시작

claude --channels plugin:telegram@claude-plugins-official

④ 텔레그램에서 봇에게 아무 메시지나 보내면 페어링 코드 발급 → Claude Code에 입력 → 즉시 allowlist 전환

/telegram:access pair <code>
/telegram:access policy allowlist

디스코드 설정 시 놓치기 쉬운 한 가지

디스코드는 Developer Portal에서 봇 생성 후 토큰을 복사하는데, 여기서 Message Content Intent를 반드시 활성화해야 합니다. 이걸 빠뜨리면 봇이 메시지를 받아도 내용을 읽을 수 없어서 아무 반응이 없습니다. 공식 문서에도 “must enable”이라고 강조하고 있습니다.

텔레그램과 디스코드가 Claude에게 제공하는 도구 목록도 다릅니다. 디스코드는 fetch_messages(최대 100건 메시지 히스토리 조회)와 download_attachment(파일 첨부 다운로드)를 추가로 지원합니다. 텔레그램 Bot API는 메시지 히스토리 검색 기능을 제공하지 않아서 이 두 도구가 빠집니다. 두 플랫폼 모두 reply, react, edit_message는 공통입니다.

파일 첨부 한도는 플랫폼 Bot API 제한을 따릅니다. 텔레그램은 파일당 50MB, 디스코드는 파일당 25MB (최대 10개)입니다. 모바일에서 스크린샷이나 로그 파일을 Claude에게 보내는 용도로 활용할 수 있습니다. 반대 방향도 마찬가지여서, Claude가 생성한 파일을 채팅으로 받아볼 수도 있습니다.

▲ 목차로 돌아가기

보안이 OpenClaw보다 낫다는 게 어떤 의미인가

💡 OpenClaw의 보안 사고 수치를 실제로 조회해보니, 흔히 “위험하다”는 표현보다 구체적인 숫자가 훨씬 충격적이었습니다.

OpenClaw는 GitHub 24만 7천+ 스타를 찍은 오픈소스 프로젝트입니다. 텔레그램·디스코드에서 AI 에이전트를 제어하는 패턴을 대중화한 건 사실 OpenClaw가 먼저였습니다. 그런데 이 자유도는 상당한 보안 비용을 동반했습니다.

CVE-2026-25253 (CVSS 8.8): URL 파라미터 인젝션을 통한 원클릭 원격 코드 실행(RCE) 취약점입니다. Control UI가 쿼리 스트링의 gatewayUrl을 검증 없이 수용해서, 악성 링크 클릭만으로 인증 토큰이 공격자 서버로 전송됩니다. 에이전트 전체를 탈취할 수 있는 수준이었습니다. v2026.1.29에서 패치됐지만, SecurityScorecard STRIKE 팀 조사 결과 135,000개 이상의 OpenClaw 인스턴스가 인터넷에 공개 노출된 상태로 발견됐습니다. (출처: SOCRadar, CrowdStrike 종합 리포트)

135,000개라는 수치는 단순히 “취약한 소프트웨어가 있다”는 게 아닙니다. 대부분의 사용자가 로컬 파일 시스템 접근 권한을 에이전트에게 부여한 상태에서 공개 노출되어 있었다는 의미입니다.

Channels가 다르게 설계된 이유가 여기에 있습니다. 우선 인바운드 포트가 없습니다. 플러그인이 내 머신에서 Bot API로 아웃바운드 연결만 하기 때문에, 외부에서 직접 접근할 수 있는 포트 자체가 열리지 않습니다. 인증도 Pairing Code 방식으로 작동해서, 텔레그램 봇에 메시지를 보내면 6자리 코드가 발급되고 Claude Code에서 이 코드를 입력해야 연결이 완료됩니다. 이후에는 페어링된 유저 ID의 메시지만 처리하고, 같은 봇 채팅이라도 다른 사용자 메시지는 자동으로 차단됩니다.

리서치 프리뷰 기간 동안 플러그인도 Anthropic이 승인한 것만 사용 가능합니다. 직접 만든 커스텀 채널을 사용하려면 --dangerously-load-development-channels 플래그가 필요합니다. 이름에서 이미 충분히 경고하고 있습니다.

다만 한 가지 한계는 있습니다. 발신자 허용 목록(allowlist)은 메시지를 보낸 사람이 인가된 사용자인지만 검증합니다. 인가된 사용자의 메시지 안에 악의적인 프롬프트가 담겨 있을 경우를 막지는 않습니다. 공식 문서에서도 이 부분에 대한 별도 대응책을 밝히지 않았습니다.

▲ 목차로 돌아가기

팀 플랜은 기본 비활성 — 관리자가 먼저 켜야 합니다

Pro/Max 개인 구독자라면 --channels 플래그를 붙이면 바로 사용할 수 있습니다. 그런데 Team과 Enterprise 플랜은 다릅니다. 공식 문서의 설명입니다.

플랜 유형 기본 동작
Pro / Max (개인) Channels 사용 가능. 세션마다 --channels로 opt-in
Team / Enterprise 관리자가 명시적으로 활성화하기 전까지 비활성(Disabled)

(출처: Claude Code 공식 문서 Channels — Enterprise controls 섹션, code.claude.com/docs/en/channels)

팀 플랜 사용자가 --channels를 붙여도 MCP 서버 자체는 연결되고 도구는 작동하지만, 채널 메시지는 도착하지 않습니다. 세션 시작 시 경고 메시지가 나오고, 관리자에게 설정을 요청해야 합니다. 활성화 방법은 claude.ai 관리자 설정 → Claude Code → Channels에서 켜거나, managed settings에서 channelsEnabledtrue로 지정하는 두 가지입니다.

이 구조는 Anthropic이 의도적으로 설계한 것입니다. 조직 환경에서 AI 에이전트에 외부 채널이 연결되면 관리 포인트가 생기기 때문에, 개인이 임의로 켤 수 없게 막아둔 겁니다. 팀원 중 누군가가 “왜 채널이 안 되지?” 하고 있다면 플랜 확인부터 해보는 게 빠릅니다.

▲ 목차로 돌아가기

OpenClaw와 어디서 갈리나 — 플랫폼·구조 비교

💡 두 도구를 나란히 놓고 보면, “AI 에이전트 제어”라는 목표는 같지만 작동 방식이 전혀 다른 두 개의 설계 철학이 보입니다.

Channels는 내 PC에서 돌아가는 Claude Code를 원격 제어하는 것이고, OpenClaw는 클라우드 서버의 AI 에이전트를 메시징으로 제어하는 겁니다. 데이터 흐름이 근본적으로 다릅니다.

항목 Claude Code Channels OpenClaw
실행 위치 로컬 머신 (내 PC) 서버 (EC2, VPS, Docker)
세션 유지 세션 종료 시 함께 종료 서버 생존 시 24/7 상시
지원 플랫폼 Telegram · Discord · iMessage (프리뷰) WhatsApp · Telegram · Discord · Slack · Signal · iMessage 외 12개+
지원 LLM Claude만 Claude · GPT · 기타 LLM
인바운드 포트 없음 (아웃바운드만) 서버 설정에 따라 노출 가능
로컬 파일 접근 내 PC 프로젝트 파일 직접 서버 파일 시스템만
비용 구조 Pro $20/월 · Max $100~200/월 (고정) 소프트웨어 무료 + API 키 비용 + 서버 호스팅 비용

플랫폼 수만 보면 OpenClaw가 압도적입니다. 카카오톡은 두 도구 모두 공식적으로 지원하지 않습니다. Channels는 플러그인 아키텍처로 설계되어 있어 구조적으로 확장 가능하지만, 리서치 프리뷰 기간 중에는 Anthropic이 관리하는 허용 목록에 있는 공식 플러그인만 사용할 수 있습니다.

커뮤니티 반응을 보면 “OpenClaw를 위해 Mac Mini를 따로 샀는데, Channels가 나오니까 그게 필요 없어졌다”는 이야기가 나왔습니다. 반면 OpenClaw 지지자들은 “플랫폼 수와 24시간 상시 실행에서 차이가 크다”며 Channels가 OpenClaw를 대체하기보다 보완 관계라고 봅니다. 두 입장 모두 틀리지 않습니다. 구조가 다르기 때문에 상황에 따라 다른 선택이 됩니다.

▲ 목차로 돌아가기

Q&A

Q. Claude Code Channels를 쓰려면 구독이 필요한가요?

네. claude.ai 계정 로그인이 필수이며, Pro($20/월) 또는 Max($100~200/월) 구독이 있어야 합니다. API 키 인증 방식으로는 Channels를 사용할 수 없습니다. 공식 문서에서 별도 이유를 밝히지 않았지만, 계정 기반 인증으로 허용 목록과 보안 관리를 하기 위한 것으로 보입니다.
Q. 폰을 꺼도 Claude Code가 계속 작동하나요?

폰이 꺼져도 상관없습니다. Channels는 로컬 머신에서 실행 중인 Claude Code 세션이 Bot API로 메시지를 수신하는 구조라서, 폰 상태와 무관합니다. 단, PC(또는 서버)의 Claude Code 세션이 열려 있어야 합니다. 세션이 닫히면 채널도 함께 닫힙니다.
Q. iMessage도 지원된다고 했는데 설정이 복잡한가요?

iMessage는 macOS 전용입니다. Bot 토큰 없이 내 Messages 데이터베이스를 직접 읽고 AppleScript로 답장을 보내는 방식이라, 외부 서비스를 거치지 않습니다. 텔레그램·디스코드보다 초기 설정은 간단하지만 macOS 이외 환경에서는 작동하지 않습니다. 공식 GitHub 저장소에 전체 소스가 공개돼 있습니다.
Q. 커스텀 채널을 직접 만들 수 있나요?

기술적으로는 가능합니다. MCP SDK를 사용해 claude/channel capability를 선언하면 됩니다. 단, 리서치 프리뷰 기간 중에는 --dangerously-load-development-channels 플래그를 써야 테스트할 수 있습니다. 공식 허용 목록에 추가되려면 Anthropic의 보안 리뷰를 통과해야 합니다. Webhook 리시버, CI 알림, 모니터링 경보 같은 단방향 채널은 비교적 간단하게 구현할 수 있습니다.
Q. Permission Relay를 쓰면 모든 도구 승인을 원격으로 처리할 수 있나요?

Bash, Write, Edit 같은 일반 도구 사용 승인은 원격으로 처리할 수 있습니다. 단, 프로젝트 신뢰 설정이나 MCP 서버 동의 다이얼로그는 원격 릴레이 대상이 아닙니다. 이 항목들은 반드시 로컬 터미널에서만 처리해야 합니다. 공식 문서 Channels Reference에 이 내용이 명시되어 있습니다.

▲ 목차로 돌아가기

마치며

Claude Code Channels는 “텔레그램으로 Claude에게 일 시키기”라는 단순한 소개보다 훨씬 구체적인 설계 철학이 담겨 있습니다. Push 방식, 세션 의존성, 인바운드 포트 제거, Pairing Code 인증, 팀 플랜 기본 비활성 — 이 다섯 가지가 Channels의 실제 모습입니다.

OpenClaw와 비교하면 플랫폼 수에서 지고, 24시간 상시 실행에서도 제약이 있습니다. 대신 설정 복잡도가 낮고, 인바운드 포트가 없으며, 공식 지원의 안정성이 있습니다. 두 도구를 경쟁 관계로 보기보다, 사용 환경과 요구에 맞게 선택하는 게 맞습니다. PC를 항상 켜두는 개발 환경에서 빠르게 시작하고 싶다면 Channels가 낫고, 24시간 상시 실행과 더 많은 플랫폼 지원이 필요하다면 OpenClaw 쪽이 맞습니다.

아직 리서치 프리뷰라 --channels 플래그 문법과 프로토콜은 피드백에 따라 바뀔 수 있습니다. 변경 사항은 공식 GitHub 저장소 이슈 트래커에서 확인하는 게 가장 빠릅니다.

▲ 목차로 돌아가기

본 포스팅 참고 자료

  1. Anthropic 공식 문서 — Channels: code.claude.com/docs/en/channels
  2. Anthropic 공식 문서 — Channels Reference: code.claude.com/docs/en/channels-reference
  3. VentureBeat — Claude Code Channels 발표 분석: venturebeat.com
  4. SOCRadar — CVE-2026-25253 OpenClaw RCE 취약점 분석
  5. CrowdStrike — OpenClaw 보안 종합 리포트 (공개 노출 135,000+ 인스턴스)
  6. Anthropic 공식 GitHub — claude-plugins-official: github.com/anthropics/claude-plugins-official

본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있습니다. Claude Code Channels는 리서치 프리뷰 단계이며, --channels 플래그 문법과 프로토콜 계약은 피드백에 따라 변경될 수 있습니다. 최신 정보는 공식 문서에서 확인하세요.

댓글 남기기


최신 글


아이테크 어른경제에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기