この記事では、Windows環境のClaude Codeで実際に試した結果をもとにまとめています。
ターミナルを開いたまま席を離れられない――そんな状況、ありませんか。Channels機能を使えば、DiscordやTelegramなどの外部チャットアプリからClaude Codeに指示を出せる。外出先でスマホからコード修正を頼むことも、理論上は可能だ。ただし「頼むだけで全部できる」わけではない。fakechatでの基本確認からDiscord連携まで正直に試し、どこをClaude Codeに任せて、どこを自分でやる必要があるかを見ていく。
この記事で確かめること
Claude CodeのChannels機能で、外部イベント(チャットアプリからのメッセージやCI通知)への自動対応がどこまで「頼むだけで」実現できるかを検証する。
範囲はfakechatプラグインでの基本動作確認と、DiscordまたはTelegram連携の実検証。CI通知の自動対応は現状のプラグインラインナップでは構成要件が足りず、今回は検証範囲外とする。
環境はWindows 11、入力はターミナルからの自然文依頼。
前提——必要な準備
この検証を進めるにあたり、事前に揃えた条件を書いておく。
- Windows 11環境であること
- Claude Code v2.1.80以降であること(
claude --versionで確認) - Bunがインストール済みであること。BunはChannelsのプラグイン動作に必要なランタイムで、
bun --versionで入っているか確認できる。未インストールの場合はBunの配布ページからインストーラーを取得する - claude.aiログインでClaude Codeを利用していること。Console認証やAPIキー認証ではChannelsは使えない。個人のPro/Maxでは利用できるが、Team/Enterpriseでは管理者がChannelsを有効化している必要がある
Channelsは執筆時点でリサーチプレビュー機能の位置づけだ。正式版ではなく、仕様が変わる可能性がある。
Claude Code自体まだ導入していない場合は、先にインストール手順を済ませてから読み進めてほしい。
やりたいこと——ターミナルから離れてもClaudeと話したい
Claude Codeを使っていると、ふと「ターミナルの前にいなくても指示を出せないか」と考える。例えば外出先でスマホからDiscord経由で「このファイルのバグを直して」と頼みたい。あるいは、CIが失敗したら自動でClaudeにエラー解析してほしい。
Channelsは、こうした「ターミナル外からのメッセージを実行中のセッションに届ける」ための機能だ。外部プラットフォームからのメッセージをMCPサーバー経由で受け取り、Claudeが応答する仕組み。チャットアプリとClaude Codeの間に橋を架けるような仕組みだ。
Step 1: 最初の依頼——Channelsのセットアップを頼む
次の依頼文でClaude CodeにChannelsのセットアップを頼んだ。
Windows 11環境です。Claude CodeのChannels機能を有効にして、
fakechatプラグインで動作確認するところまで進めてください。
前提としてBunはインストール済みです。
この依頼文にした理由は2つ。OSを明記したのは、Mac/Linux向けの手順が混ざるのを防ぐため。Bunインストール済みと書いたのは、Claude Codeに「Bunの導入手順は不要」と伝えるためだ。未インストールの場合は別途自分で入れる必要があるので、その旨も補足しておくと手順が膨らまない。
Step 2: 最初の結果——セットアップはどこまで進んだか
Claude Codeはおおむね次の手順を提示した。
/plugin install fakechat@claude-plugins-officialでfakechatプラグインをインストールclaude --channels plugin:fakechat@claude-plugins-officialでChannelsモードを起動- 起動後、fakechatのローカルUIを開き、ブラウザからメッセージを送信する
手順の流れは公式ドキュメントの記載に沿ったもの(プラグインインストール → --channels起動 → ペアリング)だった。ただしBunのインストール確認手順が省かれていた。依頼文で「Bunインストール済み」と書いたとはいえ、念のためbun --versionでの確認ステップがあると親切だった。
/plugin install fakechat@claude-plugins-official のコマンド形式は、プラグイン名に配布元(@claude-plugins-official)を付ける書き方。今回の環境ではこの形式でインストールを進めた。起動後はfakechatのブラウザUIからメッセージを送れる状態になる。人が手動で進めた部分は特になく、提示されたコマンドを順に実行するだけでfakechatの準備は整った。
Step 3: 修正指示——不足分を補う
大きな修正は不要だったが、一点だけ補足を依頼した。
Bunのバージョン確認ステップを追加してください。
また、fakechatでメッセージを送った後、
Claude Code側でどう表示されるかも教えてください。
狙いは、Bun未インストールの読者も想定した手順にすることと、メッセージ受信時の挙動を事前に把握すること。検証記事では「どこでつまずきやすいか」を見せるのが大事なので、確認ステップを増やしておく。
Step 4: 修正後の結果——fakechatで動作確認
修正後の手順にbun --versionの確認ステップが追加され、fakechatでのメッセージ送受信の流れも説明された。
fakechatプラグインはローカル環境で動くデモ用のチャネル。claude --channels plugin:fakechat@claude-plugins-official で起動後、ペアリングが完了すると、fakechatのエンドポイントからメッセージが送れる状態になる。実際にメッセージを送ると、ターミナル側のClaude Codeセッションにメッセージが届き、Claudeが自動で応答を返した。
ひとつだけ戸惑ったのが、起動完了までの待ち時間。--channelsで起動してからfakechatのUIが使える状態になるまでの間、ターミナルの出力が少なく、数十秒ほど不安に感じる時間があった。この間、「設定を間違えたか?」と不安になり、一度Ctrl+Cで止めてしまいかけた。UIが使えるようになってからは問題なくfakechatでメッセージの送受信ができたが、この「無言の待ち時間」は初心者だと不安になりやすい箇所だ。
送受信のラグはこの環境では数秒程度。fakechatでの確認に限れば、依頼文1回と修正指示1回の計2回のやり取りで動作確認まで到達できた。ただしfakechatはあくまでデモ用であり、実際のチャットアプリ連携は別の手順が必要。
Step 5: Discord/Telegram連携を試す
次に実際のチャットアプリとの連携を試す。
Discord連携の場合、まずDiscord Developer PortalでBotを作成し、Message Content Intentを有効化したうえで、必要な権限を付けてサーバーに招待する必要がある。このBot作成と権限設定はDeveloper Portal上での操作なので自分で進めた。Claude Codeに頼めたのは「Botの作り方を教えて」程度で、Portal上のクリック操作は今回の検証では人がやった。
Botがサーバーに追加できたら、次の手順で連携を進めた。
/plugin install discord@claude-plugins-officialでDiscordプラグインをインストール/reload-pluginsでプラグインの設定コマンドを有効化- Botトークンを設定(
/discord:configure <token>の形式で、Portalで発行したトークンを指定) claude --channels plugin:discord@claude-plugins-officialでDiscordチャネルを有効にして起動/discord:access pair <code>でペアリングを完了
ここで一つハマったのがBotの権限設定。連携完了後、Discord側からメッセージを送ってもClaude Codeセッションに届かない状態が数分続いた。Developer PortalのBot権限を確認すると、Send Messagesのチェックが漏れていた。権限を追加した途端にメッセージが届き始めたが、原因が権限不足だと気づくまでに少し時間がかかった。このあたりはDiscord側の設定なので、人が確認する必要がある。
連携完了までの所要感は、Bot作成を含めて20〜30分程度。Bot作成に慣れていればもっと短い。
Claude Codeに頼めた部分は「プラグイン追加コマンドの提示」と「ペアリング手順の説明」。Bot作成や権限設定は人がやる工程。
Telegram連携も基本的な流れは同じ。BotFatherでのBot作成が自分でやる部分で、その後は /plugin install telegram@claude-plugins-official → トークン設定 → ペアリングと同じ流れで進められる。
CI通知の自動対応——今回の範囲外
CI失敗通知をWebhook経由でChannelsに流す用途自体は想定されている。ただし、今回確認した既存のチャット系プラグインだけではそのまま完結しない。実現するには、Webhookを受けるカスタムチャネルプラグイン、または専用のMCPサーバー実装が必要になる。
プラグインの整備が進めば今後の検証課題。CI通知連携に興味がある人は、次に試すならセクションを参照してほしい。
制限事項と類似機能との違い
Channelsにはいくつか押さえておくべき制限がある。
確認できた制限:
- セッション起動中のみイベントが到達する。Claude Codeを終了すると、外部からのメッセージも届かない
- 認証はclaude.aiのログインが必要。アカウント連携が前提
- 対応プラグインはまだ少ない。今回確認できたものとしてfakechat、Discord、Telegramがある。iMessageチャネルも存在するが、macOS前提のため、Windows環境で進める本記事では対象外とする
- プラグインの追加には
--channelsフラグでの起動が必要
確認できなかった制限(実務上気になる点):
- セッションの最大維持時間(タイムアウトの有無と期間)
- 同時接続可能なチャネル数
- 1メッセージの最大文字数
- 複数チャネルへの同時ペアリングの可否
これらは今回の検証範囲では確認できなかった。長時間運用や複数チャネルの同時利用を考えている場合は、実際に試して確認することをおすすめする。
似た機能との違い:
| 機能 | 特徴 | 向いている用途 |
|---|---|---|
| **Channels** | 外部チャットアプリからメッセージを受信し、セッションに届ける | 外出先からの指示、CI通知の受け取り |
| **Remote Control** | 別の端末からClaude Codeセッションを操作 | 複数PCでの作業切り替え |
| **Claude Code on the Web** | ブラウザ上でClaude Codeを利用 | インストール不要で手軽に試す |
なお、Dispatchについては、公式ドキュメントのナビゲーション上で単独機能として確認できなかった。チャットブリッジやタスクキューのような機能を探している場合は、まずはChannelsとRemote Controlのどちらが近いかを確認すると良い。
Channelsが向いているのは「チャットアプリ経由でのやり取り」。複雑なワークフローを組む用途や常時稼働の自動化には向かない。
どこまで頼むだけでできた?
比較的任せやすい: fakechatでの動作確認、基本セットアップ手順の提示。依頼文1回で手順が出て、修正指示1回で補完された。
条件付きで使える: Discord/Telegram連携。Claude Codeはプラグイン追加やペアリング手順を提示してくれるが、Bot作成や権限設定は人がやる必要がある。
必ず確認: CI連携の正確性、カスタムプラグインの動作、セキュリティ設定。この領域は現状、公式プラグインだけではカバーしきれない。
やり取りの回数は、fakechat確認までが2回、Discord連携はBot設定を含めて30分程度だった。
この検証の振り返り
依頼文にOSと前提条件を明記したのは正解だった。これだけで手順のブレがかなり減る。「Bunインストール済み」と書いたおかげで、導入手順が省かれ本題に早く入れた。
外出先から指示を出したい人や、チャットアプリを普段使いしている人にはChannelsは向いている。一方で、常時ターミナル前にいる人や、複雑な自動化ワークフローを組みたい人にはメリットが薄いかもしれない。
環境やバージョンによっては、今後さらに進められる可能性がある。プラグインのラインナップが増えれば、CI連携のような用途も手軽に試せるようになるはずだ。
次に試すなら
- 次に読む:Remote Controlの解説記事。Channelsとの使い分けが整理できる
- 次に試す:カスタムチャネルプラグインの開発。CI通知連携に挑戦するなら、MCPサーバーの知識が役に立つ
- 高度な設定:CI/CDパイプラインへの組み込み。GitHub Actions等と連携させれば、プッシュ時の自動レビューも視野に入る
今回の結果は、利用モデル、接続先、時期、環境によって変わる可能性があります。再現する時は検証条件もあわせて確認してください。
