Notice
Recent Posts
250x250
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
관리 메뉴

일상 코딩

[윈도우/리눅스/맥] OpenClaw가 열어준 시대, Anthropic은 어떻게 대응했나 — Claude Code의 Channels · Remote Control · Dispatch 완전 가이드 본문

Windows 개발환경 세팅

[윈도우/리눅스/맥] OpenClaw가 열어준 시대, Anthropic은 어떻게 대응했나 — Claude Code의 Channels · Remote Control · Dispatch 완전 가이드

polarcompass 2026. 4. 1. 01:00
728x90

Now I have all the information I need. Let me write the complete blog post.


OpenClaw가 열어준 시대, Anthropic은 어떻게 대응했나 — Claude Code의 Channels · Remote Control · Dispatch 완전 가이드

TL;DR — 2026년 초 OpenClaw가 "메신저로 AI 에이전트를 24시간 부린다"는 컨셉을 대중화했다. Anthropic은 Claude Code에 Channels(텔레그램·디스코드·iMessage 연동), Remote Control(웹·모바일에서 로컬 세션 이어하기), Dispatch(폰에서 데스크톱에 작업 던지기) 세 가지를 공식 탑재해 정면 대응했다. 이 글에서는 세 기능을 한눈에 비교하고, Channels 설정법을 단계별로 따라 해 보며, OpenClaw와의 차이까지 정리한다.


1. 서론 — "메신저 → AI 에이전트" 시대가 열리다

2025년 11월, 오스트리아 개발자 Peter Steinberger가 만든 오픈소스 AI 에이전트 런타임 OpenClaw(구 Clawdbot → Moltbot)가 공개됐다. OpenClaw의 핵심 가치는 단순했다. "내가 쓰는 메신저에서 AI 에이전트에게 DM을 보내면, 그 에이전트가 내 로컬 머신에서 실제 작업을 수행하고 결과를 다시 메신저로 돌려준다." WhatsApp, Telegram, Discord, Signal 등 다양한 채널을 지원하고, 장기 세션 유지와 영구 메모리 기능까지 갖추면서 개발자 커뮤니티를 빠르게 장악했다. "이제 Mac Mini 하나만 있으면 24시간 코딩 에이전트를 돌릴 수 있다"는 밈이 퍼질 정도였다.

2026년 2~3월, Anthropic이 이에 정면 대응했다. Claude Code에 세 가지 원격 기능을 연달아 탑재한 것이다.

  • Remote Control (2026년 2월) — 로컬에서 돌고 있는 Claude Code 세션을 claude.ai/code 웹 또는 Claude 모바일 앱에서 이어서 조작
  • Channels (2026년 3월 리서치 프리뷰) — Telegram, Discord, iMessage 메시지를 MCP 서버 기반 플러그인으로 실행 중인 Claude Code 세션에 밀어넣는 기능
  • Dispatch (2026년 3월) — Claude 모바일 앱에서 데스크톱(Cowork/Code)에 작업을 원격 지시하고, Computer Use까지 연계

AI YouTuber Matthew Berman은 이를 두고 *"They've BUILT OpenClaw"*라고 요약했고, 커뮤니티에서는 "더 이상 Mac Mini를 따로 살 필요 없다"는 반응이 쏟아졌다. 물론 OpenClaw만의 강점도 여전히 있다. 이 글에서는 세 기능을 상세히 비교하고, 특히 Channels의 Telegram 연동을 처음부터 끝까지 따라 해 본 뒤, OpenClaw와의 객관적 비교로 마무리한다.


2. 세 기능 한눈에 비교

구분 Channels Remote Control Dispatch
트리거 외부 메신저에서 메시지 push 사용자가 웹/앱에서 세션 접속 모바일 앱에서 작업 지시
실행 환경 로컬 머신 (CLI) 로컬 머신 (CLI 또는 VS Code) 로컬 머신 (Desktop 앱)
지원 플랫폼 Telegram, Discord, iMessage claude.ai/code, Claude iOS/Android Claude iOS/Android + Desktop
필요 구독 Pro, Max (Team/Enterprise는 관리자 활성화) Pro, Max, Team, Enterprise Pro, Max (Desktop 앱 필요)
핵심 용도 외부 이벤트(CI 실패, 채팅 메시지 등)에 반응 진행 중인 작업을 다른 기기에서 이어하기 외출 중 새 작업을 데스크톱에 던지기
세션 특성 기존 열린 세션에 이벤트 주입 기존 열린 세션에 원격 접속 새 세션 자동 생성
양방향 통신 O (reply 도구로 메신저에 응답) O (실시간 대화) O (완료 알림 + 결과물 전달)

