Claude Code(클로드 코드)를 쓰는 사람은 터미널 앞에 앉은 몇 시간 안에서만 일을 시킬 수 있다. 그래서 하루 24시간 중 나머지 시간에는 Claude Code가 놀게 된다. 그런데 출퇴근 지하철에서 텔레그램으로 “어제 작업하던 API 리팩토링 마저 해줘”라고 보내면 어떨까. 집에 켜 둔 맥에서 Claude Code가 작업을 이어 간다. 3월 20일 Anthropic이 Claude Code Channels 기능을 리서치 프리뷰로 공개했다. 이 기능이 위 시나리오를 현실로 만들었다.
이 기능은 텔레그램과 디스코드로 로컬 Claude Code 세션을 원격 제어하는 양방향 메시징 브릿지다. 브릿지는 채팅 앱과 세션 사이를 잇는 다리다.
30초 요약
- 뺀 일: 터미널 앞에 앉아야만 Claude Code에 일을 시킬 수 있던 제약.
- 남긴 일: 파일 쓰기나 명령 실행 같은 권한 승인. 원격에서는 승인할 수 없어서 터미널 앞으로 돌아가야 한다.
- 되찾은 시간: 미측정.
- 든 비용: Claude 구독 월 20~200달러. 비교 대상인 OpenClaw는 오픈소스라 무료이고 API 비용은 따로 든다.
Claude Code Channels 기능은 이미 열린 로컬 세션에 메시지를 넣는다
The Decoder는 이번 출시를 “지능이 아닌 가용성의 혁신”이라고 규정했다. 정확한 표현이다. Claude Code가 아무리 뛰어나도 터미널 앞에서만 쓸 수 있다면 활용이 제한된다. 쓰는 시간이 터미널 앞에 있는 몇 시간으로 묶이기 때문이다.
Channels는 이 제약을 깬다. 구조는 이렇다. 이미 열려 있는 로컬 세션에 외부 이벤트를 밀어 넣는다(push). 그래서 새 클라우드 인스턴스를 띄우지 않는다. 내 맥에서 돌아가는 그 세션을 텔레그램에서 조종한다. 그 세션에는 프로젝트 컨텍스트와 파일 시스템 접근 권한이 살아 있다.
같은 구조로 시스템 이벤트도 Claude Code 세션에 밀어 넣을 수 있다. CI 파이프라인(코드를 바꿀 때마다 빌드와 테스트를 돌리는 자동 절차)의 실패 알림이 그 예다. Datadog(서버 모니터링 서비스) 경보나 배포 결과도 된다. 채팅 브릿지는 시작일 뿐이다.

Claude Code Channels 보안은 OpenClaw와 무엇이 다른가?
터미널 밖에서 에이전트를 부리는 시장은 OpenClaw가 먼저 열었다. OpenClaw는 오픈소스 프로젝트다. Peter Steinberger가 2025년 11월에 약 1시간 만에 만들었다. 이 프로젝트는 GitHub 별 25만 개를 넘기며 폭발적으로 성장했다. 사용자들이 OpenClaw를 24시간 돌리려고 전용 Mac Mini를 사는 현상까지 생겼다.
그런데 2026년 2월에 문제가 터졌다. CVE-2026-25253이라는 치명적인 원격 코드 실행(RCE) 취약점이 발견됐다. CVE는 취약점에 붙는 공식 번호다. RCE는 남의 컴퓨터에서 명령을 실행하는 공격이다.
악성 링크 하나를 클릭하면 공격자가 사용자의 인증 토큰을 탈취했다. 그 뒤 WebSocket으로 로컬 인스턴스에 직접 접속해 샌드박스를 우회하고 임의 명령을 실행할 수 있었다. 발견 시점에 인터넷에 노출된 OpenClaw 인스턴스는 4만 개가 넘었다. 이 중 63%가 이 취약점에 그대로 노출되어 있었다(SonicWall).
Anthropic은 이 보안 문제에 구조적으로 다른 답을 내놓았다. 아래 표가 두 도구를 비교한 것이다.
| 항목 | Claude Code Channels | OpenClaw |
|---|---|---|
| 보안 모델 | 3계층 (발신자 허용목록 + 세션별 활성화 + 조직 관리) | 허용적 기본 설정, 보안은 사용자 책임 |
| 지원 플랫폼 | 2개 (Telegram, Discord) | 7개 이상 (WhatsApp, iMessage, Slack 등) |
| 모델 | Claude 전용 | 모델 무관 (GPT-4, 로컬 모델 등) |
| 비용 | 월 20~200달러 (Claude 구독) | 무료 오픈소스 (API 비용 별도) |
| 확장 생태계 | 플러그인 아키텍처, Anthropic 보안 검토 | 커뮤니티 스킬 5,700개 이상 |
3계층 보안은 세 가지로 이뤄진다. 발신자 ID 기준 허용목록, 세션별 명시적 활성화, 조직 수준 관리자 제어다. 플랫폼 수만 보면 OpenClaw가 압도적이다. 하지만 보안이 중요한 팀 환경이라면 이야기가 달라진다. 특히 CVE-2026-25253 이후로 기업 환경에서 OpenClaw 도입을 재검토하는 움직임이 있다.
OpenClaw 같은 에이전트가 필요한데 API 키를 따로 내기는 싫을 수 있다. 그러면 Channels 위에 직접 만드는 길이 있다. 그 기록은 Claude Max 하나로 OpenClaw 같은 에이전트를 만들어 쓴 글에 적었다.
텔레그램 연결은 5분이면 끝난다
실제 설정은 생각보다 단순하다. Anthropic 공식 문서 기준으로 텔레그램 연결을 순서대로 정리한다. 슬래시 명령은 Claude Code 입력창에 넣는다. 나머지는 말로 시킨다.

