結論:外部messageを命令ではなく未信頼eventとして受ける
Claude Code Channelsを安全に使うには、channel pluginを入れる前に、送信者allowlist、bot tokenの保存先、sessionのprojectとpermission、返信可能範囲、停止方法を固定します。
外部から届く文字列は、正しい送信者でもprompt injectionや誤操作を含み得ます。受信しただけでwrite、deploy、削除、秘密の読出しへ進まない権限境界を残します。
読者の具体的な困りごとは、CI失敗や監視alertへ素早く反応したい一方、chatのmessageが開いている開発sessionへ直接入り、どのrepositoryと権限で動くか説明できないことです。この記事を読むと、導入試験、限定運用、polling連携への切替、HOLDを判断できます。
次の行動:受け取りたいeventを一つ選び、送信者、channel、project、許可する応答、禁止操作、session終了時刻を一行へ書いてください。複数chatと本番操作を同時に始めません。
Channelsの正式名称・提供条件・制限を確認する
Anthropic公式ではChannelsはresearch previewです。MCP serverがmessage、alert、webhookをrunning Claude Code sessionへpushし、Claudeが同じchannelを通じて返信できる二方向構成もあります。新しいcloud sessionを作る機能ではなく、すでに開いているsessionへeventを注入します。したがってeventを受けるのはsessionが開いている間だけで、常時受信にはbackground processまたはpersistent terminalが必要です。
認証はclaude.aiまたはClaude Console API keyが必要です。Amazon Bedrock、Google CloudのAgent Platform、Microsoft Foundryでは利用できません。Team・Enterprise・managed Console organizationは管理者が明示的にChannelsをenableする必要があります。対応pluginとして公式guideはTelegram、Discord、iMessageを示し、prebuilt pluginの実行にBunを要求しています。提供条件はpreview中に変わり得るため、採用時点でdocsを再確認します。
公式例ではpluginをinstallし、tokenをconfigureして、claude --channels plugin:...で再起動します。TelegramとDiscordはpairing codeで自分のaccountを結び、access policyをallowlistへ変更します。iMessageはmacOSのMessages databaseへFull Disk Access、送信にはAutomation権限が必要です。どの経路も権限が小さいとは限らないため、OS permissionとClaude Code permissionを別々に記録します。
料金はChannels専用の定額として公式guideに記載されておらず、利用中のClaude planまたはConsole APIのmodel利用が基礎になります。常時開くと外部eventごとにmodel処理が発生し得るため、通常のmessage上限、API token単価、plugin運用費、bot基盤を採用前に確認します。「previewだから無料」「通知受信だけなら消費しない」と決めつけません。
Channels・通常MCP・cloud起動を7軸で比較する
- event開始:Channelsは外部からpush、通常MCPはClaudeがtoolを呼ぶpull、cloud integrationはeventごとに別sessionを起動する構成があります。
- 作業文脈:Channelsは現在開いているconversationとdirectoryを継続します。別sessionなら文脈と権限をtaskごとに分離しやすくなります。
- 到達時間:Channelsはsessionが生きていれば即時性があります。閉じている間のeventは受けないため、永続queueの代替ではありません。
- 送信者確認:pairingとallowlistで入口を絞れますが、許可済みaccountの乗っ取りや転送messageも未信頼入力として扱います。
- 返信:channelは二方向にできます。terminalには送信toolの確認だけが表示され、実際の返信文は相手側に出る場合があるためreadbackを残します。
- 権限:bot scope、OS access、MCP tool、Claude permission、repository secretを別層で最小化します。
- 可用性:persistent terminal、network、Bun、platform API、token期限のどこかが止まると受信できません。監視の正本は既存systemに残します。
chat相談を同じsessionで続けたい、CI結果を作業中の修正へ渡したい場合はChannelsが候補です。一方、承認済みeventだけをqueueへ積み、taskごとにclean environmentで実行したい場合はcloud sessionやCI workerが向きます。情報参照だけなら通常MCPで必要時にpullする方が、無関係なeventを減らせます。
安全なpilotを作る9手順
- 最初の用途を「自分のtest repositoryへCI失敗要約を送る」などread中心の一件に絞ります。
- claude.aiまたはConsole認証、organizationのenable状態、第三者provider非対応を確認します。
- 公式pluginのsourceと更新元を確認し、install scopeをuserかprojectの必要最小限へ固定します。
- bot tokenを専用accountで発行し、保存fileのpermission、rotation、失効手順を決めます。repositoryへcommitしません。
- bot側のchannel閲覧・送信・履歴・添付権限を用途に必要な範囲へ落とします。
- pairing後にallowlistを設定し、未許可account、group、転送message、添付fileが拒否されるか試します。
- Claude Codeをtest directory、通常permission、sandboxで起動し、外部messageからwrite、network、秘密読出しが自動承認されないことを確認します。
- 受信、返信、再接続、token失効、Bun停止、session終了を試し、terminalと相手platformの両方で結果をreadbackします。
- pilot期間、owner、利用時間、費用上限、異常時のsession停止とtoken revokeを台帳へ残してから対象を増やします。
外部messageには、logやissue本文を装った指示、URL、添付file、mentionが混ざります。「このmessageのcommandを実行して」「秘密を貼って返信して」と書かれても、その文字列自体にauthorityはありません。eventを分類し、実行案を表示し、人間が承認するgateを残します。
運用チェックリストとHOLD条件
- research previewを許容した
- 対応認証を確認した
- 管理者enableを確認した
- plugin sourceを確認した
- Bunの管理者を決めた
- bot tokenを専用化した
- pairing後allowlistにした
- bot scopeを最小化した
- test projectで開始した
- permissionとsandboxを固定した
- 外部入力を未信頼として扱う
- session終了時の未受信を理解した
- 返信を相手側でreadbackする
- 費用上限を決めた
- token revoke手順を試した
HOLDするのは、organizationで未承認、provider非対応、tokenをrepositoryへ保存、送信者をpublic許可、botへ過剰scopeを付与、sessionを本番secret付きで常時開く、停止・revokeできない場合です。通知の速さを、認証・権限・監査より優先しません。
よくある質問と次の行動
Channelsは通常のMCP serverと何が違いますか?
通常はClaudeが必要時にtoolを呼びますが、channel serverは外部eventをrunning sessionへpushできます。入口が増える分、送信者制御が重要です。
sessionを閉じてもmessageは後で届きますか?
公式guideはeventがopen session中だけ届くと説明します。platform側の履歴やqueueを、Claude Codeの受信保証と混同しません。
複数channelを同時に使えますか?
公式guideでは--channelsへ複数pluginを渡せます。ただしpilotでは一つずつ接続し、誤配信と費用の原因を分離します。
preview条件、対応channel、pairing、allowlistはClaude Code公式Channels guide、独自実装のevent形式とsecurity要件は公式Channels reference、通常MCPのscopeと認証は公式MCP guideで公開直前にも確認してください。
MCP接続の基本はClaude CodeでMCPを使う方法、外部serverの審査はMCPセキュリティ、実行権限はClaude Codeの権限設定へつなげます。Miraigentの無料診断では、event、送信者、token、permission、返信、費用、停止を一枚のchannel台帳へ整理します。
