Claude Code Channels完全ガイド|Telegram/DiscordでスマホからAI開発を操作する方法

Claude Code Channels完全ガイド|Telegram/DiscordでスマホからAI開発を操作する方法 AI開発

「長時間かかるリファクタを投げたのに、PC前に張り付いていないと承認できない」「外出先でバグが発覚したが、ラップトップを開けない」——Claude Codeを使い込むほど、PCから離れられない問題にぶつかります。

2026年3月20日(v2.1.80)にリリースされたClaude Code Channelsはこの問題を解決します。TelegramまたはDiscordのDMをトンネルとして使い、スマホ・タブレット・どんな端末からでもローカルPCのClaude Codeを操作できます。処理はローカルPCで実行されるため、ファイル操作・Git・MCPツール——すべてが使えます。

Claude Code Channelsの概要

項目 内容
リリース v2.1.80(2026年3月20日)、Permission Relay: v2.1.81(3月21日)
対応チャンネル Telegram・Discord(将来的にSlack等を追加予定)
通信方式 ローカルPC上のClaude Codeが外部サーバーへポーリング(ファイアウォール不要)
処理場所 すべてローカルPCで実行(クラウド実行ではない)
対応プラン Pro・Max・Team・Enterprise

Claude Code全般の使い方・CLAUDE.md設計・MCP連携はClaude Code完全ガイドで解説しています。この記事ではChannels機能に絞って詳しく解説します。

スポンサーリンク

Channelsの仕組みを理解する

セキュリティ上の理由から、ChannelsはローカルPCからクラウドへのアウトバウンド接続だけで動作します。ルーターのポート開放やSSH公開は不要です。

通信フロー
[スマホ(Telegram/Discord)]
        ↓ メッセージ送信
[Telegramサーバー / Discordサーバー]
        ↓ ポーリング(Claude Codeが定期取得)
[ローカルPC上のClaude Code]
        ↓ コマンド実行・ファイル操作
[ローカルのリポジトリ・ツール群]
        ↓ 結果を返信
[スマホ(Telegram/Discord)]

Claude Codeが1〜数秒間隔でメッセージをポーリングするため、ほぼリアルタイムで指示を受け付けます。返答もTelegram/Discordに直接届くため、ターミナルを開かずに完結します。

事前準備

セットアップに必要なものは以下の通りです。TelegramとDiscordはどちらか一方でも両方でも設定できます。

必要なもの 用途 取得方法
Claude Code(v2.1.80以上) Channels対応バージョン npm update -g @anthropic-ai/claude-code
Telegramアカウント Telegram Channelを使う場合 Telegramアプリで登録
Discordアカウント Discord Channelを使う場合 Discordアプリで登録
自分のユーザーID allowlistへの登録 Bot経由で取得(後述)
Claude Codeを最新バージョンに更新
# バージョン確認
claude --version

# 更新(v2.1.80以上が必要)
npm update -g @anthropic-ai/claude-code

# または
npm install -g @anthropic-ai/claude-code@latest

Telegram Channelのセットアップ

ステップ1:自分のTelegram User IDを確認する

allowlistに登録するために、自分のTelegram User IDが必要です。数字のIDで、ユーザー名とは別のものです。

Telegram User IDの確認方法
# Telegramで @userinfobot を検索してDMを送る
# /start と送信すると User ID が返ってくる
# 例: Your ID: 123456789

ステップ2:Claude Code Channels Botとペアリングする

Channelsの起動とペアリング
# プロジェクトディレクトリでClaude Codeを起動
cd your-project
claude --channels

# または既存のセッションからコマンドで有効化
claude
> /channels enable telegram

コマンドを実行するとペアリングコード(例: ABCD-1234)が表示されます。

ペアリング手順
# 1. Claude Code が起動し、ペアリングコードを表示
#    例: "Telegram Pairing code: ABCD-1234"
#        "Open Telegram and message @ClaudeCodeBot with: /pair ABCD-1234"