준비물과 텔레그램 봇 만들기
준비물은 세 가지다. Claude Code v2.1.80 이상, Bun 런타임, claude.ai 로그인이다. Bun은 JavaScript와 TypeScript를 설치하고 실행하는 도구다. 버전과 설치 여부는 Claude Code에 시켜 확인한다.
Claude Code 버전이 v2.1.80 이상인지, Bun이 설치돼 있는지 확인해 줘.
Bun이 없으면 설치해 줘.

1단계는 텔레그램 봇 만들기다. 텔레그램에서 @BotFather를 열고 /newbot 명령으로 봇을 만든다. 그러면 토큰을 받는다. 이 토큰은 비밀번호와 같다. 그래서 다른 사람에게 보여 주지 않는다.
플러그인 설치와 Claude Code Channels 모드 재시작
2단계는 플러그인 설치와 토큰 등록이다. 아래 두 줄을 Claude Code 입력창에 넣는다.
/plugin install telegram@claude-plugins-official
/telegram:configure <your-bot-token>
3단계는 Channels 모드로 재시작이다. 이 한 줄만은 Claude Code 안이 아니라 터미널에 직접 입력한다. 지금 열린 세션을 닫고 새 세션을 여는 일이라 Claude Code에 시킬 수 없기 때문이다.
claude --channels plugin:telegram@claude-plugins-official
페어링과 허용목록 설정
4단계는 페어링과 보안 설정이다. 텔레그램에서 봇에 메시지를 보내면 6자리 페어링 코드가 온다. 이 코드를 Claude Code에서 승인한다. 그다음 반드시 허용목록 모드로 바꾼다.
/telegram:access pair <pairing-code>
/telegram:access policy allowlist
허용목록 모드는 미리 등록한 발신자의 메시지만 받는 방식이다. 기본 페어링 모드에서는 봇에 메시지를 보내는 누구에게나 페어링 코드가 노출된다. 그래서 허용목록 전환은 건너뛸 수 없는 단계다. 세션을 새로 띄울 때마다 3단계의 --channels 플래그가 필요하다. 이유는 다음 장의 표에 있다.
Claude Code Channels 사용 중 막히는 지점은 권한 승인이다
Channels의 3계층 보안 모델은 잘 설계되어 있다. 기업 환경에서 요구하는 수준을 갖췄다. 그런데 한 가지 빠진 퍼즐이 있다. Claude가 파일 쓰기나 명령 실행 같은 권한이 필요한 작업을 만나면 세션이 멈춘다. 텔레그램이나 디스코드에서 승인 버튼을 누를 수 없기 때문이다.
선택지는 두 개뿐이다. 하나는 물리적으로 터미널 앞에 돌아가는 것이다. 다른 하나는 모든 권한을 열어 버리는 --dangerously-skip-permissions 플래그다. 이름에 dangerously가 들어간 플래그를 쓰라니, 솔직히 좀 아이러니하다. 3계층 보안을 쌓아 놓고 권한 승인에서는 “전부 허용 아니면 직접 와라”라는 이분법이 되어 버린다.
DEV Community의 비교 분석도 이 지점을 핵심 마찰점으로 꼽았다. 리서치 프리뷰 기간에 원격 승인 기능이 없으면 실무 활용 범위는 상당히 제한된다. 아래 표는 막히는 지점과 그때 붙일 규칙을 묶은 것이다.
| 막히는 지점 | 그래서 붙일 규칙 |
|---|---|
| 파일 쓰기와 명령 실행 권한이 필요하면 세션이 멈춘다. 텔레그램·디스코드에서는 승인할 수 없다 | 승인이 필요한 작업은 터미널 앞에서 맡긴다. 모든 권한을 여는 --dangerously-skip-permissions는 이름 그대로 위험하다 |
| 기본 페어링 모드에서는 봇에 메시지를 보내는 누구에게나 페어링 코드가 노출된다 | 페어링 직후 허용목록 모드로 바꾼다 |
--channels 플래그를 빼면 .mcp.json에 등록해 둬도 채널 메시지를 받지 못한다 |
세션을 띄울 때마다 플래그를 붙인다. 상시 운영은 tmux나 screen에 세션을 띄워 둔다 |
| 지원 플랫폼이 텔레그램과 디스코드 2개뿐이다 | WhatsApp·iMessage·Slack이 필요하면 OpenClaw 쪽을 고른다 |
세 번째 줄의 tmux와 screen은 터미널을 닫아도 세션이 살아 있게 하는 도구다. 그래서 상시 운영에는 이 방식이 현실적이다.
채팅 브릿지 너머, 커스텀 Webhook 채널은 무엇을 하나?
Webhook은 다른 시스템이 보낸 HTTP 요청을 받는 주소다. Channels가 가장 멀리 가는 길은 채팅이 아니라 커스텀 Webhook 채널이다. 이 기능은 MCP 표준 위에 만들어졌다. MCP(Model Context Protocol)는 AI를 외부 도구에 잇는 표준이다. HTTP POST는 웹 주소로 데이터를 보내는 요청이다. 그래서 어떤 시스템이든 HTTP POST로 Claude Code 세션에 이벤트를 밀어 넣을 수 있다.
만드는 일은 Claude Code에 말로 시킨다. 코드는 Claude Code가 쓴다.
CI 실패 알림을 Claude Code로 전달하는 Webhook 채널을 Bun으로 만들어 줘.
127.0.0.1의 8788번 포트에서 HTTP POST를 받는다.
받은 본문을 notifications/claude/channel 알림의 content로 넘기고 ok를 응답한다.
127.0.0.1은 내 컴퓨터 안에서 오는 요청만 받겠다는 주소다.
GitHub Actions는 GitHub의 자동 빌드 도구다. 이렇게 만들면 이 빌드가 실패할 때 Claude Code가 자동으로 원인을 분석한다. PagerDuty는 장애 경보 서비스다. 여기서 경보가 오면 Claude Code가 관련 로그를 찾아 요약한다. 개발자가 별도로 구축해야 한다. 그래도 플러그인으로 패키징해서 마켓플레이스에 배포할 수 있다.
물론 이게 모든 문제의 정답은 아니다. 커스텀 채널은 리서치 프리뷰 상태다. --dangerously-load-development-channels 플래그가 필요하다. 공식 마켓플레이스에 올리려면 Anthropic 보안 검토를 받아야 한다. 그래서 생태계가 성숙하려면 시간이 걸린다.
상황별로 맞는 도구는 다르다
어떤 도구가 맞는지는 상황에 따라 갈린다. 아래 표는 네 가지 상황을 골라 정리했다. Fakechat 데모는 텔레그램 없이 내 컴퓨터(localhost:8787)에서 채널을 시험해 보는 데모다.
| 상황 | 추천 | 이유 |
|---|---|---|
| 보안이 중요한 팀·기업 | Claude Code Channels | 3계층 보안, 관리자 제어 |
| 다양한 플랫폼이 필요한 개인 | OpenClaw | 7개 이상 플랫폼, 무료, 모델 무관 |
| CI/CD 파이프라인 연동 | 커스텀 Webhook 채널 | HTTP POST로 모든 시스템 연결 |
| 빠른 개념 검증 | Fakechat 데모 | 외부 의존성 없이 localhost:8787 테스트 |
마무리하며
결국 Channels가 풀려는 문제는 하나다. AI 코딩 에이전트를 터미널에서 꺼내는 것이다. 보안 모델은 잘 설계했다. 아키텍처도 확장할 수 있게 만들었다. 하지만 권한 승인 문제를 풀지 않으면 어색한 상황이 반복된다. 터미널에서 꺼냈는데 결국 터미널로 돌아와야 하기 때문이다.
권한 승인이 필요 없는 작업이라면, 이동 시간에 시켜 둔 일을 책상에서 확인만 하면 된다. 그러면 터미널 앞에 앉는 시간은 일을 시키는 데서 결과를 판단하는 데로 옮겨 간다.
당장 해 볼 수 있는 일은 두 가지다. Fakechat 데모로 개념을 확인한 뒤, 텔레그램 봇을 5분 안에 세팅해 직접 써 본다. 리서치 프리뷰라 프로덕션에 바로 넣기에는 이르다. 그래도 AI 에이전트의 가용성 문제가 어떤 방향으로 풀리고 있는지 감을 잡기에는 충분하다.
참고 자료
- Anthropic 공식 문서 – Channels
- Anthropic 공식 문서 – Channels Reference
- VentureBeat – Anthropic just shipped an OpenClaw killer
- The Decoder – Claude Code becomes an always-on AI agent
- DEV Community – Claude Code Channels vs OpenClaw
- SonicWall – OpenClaw CVE-2026-25253
함께 읽으면 좋은 글