핵심 차이를 한 마디로 정리하면 이렇다. Channels는 "외부에서 이벤트가 들어와서 Claude가 반응"하는 push 모델이고, Remote Control은 "내가 원할 때 세션에 접속해서 조종"하는 pull 모델이며, Dispatch는 "새 작업을 던지면 Desktop이 알아서 실행"하는 delegation 모델이다.


3. Channels — 텔레그램으로 Claude Code 조종하기

⚠️ Channels는 2026년 3월 현재 Research Preview 상태입니다. --channels 플래그 문법과 프로토콜 규약이 피드백에 따라 변경될 수 있습니다.

Channels는 이 글의 메인 주제다. MCP(Model Context Protocol) 서버가 외부 메신저의 메시지를 실행 중인 Claude Code 세션에 push하는 구조로, Claude가 터미널 바깥에서 일어나는 일에 실시간으로 반응할 수 있게 해 준다. 채팅 브리지(Telegram, Discord)뿐 아니라 CI 실패 알림, 모니터링 웹훅 같은 이벤트도 주입할 수 있다.

공식 문서: https://code.claude.com/docs/en/channels

3-1. 사전 준비

Channels 설정에 앞서 다음 두 가지가 완료되어 있어야 한다.

① Claude Code 설치 & 인증

# macOS / Linux
curl -fsSL https://claude.ai/install.sh | bash

# Windows PowerShell
irm https://claude.ai/install.ps1 | iex

설치 후 프로젝트 디렉토리에서 claude를 실행하면 최초 로그인 프롬프트가 나온다. claude.ai OAuth로 인증해야 한다 (API 키 인증은 Channels에서 지원하지 않는다).

② Bun 런타임 설치

채널 플러그인은 Bun 스크립트로 구동된다. bun --version이 실패하면 아래 명령으로 설치한다.

# macOS / Linux
curl -fsSL https://bun.sh/install | bash

# Windows PowerShell
powershell -c "irm bun.sh/install.ps1 | iex"

Team/Enterprise 사용자: 조직 관리자가 claude.ai Admin settings → Claude Code → Channels에서 channelsEnabledtrue로 설정해야 한다. 기본값이 off이므로 관리자 활성화 없이는 채널 메시지가 도달하지 않는다.

3-2. Telegram 봇 생성

  1. Telegram에서 @BotFather를 검색하여 대화를 연다.
  2. /newbot 명령을 보낸다.
  3. BotFather가 두 가지를 물어본다:
    • Name — 채팅 헤더에 표시될 이름 (자유 형식, 공백 가능)
    • Usernamebot으로 끝나는 고유 핸들 (예: my_claude_bot)
  4. 완료되면 BotFather가 123456789:AAHfiqksKZ8... 형태의 토큰을 발급한다. 앞의 숫자와 콜론까지 포함해서 전체를 복사한다.

3-3. 플러그인 설치 & 설정

터미널에서 claude를 실행하여 Claude Code 세션에 진입한 뒤, 아래 명령을 순서대로 입력한다.

/plugin install telegram@claude-plugins-official

플러그인이 설치되면, 방금 복사한 BotFather 토큰을 등록한다.

/telegram:configure 123456789:AAHfiqksKZ8...

토큰은 ~/.claude/channels/telegram/.env 파일에 TELEGRAM_BOT_TOKEN=... 형태로 저장된다. 직접 해당 파일을 수동으로 작성해도 되고, 셸 환경변수로 설정해도 된다 (셸 환경변수가 우선).

여러 봇을 한 머신에서 운영하려면 TELEGRAM_STATE_DIR 환경변수를 인스턴스별로 다른 디렉토리로 지정하면 된다.

플러그인 소스 코드: https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram

3-4. 채널 플래그로 실행

현재 Claude Code 세션을 종료하고, --channels 플래그를 붙여 새 세션을 시작한다.

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

이 플래그가 없으면 MCP 서버는 연결되지만 채널 메시지가 도달하지 않는다. 반드시 --channels로 명시적으로 활성화해야 한다.

3-5. 페어링 & 접근 제어

  1. Telegram에서 방금 만든 봇에 DM을 보낸다 (아무 메시지나 OK).
  2. 봇이 6자리 페어링 코드를 회신한다.
  3. Claude Code 터미널에서 해당 코드를 입력한다:
/telegram:access pair <6자리_코드>
  1. 페어링이 완료되면, 이후 DM은 Claude Code 세션으로 직접 전달된다.

보안 강화 — allowlist 정책 전환:

페어링 모드가 기본값(pairing)이면, 모르는 사람이 봇에 DM을 보내도 페어링 코드를 받을 수 있다. 자신의 페어링이 끝났으면 아래 명령으로 정책을 잠근다.

/telegram:access policy allowlist

이렇게 하면 allowlist에 등록된 사용자의 메시지만 통과하고, 나머지는 조용히 무시된다. 이것은 prompt injection을 방지하는 중요한 보안 조치다. allowlist는 발신자 ID(user ID) 기준으로 게이팅된다. 그룹 채팅에서도 room ID가 아닌 개별 사용자 ID를 확인하므로, 허용되지 않은 그룹 구성원의 메시지는 통과하지 않는다.

3-6. 실제 사용 흐름 예시

설정이 모두 끝났다. 실제로 어떻게 동작하는지 살펴보자.

시나리오: 출퇴근 지하철 안에서 핸드폰 Telegram으로 DB 마이그레이션을 지시한다.

  1. 핸드폰 Telegram에서 봇에게 DM: *"users 테이블에 email 컬럼 유니크 인덱스 추가해줘"*
  2. 메시지는 Telegram Bot API → 로컬 MCP 서버 → Claude Code 세션 순으로 전달된다. 터미널에는 <channel source="telegram" chat_id="..." sender="..."> 태그로 이벤트가 표시된다.
  3. Claude Code가 프로젝트 컨텍스트를 읽고, 마이그레이션 파일을 생성한 뒤 실행한다.
  4. 작업 완료 후 Claude가 reply 도구를 호출하면, 결과 메시지가 Telegram 채팅으로 돌아온다. 터미널에는 sent 확인만 표시되고, 실제 응답 텍스트는 Telegram 쪽에서 확인할 수 있다.

권한 승인이 필요한 경우: Claude가 BashWrite 같은 도구를 실행하려 할 때 권한 프롬프트가 뜰 수 있다. 채널 플러그인이 Permission Relay를 지원하므로 이 프롬프트가 Telegram으로 전달된다. yes <request_id> 또는 no <request_id>를 답하면 원격에서 승인/거부할 수 있다. 물론 터미널에서 직접 승인해도 되고, 먼저 도착한 응답이 적용된다.

완전 무인 운영: --dangerously-skip-permissions 플래그를 쓰면 모든 권한 프롬프트를 생략할 수 있지만, 신뢰할 수 있는 환경(샌드박스, VM 등)에서만 사용해야 한다.

3-7. OS별 주의사항

Windows:

Bun 설치 후에는 반드시 새 터미널 창을 열어야 PATH가 반영된다. 기존 PowerShell/CMD 창에서는 bun 명령을 인식하지 못할 수 있다. 또한 Windows에서는 Claude Code 자체가 Git for Windows 설치를 필요로 한다.

macOS:

Telegram, Discord에 더해 iMessage 채널도 사용할 수 있다. iMessage 채널은 AppleScript 기반으로, 봇 토큰이 불필요하고 Messages 데이터베이스를 직접 읽는 방식이다. 자기 자신에게 문자를 보내면 자동으로 게이트를 통과하고, 다른 연락처는 /imessage:access allow <핸들> 로 추가한다.

# iMessage 채널 설치 & 실행 (macOS 전용)
/plugin install imessage@claude-plugins-official
claude --channels plugin:imessage@claude-plugins-official

Linux:

Telegram과 Discord만 지원된다. iMessage는 macOS 전용이므로 Linux에서는 사용할 수 없다.

3-8. Discord 채널 간략 소개

Discord 연동은 Telegram과 전체 흐름이 유사하지만, Discord 특유의 서버 초대 단계가 추가된다.

단계 Telegram Discord
봇 생성 @BotFather /newbot Discord Developer Portal → New Application → Bot 탭에서 토큰 발급
추가 설정 없음 Message Content Intent 활성화 필수 (Privileged Gateway Intents)
플러그인 설치 /plugin install telegram@claude-plugins-official /plugin install discord@claude-plugins-official
토큰 등록 /telegram:configure <토큰> /discord:configure <토큰>
서버 초대 불필요 (봇 DM 즉시 가능) 봇을 서버에 초대하는 OAuth2 URL 생성 필요
페어링 봇 DM → 코드 → /telegram:access pair <코드> 봇 DM → 코드 → /discord:access pair <코드>
실행 claude --channels plugin:telegram@claude-plugins-official claude --channels plugin:discord@claude-plugins-official

Discord는 Message Content Intent를 활성화하지 않으면 봇이 메시지 내용을 읽지 못하므로 반드시 Developer Portal에서 설정해야 한다.


4. Remote Control — 모바일/웹에서 로컬 세션 이어하기

Remote Control은 로컬에서 돌고 있는 Claude Code 세션을 claude.ai/code 또는 Claude 모바일 앱에서 그대로 이어서 조작하는 기능이다. Channels가 "외부 이벤트가 들어오는 것"이라면, Remote Control은 "내가 직접 접속해서 조종하는 것"이다. 세션은 여전히 로컬에서 실행되므로, 로컬 파일시스템, MCP 서버, 프로젝트 설정이 모두 그대로 유지된다.

공식 문서: https://code.claude.com/docs/en/remote-control

4-1. 시작 방법 3가지

① Server 모드 — 원격 접속 전용 대기

claude remote-control

터미널이 서버 모드로 대기하며, 세션 URL과 QR 코드를 표시한다. --name "My Project"로 세션 이름을 지정할 수 있고, --spawn worktree로 동시 세션을 git worktree로 격리할 수도 있다. --capacity <N>으로 최대 동시 세션 수를 조절한다 (기본 32개).

② 인터랙티브 + 원격 병행

claude --remote-control
# 또는 줄여서
claude --rc

터미널에서도 직접 입력하면서, 동시에 웹/앱에서도 접속할 수 있다. 대화는 모든 연결된 기기에서 실시간으로 동기화된다.

③ 기존 세션에서 활성화

이미 Claude Code 세션이 열려 있는 상태에서:

/remote-control
# 또는
/rc

현재 대화 히스토리를 그대로 유지하면서 원격 접속을 활성화한다.

4-2. 접속 방법

Remote Control 세션이 시작되면 세 가지 방법으로 다른 기기에서 접속할 수 있다.

URL 직접 열기: 터미널에 표시된 URL을 브라우저에서 열면 claude.ai/code로 이동하여 세션에 접속된다.

QR 코드 스캔: claude remote-control 모드에서 스페이스바를 누르면 QR 코드가 토글된다. Claude 모바일 앱으로 스캔하면 바로 접속된다. 아직 앱이 없다면 Claude Code 내에서 /mobile을 입력하면 다운로드 QR 코드를 볼 수 있다.

세션 목록에서 선택: claude.ai/code를 열거나 Claude 앱을 열면 세션 목록에 Remote Control 세션이 표시된다. 온라인 상태인 세션은 컴퓨터 아이콘에 초록색 상태 표시가 붙는다.

4-3. 모든 세션에 자동 활성화

매번 플래그를 붙이기 귀찮다면, Claude Code 내에서 /config를 실행하고 "Enable Remote Control for all sessions"true로 설정하면 된다. 이후 모든 인터랙티브 세션에서 자동으로 Remote Control이 활성화된다.

4-4. 제약사항

터미널이 열려 있어야 한다. Remote Control은 로컬 프로세스로 실행된다. 터미널을 닫거나 claude 프로세스를 종료하면 세션이 끝난다.