# 2. TelegramでBotを検索: @ClaudeCodeBot

# 3. Botに送信:
#    /pair ABCD-1234

# 4. ペアリング成功のメッセージが届く
#    "✅ Paired successfully. You can now send commands to Claude Code."

# 5. 以後、BotにDMを送るとローカルPCのClaude Codeに転送される

ステップ3:settings.jsonでallowlistを設定する

ペアリングしただけでは誰でも操作できてしまう可能性があります。allowlistに自分のUser IDのみを登録してセキュリティを確保します。

.claude/settings.json
{
  "channels": {
    "enabled": true,
    "providers": {
      "telegram": {
        "enabled": true,
        "allowlist": ["123456789"]
      }
    }
  }
}
allowlistは必ず設定すること
allowlistを設定しないと、Botを知っているすべてのユーザーがコマンドを送れてしまいます。必ず自分のUser IDのみをallowlistに登録してください。チームで共有する場合はメンバー全員のIDを列挙します。

Discord Channelのセットアップ

ステップ1:Discord User IDを確認する

Discord User IDの確認方法
# Discordの設定 → 詳細設定 → 開発者モードをONにする
# 自分のアイコンを右クリック → 「IDをコピー」
# 例: 987654321012345678

ステップ2:ペアリング

Discord Channelの有効化
# Discordチャンネルでペアリングを開始
claude
> /channels enable discord

# ペアリングコードが表示される
#    "Discord Pairing code: EFGH-5678"
#    "Add @ClaudeCodeBot to your Discord server, then DM it: /pair EFGH-5678"

# Discord BotをサーバーへのURLでサーバーに追加後、
# BotにDM: /pair EFGH-5678
.claude/settings.json(Discord + Telegram 両方設定)
{
  "channels": {
    "enabled": true,
    "providers": {
      "telegram": {
        "enabled": true,
        "allowlist": ["123456789"]
      },
      "discord": {
        "enabled": true,
        "allowlist": ["987654321012345678"]
      }
    }
  }
}

Permission Relay:承認・拒否もスマホから

Claude Codeはファイル削除・シェルコマンド実行など危険な操作の前に承認を求めます。従来はPC前にいないと対応できませんでしたが、Permission Relay(v2.1.81)によりこの承認プロンプトもTelegram/Discordに転送されます。

Permission Relayの動作イメージ
# PC上でClaude Codeが作業中
# → 承認が必要な操作が発生

# スマホのTelegramに通知が届く:
# ──────────────────────────────────────
# ⚠️ 操作の承認が必要です
#
# ツール: Bash
# コマンド: rm -rf dist/ && npm run build
#
# [✅ 承認する] [❌ 拒否する] [? 詳細を見る]
# ──────────────────────────────────────

# タップするだけで承認・拒否できる
# 拒否した場合はClaude Codeに「User denied」が返り、作業が中断される
.claude/settings.json(Permission Relay有効化)
{
  "channels": {
    "enabled": true,
    "permissionRelay": {
      "enabled": true,
      "timeout": 300
    },
    "providers": {
      "telegram": {
        "enabled": true,
        "allowlist": ["123456789"]
      }
    }
  }
}

timeoutは承認待ちのタイムアウト秒数です(デフォルト: 300秒)。タイムアウト時間内に承認・拒否しない場合は自動的に拒否として処理されます。

Permission Relayの活用シーン

  • 夜間バッチを投げて就寝。本番デプロイ直前の承認だけベッドから行う
  • 会議中に作業を進め、危険な操作のみスマホで確認・承認
  • チーム開発でシニアエンジニアが外出中でも本番操作の最終承認を担う

セキュリティ設定:安全に使うための必須設定

危険なコマンドを事前にブロックする

Channelsと組み合わせてPreToolUseフックで危険なコマンドを自動ブロックすると、万が一allowlistに登録したアカウントが乗っ取られた場合でも被害を最小化できます。

