チャネルを使用して実行中のセッションにイベントをプッシュする
チャネルを使用して、MCP サーバーから実行中の Claude Code セッションにメッセージ、アラート、ウェブフックをプッシュします。CI 結果、チャットメッセージ、監視イベントを転送して、あなたが不在の間に Claude が対応できるようにします。
チャネルは MCP サーバーで、実行中の Claude Code セッションにイベントをプッシュするため、あなたがターミナルにいない間に起こることに Claude が対応できます。チャネルは双方向にすることができます。Claude がイベントを読み取り、同じチャネルを通じて返信します。チャットブリッジのようなものです。イベントはセッションが開いている間だけ到着するため、常時稼働セットアップの場合は、Claude をバックグラウンドプロセスまたは永続的なターミナルで実行します。
新しいクラウドセッションを生成するか、ポーリングされるのを待つ統合とは異なり、イベントはすでに開いているセッションに到着します。チャネルの比較方法を参照してください。
チャネルをプラグインとしてインストールし、独自の認証情報で設定します。Telegram、Discord、iMessage はリサーチプレビューに含まれています。
Claude がチャネルを通じて返信する場合、ターミナルに受信メッセージが表示されますが、返信テキストは表示されません。ターミナルはツール呼び出しと確認(「送信済み」など)を表示し、実際の返信は他のプラットフォームに表示されます。
このページでは以下をカバーしています。
- サポートされているチャネル:Telegram、Discord、iMessage のセットアップ
- チャネルをインストールして実行する(fakechat、localhost デモ)
- メッセージをプッシュできるユーザー:送信者許可リストとペアリング方法
- 組織のチャネルを有効にする(Team および Enterprise)
- チャネルの比較方法(ウェブセッション、Slack、MCP、リモートコントロール)
独自のチャネルを構築するには、チャネルリファレンスを参照してください。
サポートされているチャネル
サポートされている各チャネルはプラグインで、Bun が必要です。実際のプラットフォームを接続する前にプラグインフローの実践的なデモを試すには、fakechat クイックスタートを試してください。
完全なTelegram プラグインソースを表示します。
Telegram ボットを作成する
Telegram で BotFather を開き、/newbot を送信します。表示名と bot で終わる一意のユーザー名を指定します。BotFather が返すトークンをコピーします。
プラグインをインストールする
Claude Code で以下を実行します。
/plugin install telegram@claude-plugins-official
Claude Code がプラグインがどのマーケットプレイスにも見つからないと報告する場合、マーケットプレイスが見つからないか古い可能性があります。/plugin marketplace update claude-plugins-official を実行して更新するか、まだ追加していない場合は /plugin marketplace add anthropics/claude-plugins-official を実行します。その後、インストールを再試行します。
インストール後、/reload-plugins を実行してプラグインの設定コマンドをアクティブにします。
トークンを設定する
BotFather からのトークンで設定コマンドを実行します。
/telegram:configure <token>
これは ~/.claude/channels/telegram/.env に保存されます。Claude Code を起動する前に、シェル環境で TELEGRAM_BOT_TOKEN を設定することもできます。
チャネルを有効にして再起動する
Claude Code を終了し、チャネルフラグで再起動します。これにより Telegram プラグインが起動し、ボットからのメッセージのポーリングが開始されます。
claude --channels plugin:telegram@claude-plugins-official
アカウントをペアリングする
Telegram を開き、ボットに任意のメッセージを送信します。ボットはペアリングコードで返信します。
ボットが応答しない場合は、前のステップから --channels で Claude Code が実行されていることを確認してください。ボットはチャネルがアクティブな間だけ返信できます。
Claude Code に戻り、以下を実行します。
/telegram:access pair <code>
その後、アクセスをロックダウンして、アカウントだけがメッセージを送信できるようにします。
/telegram:access policy allowlist
完全なDiscord プラグインソースを表示します。
Discord ボットを作成する
Discord Developer Portal に移動し、New Application をクリックして名前を付けます。Bot セクションでユーザー名を作成し、Reset Token をクリックしてトークンをコピーします。
Message Content Intent を有効にする
ボットの設定で、Privileged Gateway Intents までスクロールし、Message Content Intent を有効にします。
ボットをサーバーに招待する
OAuth2 > URL Generator に移動します。bot スコープを選択し、以下の権限を有効にします。
- View Channels
- Send Messages
- Send Messages in Threads
- Read Message History
- Attach Files
- Add Reactions
生成された URL を開いてボットをサーバーに追加します。
プラグインをインストールする
Claude Code で以下を実行します。
/plugin install discord@claude-plugins-official
Claude Code がプラグインがどのマーケットプレイスにも見つからないと報告する場合、マーケットプレイスが見つからないか古い可能性があります。/plugin marketplace update claude-plugins-official を実行して更新するか、まだ追加していない場合は /plugin marketplace add anthropics/claude-plugins-official を実行します。その後、インストールを再試行します。
インストール後、/reload-plugins を実行してプラグインの設定コマンドをアクティブにします。
トークンを設定する
コピーしたボットトークンで設定コマンドを実行します。
/discord:configure <token>
これは ~/.claude/channels/discord/.env に保存されます。Claude Code を起動する前に、シェル環境で DISCORD_BOT_TOKEN を設定することもできます。
チャネルを有効にして再起動する
Claude Code を終了し、チャネルフラグで再起動します。これにより Discord プラグインが接続され、ボットがメッセージを受信して応答できるようになります。
claude --channels plugin:discord@claude-plugins-official
アカウントをペアリングする
Discord でボットに DM を送信します。ボットはペアリングコードで返信します。
ボットが応答しない場合は、前のステップから --channels で Claude Code が実行されていることを確認してください。ボットはチャネルがアクティブな間だけ返信できます。
Claude Code に戻り、以下を実行します。
/discord:access pair <code>
その後、アクセスをロックダウンして、アカウントだけがメッセージを送信できるようにします。
/discord:access policy allowlist
完全なiMessage プラグインソースを表示します。
iMessage チャネルは Messages データベースを直接読み取り、AppleScript を通じて返信を送信します。macOS が必要で、ボットトークンや外部サービスは不要です。
フルディスクアクセスを許可する
~/Library/Messages/chat.db にある Messages データベースは macOS によって保護されています。サーバーが初めてそれを読み取るとき、macOS はアクセスを求めるプロンプトを表示します。Allow をクリックします。プロンプトは Bun を起動したアプリ(Terminal、iTerm、IDE など)の名前を表示します。
プロンプトが表示されない場合、または Don't Allow をクリックした場合は、System Settings > Privacy & Security > Full Disk Access でアクセスを手動で許可し、ターミナルを追加します。これがないと、サーバーは authorization denied で直ちに終了します。
プラグインをインストールする
Claude Code で以下を実行します。
/plugin install imessage@claude-plugins-official
Claude Code がプラグインがどのマーケットプレイスにも見つからないと報告する場合、マーケットプレイスが見つからないか古い可能性があります。/plugin marketplace update claude-plugins-official を実行して更新するか、まだ追加していない場合は /plugin marketplace add anthropics/claude-plugins-official を実行します。その後、インストールを再試行します。
チャネルを有効にして再起動する
Claude Code を終了し、チャネルフラグで再起動します。
claude --channels plugin:imessage@claude-plugins-official
自分自身にテキストを送信する
Apple ID にサインインしているデバイスで Messages を開き、自分自身にメッセージを送信します。それは Claude に直ちに到着します。セルフチャットはセットアップなしでアクセス制御をバイパスします。
Claude が送信する最初の返信は、ターミナルが Messages を制御できるかどうかを尋ねる macOS Automation プロンプトをトリガーします。OK をクリックします。
他の送信者を許可する
デフォルトでは、独自のメッセージだけが通過します。別の連絡先が Claude に到達できるようにするには、ハンドルを追加します。
/imessage:access allow +15551234567
ハンドルは +country 形式の電話番号または user@example.com のような Apple ID メールです。
また、独自のチャネルを構築して、まだプラグインがないシステムに対応することもできます。
クイックスタート
Fakechat は公式にサポートされているデモチャネルで、localhost でチャット UI を実行し、認証は不要で、設定する外部サービスもありません。
Fakechat をインストールして有効にすると、ブラウザで入力でき、メッセージが Claude Code セッションに到着します。Claude が返信し、返信がブラウザに戻ります。Fakechat インターフェイスをテストした後、Telegram、Discord、または iMessage を試してください。
Fakechat デモを試すには、以下が必要です。
- Claude Code がインストールされ、認証されている(claude.ai アカウントまたは Claude Console API キー)
- Bun がインストールされている。事前構築されたチャネルプラグインは Bun スクリプトです。
bun --versionで確認します。失敗する場合は、Bun をインストールします。 - Team、Enterprise、または管理 Console 組織:管理者がチャネルを有効にする必要があります。
Fakechat チャネルプラグインをインストールする
Claude Code セッションを開始し、インストールコマンドを実行します。
/plugin install fakechat@claude-plugins-official
Claude Code がプラグインがどのマーケットプレイスにも見つからないと報告する場合、マーケットプレイスが見つからないか古い可能性があります。/plugin marketplace update claude-plugins-official を実行して更新するか、まだ追加していない場合は /plugin marketplace add anthropics/claude-plugins-official を実行します。その後、インストールを再試行します。
チャネルを有効にして再起動する
Claude Code を終了し、--channels で再起動してインストールした Fakechat プラグインを渡します。
claude --channels plugin:fakechat@claude-plugins-official
Fakechat サーバーが自動的に起動します。
複数のプラグインを --channels に渡すことができます(スペース区切り)。
メッセージをプッシュする
http://localhost:8787 で Fakechat UI を開き、メッセージを入力します。
hey, what's in my working directory?
メッセージは Claude Code セッションに <channel source="fakechat"> イベントとして到着します。Claude がそれを読み取り、作業を行い、Fakechat の reply ツールを呼び出します。答えがチャット UI に表示されます。
Claude がターミナルから離れている間にパーミッションプロンプトにヒットした場合、セッションは応答するまで一時停止します。パーミッションリレー機能を宣言するチャネルサーバーは、これらのプロンプトをあなたに転送して、リモートで承認または拒否できるようにします。無人使用の場合、--dangerously-skip-permissions はプロンプトを完全にバイパスしますが、信頼できる環境でのみ使用してください。
非対話型モードで -p でチャネルを実行する場合、複数選択質問や Plan Mode 承認など、ターミナル入力が必要なツールは無効になるため、セッションは入力を待つことで停止することはありません。
セキュリティ
承認されたすべてのチャネルプラグインは送信者許可リストを保持します。追加した ID だけがメッセージをプッシュでき、他のすべては静かにドロップされます。
Telegram と Discord はペアリングでリストをブートストラップします。
- Telegram または Discord でボットを見つけ、任意のメッセージを送信します。
- ボットはペアリングコードで返信します。
- Claude Code セッションで、プロンプトが表示されたときにコードを承認します。
- 送信者 ID が許可リストに追加されます。
iMessage は異なります。自分自身にテキストを送信するとゲートを自動的にバイパスし、/imessage:access allow でハンドルを使用して他の連絡先を追加します。
その上に、--channels で各セッションで有効なサーバーを制御し、組織は claude.ai Team および Enterprise プランと、管理設定をデプロイする Console 組織で channelsEnabled で可用性を制御します。
.mcp.json にあるだけではメッセージをプッシュするのに十分ではありません。サーバーも --channels で名前を付ける必要があります。
許可リストは、チャネルが宣言する場合、パーミッションリレーもゲートします。チャネルを通じて返信できるすべてのユーザーは、セッションでのツール使用を承認または拒否できるため、その権限を信頼できる許可リスト送信者だけを追加してください。
Enterprise コントロール
管理者は 2 つの管理設定を通じて可用性を制御します。ユーザーはこれらをオーバーライドできません。デフォルトは認証方法によって異なります。
- claude.ai Team および Enterprise:チャネルは Owner が有効にするまでブロックされます。
- Anthropic Console と API キー認証:チャネルはデフォルトで許可されます。組織が管理設定をデプロイする場合のみこの設定が必要です。
すべての場合において、ユーザーが --channels でセッションにオプトインするまで、チャネルは実行されません。
| 設定 | 目的 | 設定されていない場合 |
|---|---|---|
channelsEnabled |
マスタースイッチ。チャネルがメッセージを配信するには true である必要があります。claude.ai Admin console トグルまたは管理設定で直接設定します。オフの場合、開発フラグを含むすべてのチャネルをブロックします。 |
claude.ai Team および Enterprise:チャネルがブロックされます。Console:組織が管理設定をデプロイしない限りチャネルが許可されます。その場合、このキーが設定されるまでチャネルがブロックされます。 |
allowedChannelPlugins |
チャネルが有効になったら、どのプラグインが登録できるか。設定されている場合、Anthropic が管理するリストを置き換えます。channelsEnabled が true の場合のみ適用されます。 |
Anthropic デフォルトリストが適用されます。 |
組織のない Pro および Max ユーザーはこれらのチェックを完全にスキップします。チャネルが利用可能で、ユーザーは --channels でセッションごとにオプトインします。
組織のチャネルを有効にする
claude.ai → Admin settings → Claude Code → Channels から組織のチャネルを有効にします。これには Owner ロールが必要です。または、管理設定で channelsEnabled を true に設定します。
有効にすると、組織内のユーザーは --channels を使用して個別のセッションにチャネルサーバーをオプトインできます。設定が無効または未設定の場合、MCP サーバーは接続され、そのツールは機能しますが、チャネルメッセージは到着しません。スタートアップ警告は、ユーザーに管理者が設定を有効にするよう指示します。
チャネルプラグインが実行できるものを制限する
デフォルトでは、Anthropic が管理する許可リスト上のプラグインはチャネルとして登録できます。Team および Enterprise プランの管理者は、管理設定で allowedChannelPlugins を設定することで、その許可リストを独自のものに置き換えることができます。これを使用して、許可されている公式プラグインを制限したり、独自の内部マーケットプレイスからチャネルを承認したり、その両方を行ったりします。各エントリは、プラグインとそれが由来するマーケットプレイスに名前を付けます。
{
"channelsEnabled": true,
"allowedChannelPlugins": [
{ "marketplace": "claude-plugins-official", "plugin": "telegram" },
{ "marketplace": "claude-plugins-official", "plugin": "discord" },
{ "marketplace": "acme-corp-plugins", "plugin": "internal-alerts" }
]
}
allowedChannelPlugins が設定されている場合、Anthropic 許可リスト全体を置き換えます。リストされたプラグインだけが登録できます。デフォルト Anthropic 許可リストにフォールバックするには、設定されていないままにします。空の配列はすべてのチャネルプラグインを許可リストからブロックしますが、--dangerously-load-development-channels はローカルテストのためにそれをバイパスできます。開発フラグを含むチャネルを完全にブロックするには、代わりに channelsEnabled を設定されていないままにします。
この設定には channelsEnabled: true が必要です。ユーザーが --channels にリストにないプラグインを渡す場合、Claude Code は通常起動しますが、チャネルは登録されず、スタートアップ通知はプラグインが組織の承認リストにないことを説明します。
リサーチプレビュー
チャネルはリサーチプレビュー機能です。可用性は段階的にロールアウトされており、--channels フラグの構文とプロトコルコントラクトはフィードバックに基づいて変更される可能性があります。
プレビュー中、--channels は Anthropic が管理する許可リストからのプラグイン、または管理者が allowedChannelPlugins を設定している場合は組織の許可リストからのプラグインのみを受け入れます。claude-plugins-official のチャネルプラグインはデフォルトで承認されたセットです。有効な許可リストにないものを渡す場合、Claude Code は通常起動しますが、チャネルは登録されず、スタートアップ通知は理由を伝えます。
構築しているチャネルをテストするには、--dangerously-load-development-channels を使用します。構築するカスタムチャネルのテストについては、リサーチプレビュー中のテストを参照してください。
Claude Code GitHub リポジトリで問題またはフィードバックを報告してください。
チャネルの比較方法
Claude Code のいくつかの機能はターミナルの外のシステムに接続し、それぞれ異なる種類の作業に適しています。
| 機能 | 何をするか | 適している用途 |
|---|---|---|
| ウェブ上の Claude Code | GitHub からクローンされた新しいクラウドサンドボックスでタスクを実行 | 後で確認する自己完結型の非同期作業を委任する |
| Slack の Claude | チャネルまたはスレッドの @Claude メンションからウェブセッションを生成 |
チームの会話コンテキストから直接タスクを開始する |
| 標準 MCP サーバー | Claude はタスク中にそれをクエリします。セッションには何もプッシュされません | Claude にシステムを読み取るまたはクエリするオンデマンドアクセスを提供する |
| リモートコントロール | claude.ai または Claude モバイルアプリからローカルセッションを駆動 | デスクから離れている間に進行中のセッションを操舵する |
チャネルは、Claude 以外のソースからのイベントをすでに実行中のローカルセッションにプッシュすることで、そのリストのギャップを埋めます。
- チャットブリッジ:Telegram、Discord、または iMessage を通じて電話から Claude に何かを尋ね、答えが同じチャットに戻ってきます。作業はマシンで実際のファイルに対して実行されます。
- ウェブフックレシーバー:CI、エラートラッカー、デプロイパイプライン、または他の外部サービスからのウェブフックが、Claude がファイルをすでに開いており、デバッグしていたことを覚えている場所に到着します。
次のステップ
チャネルが実行されたら、これらの関連機能を探索してください。
- 独自のチャネルを構築して、まだプラグインがないシステムに対応する
- リモートコントロールを使用して、イベントをそれに転送する代わりに電話からローカルセッションを駆動する
- スケジュール済みタスクを使用して、プッシュされたイベントに対応する代わりにタイマーでポーリングする