네트워크 10분 타임아웃. 머신이 깨어 있지만 네트워크에 10분 이상 연결되지 못하면 세션이 타임아웃되고 프로세스가 종료된다.

API 키 인증 불가. claude.ai OAuth 인증만 지원한다. ANTHROPIC_API_KEY, Bedrock, Vertex, Foundry 등 서드파티 인증으로는 사용할 수 없다.

구독 요건. Pro, Max, Team, Enterprise 모든 플랜에서 사용 가능하지만, Team/Enterprise에서는 관리자가 Admin settings에서 Remote Control 토글을 켜야 한다.


5. Dispatch — 폰에서 데스크톱에 작업 던지기

Dispatch는 Claude 모바일 앱(iOS/Android)에서 데스크톱(Cowork/Code)에 새 작업을 원격으로 지시하는 기능이다. Channels나 Remote Control과 달리 기존 세션에 접속하는 것이 아니라, 새로운 세션을 자동 생성하는 delegation 모델이다. Computer Use와 결합하면, 폰에서 데스크톱의 앱까지 원격 조종할 수 있다.

공식 블로그: https://claude.com/blog/dispatch-and-computer-use

5-1. 설정

필요 조건:

  • Claude Desktop 앱 (최신 버전) — macOS 또는 Windows
  • Claude 모바일 앱 (iOS 또는 Android, 최신 버전)
  • Claude Pro 또는 Max 구독 (Team/Enterprise에서는 현재 미지원)

페어링 절차:

  1. 데스크톱과 모바일 양쪽 모두 앱을 최신 버전으로 업데이트한다.
  2. 모바일 앱에서 Cowork 탭을 연다.
  3. Dispatch"Pair with your desktop"을 탭한다.
  4. 데스크톱 화면에 표시된 QR 코드를 모바일로 스캔한다.
  5. 페어링이 완료되면 하나의 지속적 대화(persistent thread)가 생긴다.

5-2. 사용 흐름

Dispatch는 단순한 "메시지 전달"이 아니라, Claude가 작업 성격을 판단하여 적절한 세션 유형을 선택하는 지능형 라우팅 모델이다.

개발 작업을 지시하는 경우: 모바일에서 "로그인 버그 수정해줘"라고 보내면, Desktop의 Code 탭에 Dispatch 배지가 붙은 새 세션이 생성된다. Claude Code가 버그를 분석하고, 코드를 수정하고, 테스트를 돌리고, PR까지 올릴 수 있다. 완료되면 모바일에 푸시 알림이 온다.

지식 작업을 지시하는 경우: "이번 달 마케팅 리포트 작성해줘"처럼 문서 작업이면 Code가 아닌 Cowork 세션으로 라우팅된다.

Computer Use 연계: Desktop 앱에서 Computer Use가 활성화되어 있으면, Dispatch로 시작된 세션도 데스크톱의 앱을 직접 제어할 수 있다. 예를 들어 "Excel에서 이번 분기 매출 스프레드시트 업데이트해줘"라고 지시하면 Claude가 실제로 Excel을 열고 작업한다. 단, Dispatch 세션의 앱 승인은 30분 후 만료되어 재승인을 요구하므로, 일반 Code 세션보다 보안이 한 단계 강화되어 있다.

스케줄링: "매일 아침 9시에 이메일 확인하고 요약해줘"처럼 반복 작업을 설정하면 별도 지시 없이 자동 실행된다.

5-3. 주의사항

Dispatch 문서에서는 안전에 대해 분명히 경고한다. 모바일 AI 에이전트가 데스크톱 AI 에이전트를 원격 제어하는 체인이 만들어지면, 폰에서 보낸 지시가 로컬 파일 읽기·삭제, 연결된 서비스 조작, 브라우저/데스크톱 앱 제어로 이어질 수 있다. 피싱 링크나 예상치 못한 명령이 연쇄적으로 실행될 수 있으므로, 활성화 전에 어떤 커넥터·플러그인이 설치되어 있는지 점검하고, 민감한 데이터는 접근 범위 밖에 두는 것이 좋다.

현재 리서치 프리뷰 상태이며, macOS와 Windows만 지원하고 Linux Desktop은 아직 제공되지 않는다.