.claude/settings.json(危険コマンドブロック)
{
  "channels": {
    "enabled": true,
    "providers": {
      "telegram": {
        "enabled": true,
        "allowlist": ["123456789"]
      }
    }
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "python3 -c \"import sys, json, re; data=json.loads(sys.stdin.read()); cmd=data.get('command',''); dangerous=re.search(r'rm -rf /|DROP TABLE|format [A-Z]:', cmd); sys.exit(1) if dangerous else sys.exit(0)\""
          }
        ]
      }
    ]
  }
}

操作ログを記録する

Channelsからの操作はすべてログに残しておくことを推奨します。セキュリティインシデント時の調査に役立ちます。

.claude/settings.json(操作ログ)
{
  "hooks": {
    "PreToolUse": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "echo $(date +%Y-%m-%dT%H:%M:%S) TOOL=$CLAUDE_TOOL_NAME >> ~/.claude/channels-audit.log"
          }
        ]
      }
    ]
  }
}

実行できるツールを読み取り専用に制限する

セキュリティを最大化したい場合、Channels経由での操作で使えるツールを読み取り専用に絞ることもできます。信頼できるメンバー以外には読み取り専用権限だけ与える運用が安全です。

.claude/settings.json(ツール制限)
{
  "channels": {
    "enabled": true,
    "allowedTools": ["Read", "Glob", "Grep"],
    "providers": {
      "telegram": {
        "enabled": true,
        "allowlist": ["123456789"]
      }
    }
  }
}

実践ユースケース

ユースケース1:長時間タスクを投げてPCを離れる

Claude Codeで最もよくある使い方です。大規模なリファクタリングやテスト実行など、完了まで時間がかかるタスクを投げてから別の作業に移れます。

Telegramから送るメッセージ例
# Telegramから:
"src/以下のすべてのコンポーネントをReact 19のuse hookパターンに移行してください。
変更ファイル数が10以上になる場合は一度報告して確認を取ってください。"

# Claude Codeが作業を進め、完了・確認が必要なタイミングでTelegramに通知
# スマホで確認・承認しながら別の作業を並行できる

ユースケース2:外出先でのインシデント対応

本番障害時の初動調査
# 外出中にアラートを受けた場合:
"本番でエラーが発生しています。
logs/error.log の直近100行を確認して原因と緊急対応案を教えてください。"

# Claude Codeが調査して報告 → スマホで確認 → 対応指示
"hotfix/001ブランチを作成して auth.ts の jwt検証を修正してください。
修正後にテストを実行し、パスしたらブランチをpushしてください(マージはしない)。"

ユースケース3:チームでClaude Codeを共有する

allowlistに複数のUser IDを登録すれば、チームメンバーが共有のPC(開発サーバー等)上のClaude Codeを各自のスマホから操作できます。レビュー担当者が外出先からコードレビューを依頼する、といった使い方が可能です。

.claude/settings.json(チーム設定)
{
  "channels": {
    "enabled": true,
    "permissionRelay": {
      "enabled": true
    },
    "providers": {
      "telegram": {
        "enabled": true,
        "allowlist": [
          "111111111",
          "222222222",
          "333333333"
        ]
      }
    }
  }
}

ユースケース4:/loopと組み合わせた24時間自律開発

Claude Code 2026年3月新機能完全ガイドで解説した/loopと組み合わせると、Channelsはさらに強力になります。ループが動き続け、問題が起きたときだけスマホに通知・承認を求める構成が作れます。

/loop + Channelsの組み合わせ例
# セッションで設定
> /loop

# スケジュール: */30 * * * *   (30分ごと)
# プロンプト:
# npm test を実行して、失敗があれば失敗内容をChannels経由で通知してください。
# 自動修正できそうな場合は修正案をTelegramに送り、承認を待ってから修正してください。

