Claude Code Telegram連携セットアップガイド
Claude Code v2.1.80以降で使える Channels機能 を使い、TelegramからClaude Codeを操作する方法。
前提条件
- Claude Code v2.1.80以上
- Bun ランタイム(Node.jsではダメ)
- Telegramアカウント
構造図
flowchart TD
A["Bun"]
A --> B["cmd.exe 経由"]
B --> C["`/newbot` を送信"]
C --> D["Telegram に「Paired! Say hi to.."]
D --> E["3. プラグインをインストール"]
E --> F["Listening 表示されてても動かない場合"]
style F fill:#c05746,color:#fff,stroke:none
手順
1. Bun をインストール
プラグインのサーバーは Bun で動く。Node.js では動作しない。
Mac:
curl -fsSL https://bun.sh/install | bash
Windows(PowerShell):
powershell -c "irm bun.sh/install.ps1 | iex"
winget でもインストール可能だが、PATHに自動追加されない既知問題あり。公式インストーラー推奨。
重要: インストール後、ターミナルを完全に再起動すること。Claude Code は cmd.exe 経由でプラグインを spawn するため、Windows の PATH に bun が入っている必要がある。
2. Telegram Bot を作成
- Telegram で @BotFather を検索してチャットを開く
/newbotを送信- Bot の表示名を入力(例:
KodaChan Claude) - Bot のユーザー名を入力(
_botで終わる、例:kodachan_claude_bot) - 表示される API Token をコピー
3. プラグインをインストール
claude plugin install telegram@claude-plugins-official
4. Bot トークンを設定
Claude Code 内で:
/telegram:configure <コピーしたトークン>
トークンは ~/.claude/channels/telegram/.env に保存される。
5. Channels 付きでセッション起動
claude --channels plugin:telegram@claude-plugins-official
起動時に以下が表示されればOK:
Listening for channel messages from: plugin:telegram@claude-plugins-official
6. ペアリング
- Telegram で Bot を検索して DM を送る(
/startなど) - Bot がペアリングコードを返す(例:
a39faa) - Claude Code 内で承認:
/telegram:access pair <コード>
- Telegram に「Paired! Say hi to Claude.」が届く
7. アクセスをロックダウン
自分だけが使えるようにする:
/telegram:access policy allowlist
便利なエイリアス
毎回 --channels を指定するのが面倒なら:
# .bashrc に追加
alias ct="claude --channels plugin:telegram@claude-plugins-official"
Windows 特有のハマりポイント(2026-03-20 実体験)
Bun の PATH 問題
Claude Code はプラグインサーバーを cmd.exe 経由 で spawn する。Git Bash の PATH に bun があっても、Windows の System/User PATH に入っていなければ 'bun' is not recognized で失敗する。
確認方法:
# デバッグログで確認
grep "bun.*not recognized" ~/.claude/debug/*.txt
解決: winget ではなく公式インストーラーを使う(PowerShell で irm bun.sh/install.ps1 | iex)。公式インストーラーは %USERPROFILE%\.bun\bin を User PATH に自動追加する。
ターミナル再起動が必須
PATH を変更しても、同じターミナルウィンドウ内で /exit → 再起動しただけでは反映されない。ターミナルウィンドウ自体を閉じて新しく開くこと。
Listening 表示されてても動かない場合
「Listening for channel messages from:」が表示されても、実際にはサーバー起動に失敗している場合がある。--debug を付けて ~/.claude/debug/ のログを確認するのが確実。
トラブルシューティング
Bot が DM に反応しない
-
Bun がインストールされているか確認
bun --version -
cmd.exe から bun が見えるか確認(Windows の場合)
cmd //c "where bun"見えない場合はターミナルを完全に再起動
-
--channels付きで起動しているか確認 「Listening for channel messages from:」が表示されていること -
bun プロセスが実際に動いているか確認
tasklist | grep -i "bun.exe"表示されなければサーバーが起動に失敗している
-
デバッグモードで起動
claude --channels plugin:telegram@claude-plugins-official --debug~/.claude/debug/にログが出る。'bun' is not recognizedが出ていたら PATH の問題
アクセス管理コマンド一覧
| コマンド | 説明 |
|---|---|
| /telegram:access | 現在のステータス表示 |
| /telegram:access pair <code> | ペアリング承認 |
| /telegram:access deny <code> | ペアリング拒否 |
| /telegram:access allow <userId> | ユーザーを許可リストに追加 |
| /telegram:access remove <userId> | ユーザーを許可リストから削除 |
| /telegram:access policy allowlist | 許可リストのみに制限 |
| /telegram:access policy pairing | ペアリングモードに戻す |
関連ノート
- [[CLAUDE.md]]