6. OpenClaw와의 비교

OpenClaw와 Claude Code의 원격 기능은 궁극적으로 같은 문제 — "터미널 앞에 없어도 AI 에이전트를 부릴 수 있어야 한다" — 를 풀지만, 접근 방식이 상당히 다르다. 아래 표로 주요 차이를 정리한다.

항목 OpenClaw Claude Code (Channels + RC + Dispatch)
오픈소스 O (MIT 라이선스) X (플러그인 소스는 GitHub 공개)
영구 메모리 O (로컬 메모리, 세션 간 유지) 제한적 (CLAUDE.md 프로젝트 메모리는 있으나 세션 리셋 시 대화 컨텍스트 초기화)
지원 메신저 WhatsApp, Telegram, Discord, Signal 등 Telegram, Discord, iMessage
AI 모델 Claude, GPT, Gemini 등 (직접 API 키 필요) Claude 전용 (구독 기반)
자체 호스팅 필수 (로컬 또는 VPS) 로컬 실행 (Anthropic 인프라 경유)
설정 난이도 중~상 (Node.js 22+, 환경변수 다수, 직접 인프라 운영) 하~중 (플러그인 설치 6단계)
비용 API 사용량만큼 과금 Claude Pro($20/월) 또는 Max($100·$200/월) 구독료
에코시스템 Skills, Jobs, MAS(Multi-Agent System) 등 활발한 커뮤니티 생태계 MCP 기반 플러그인, 공식 커넥터, Agent SDK
보안/브랜드 사용자 책임 (오픈소스 특성상 보안은 직접 관리) Anthropic의 안전 철학 + allowlist 기반 접근 제어
Computer Use 서드파티 연동 필요 Dispatch + Desktop에서 공식 지원 (macOS)

OpenClaw는 "원하는 모델, 원하는 메신저, 완전한 자유도"를 추구하는 파워 유저와 자체 호스팅을 선호하는 개발자에게 여전히 강력한 선택이다. WhatsApp, Signal 같은 채널은 현재 Claude Code에서 공식 지원하지 않으며, 영구 메모리와 세션 간 상태 유지는 OpenClaw의 확실한 차별점이다. 반면, Claude Code 진영은 Anthropic의 안전성 브랜드, 별도 인프라 없이 플러그인 설치 몇 줄로 끝나는 편의성, 그리고 Dispatch + Computer Use 같은 데스크톱 연계에서 우위를 보인다.


7. 정리 & 추천 시나리오

세 가지 원격 기능과 OpenClaw를 상황별로 정리하면 이렇다.

"메신저로 가볍게 지시만 하고 결과 받기"Channels (Telegram) — Telegram 봇 하나 만들고 플러그인 설치하면 끝. CI 실패 알림, 빠른 코드 수정 요청 등 비동기 작업에 적합하다.

"진행 중이던 코딩을 이동 중에 이어서"Remote Control — 회사에서 시작한 리팩토링을 퇴근길에 claude.ai/code나 모바일 앱에서 이어할 수 있다. 로컬 환경이 그대로 유지되므로 맥락이 끊기지 않는다.

"집 밖에서 데스크톱에 새 작업을 던지기"Dispatch — Desktop이 켜져 있기만 하면 모바일에서 작업을 지시하고, Computer Use까지 활용할 수 있다. 개발 작업은 Code 세션으로, 문서 작업은 Cowork 세션으로 자동 라우팅된다.

"완전 자유도 + 자체 호스팅 + 다양한 메신저 + 영구 메모리"OpenClaw — WhatsApp이나 Signal을 써야 하거나, 멀티 모델 전환이 필요하거나, 세션 간 상태가 반드시 유지되어야 한다면 여전히 OpenClaw가 답이다.

물론 이것들을 조합할 수도 있다. 낮에는 Remote Control로 작업하다가, 퇴근 후에는 Channels로 Telegram에서 간단한 수정을 지시하고, 주말에는 Dispatch로 데스크톱에 큰 작업을 던지는 워크플로우도 가능하다. 세 기능 모두 같은 Claude Code 엔진 위에서 돌아가므로 CLAUDE.md, 설정, MCP 서버가 공유된다.


참고 링크:

728x90