# 結果:
# - PCを離れても30分ごとにテストが走る
# - 失敗があればスマホに通知 → 承認すれば自動修正
# - 全テストパスなら何も起きない(静かに完了)

コマンド・設定リファレンス

Channelsコマンド一覧

コマンド 説明
/channels enable telegram Telegram Channelを有効化してペアリングコードを表示
/channels enable discord Discord Channelを有効化してペアリングコードを表示
/channels status 現在のChannels接続状態を確認
/channels disable すべてのChannelを無効化
/channels disable telegram Telegram Channelのみ無効化
claude --channels Channels有効状態でClaude Codeを起動

settings.json 主要設定項目

設定キー 説明 デフォルト
channels.enabled boolean Channels機能のON/OFF false
channels.permissionRelay.enabled boolean Permission RelayのON/OFF false
channels.permissionRelay.timeout number 承認タイムアウト(秒) 300
channels.allowedTools string[] 使用できるツールを制限 制限なし
channels.providers.telegram.enabled boolean Telegram有効化 false
channels.providers.telegram.allowlist string[] 許可するUser IDリスト []
channels.providers.discord.enabled boolean Discord有効化 false
channels.providers.discord.allowlist string[] 許可するUser IDリスト []

まとめ

Claude Code Channelsは、AI開発ツールの「使い方の前提」を変える機能です。PCの前にいる間だけ使うツールから、どこにいても動かせる開発インフラへ。最初の設定(Botペアリング + allowlist登録)は5〜10分で完了します。

まずはTelegramでBotをペアリングして完了通知を受け取るだけでも始めてみてください。「長時間タスクを投げてPCから離れられる」体験が、Channelsの価値を実感させてくれます。セキュリティ設定・Permission Relay・ユースケースは、慣れてから少しずつ追加していけば十分です。

Claude Codeの全体的な使い方はClaude Code完全ガイドを、2026年3月の他のアップデート(/loop・ultrathink・Hooks進化・Agent Teams等)はClaude Code 2026年3月新機能完全ガイドをご覧ください。

よくある質問

QVPNやポート開放は必要ですか?

Aいいえ。Claude Codeがクラウド側にポーリングする仕組みのため、ルーターのポート開放やVPNは一切不要です。ファイアウォールでアウトバウンドHTTPSが許可されていれば動作します(通常は許可済みです)。

QTelegram/Discordのメッセージ内容はAnthropicに送られますか?

AChannelsのメッセージ内容はプロンプトとしてAnthropicのAPIに送信されます(通常のClaude Code利用と同じ)。機密情報を含む指示は、通常のClaude Code利用と同様の判断で扱ってください。Telegram/Discord自体のサーバーにもメッセージは一時的に保存されます。

QPCがスリープ状態になってもChannelsは動き続けますか?

APCがスリープすると通信が止まります。Channelsをバックグラウンドで安定稼働させたい場合は、PCのスリープを無効化するか、常時起動のサーバー・WSL上でClaude Codeを動かす方法が一般的です。Tmuxやscreenでセッションをバックグラウンド化するのも有効です。

Qスマホから送れるメッセージの長さに制限はありますか?

ATelegramは1メッセージ最大4096文字、Discordは2000文字の制限があります。長い指示は複数のメッセージに分けて送るか、コードファイルに書いて「このファイルの内容に従って実行して」と指示する方法が使えます。

QClaude Codeの返答が長すぎてTelegramに表示できません。

AClaude Codeの返答がTelegramの4096文字制限を超える場合は自動的に分割送信されます。ファイルとして保存させる(例: 「結果をreport.mdに書いて」)と長文を扱いやすくなります。

QPermission Relayのタイムアウト後はどうなりますか?

Aタイムアウト設定秒数(デフォルト300秒)内に応答しなかった場合、その操作は自動的に拒否されます。Claude Codeには「タイムアウトにより拒否されました」と通知され、タスクが中断または代替案を検討するフローに移ります。重要な操作の場合はタイムアウトを長めに設定しておくと安心です。