「PCの前にいなくても、スマホからClaude Codeに指示を出せたらいいのに」
開発者なら一度は感じたことがあるはずです。コードレビューの結果を電車で確認したい、外出先からデプロイの状況を聞きたい、ちょっとした修正をスマホから依頼したい。
Claude CodeのTelegramチャンネル機能を使えば、これが実現します。Telegramのチャット画面からClaude Codeに話しかけるだけで、ターミナルで操作しているのと同じように応答が返ってきます。
Claude Codeは通常、ターミナル(黒い画面)から対話します。チャンネル機能は、その入り口をターミナル以外に広げる仕組みです。
つまり Telegram BotがClaude Codeの「窓口」として機能 します。あなたがTelegramでメッセージを送ると、BotがそれをClaude Codeに伝え、Claude Codeの返答をBot経由でTelegramに返してくれます。
セットアップは大きく7つのステップに分かれます。所要時間は慣れている人で5分、初めての方でも15〜20分です。
Telegramプラグインの実行エンジンとして Bun が必要です。BunはNode.jsの高速な代替ランタイムで、インストールは1コマンドで完了します。
macOS / Linux の場合:
curl -fsSL https://bun.sh/install | bash
Windowsの場合:
powershell -c "irm bun.sh/install.ps1 | iex"
インストール後、ターミナルを再起動して以下のコマンドで確認します。
bun --version
# 例: 1.1.38 のようにバージョン番号が表示されればOK
スマートフォンに Telegram アプリをインストールしてください。
デスクトップアプリやWeb版でも動作しますが、スマホから操作するのが本来の利点なので、モバイルアプリの用意を推奨します。アカウント登録がまだの方は、電話番号認証で数分で完了します。
ここが最も重要なステップです。Telegramの「BotFather」という公式Botを使って、自分専用のBotを作成します。
Telegramアプリで検索バーに @BotFather と入力し、公式アカウント(青いチェックマーク付き)を開きます。
BotFatherとのチャットで以下のように操作します。
# あなたが送信するメッセージ
/newbot
# BotFatherの返信:
Alright, a new bot. How are we going to call it?
Please choose a name for your bot.
# Botの表示名を入力(日本語OK、好きな名前でOK)
My Claude Code Assistant
# BotFatherの返信:
Good. Now let's choose a username for your bot.
It must end in `bot`.
# Botのユーザー名を入力(英数字+アンダースコアのみ、末尾は必ず「bot」)
my_claude_code_bot
/newbot と送るbot で終わる必要あり)Botの作成に成功すると、BotFatherが API Token を返してくれます。
Done! Congratulations on your new bot. You will find it at
t.me/my_claude_code_bot.
Use this token to access the HTTP API:
123456789:AAHfiqksKZ8WG9lB3x7TkVpC_example
Keep your token secure and store it safely...
この 123456789:AAHfiqksKZ8... という文字列がトークンです。
claude と入力してClaude Codeを起動してから、その対話画面の中で入力してください。
ターミナルでClaude Codeを起動し、以下のコマンドを実行します。
/plugin install telegram@claude-plugins-official
「プラグインをインストールしますか?」という確認が出たら承認してください。
プラグインのインストールが完了したら、Step 2で取得したトークンを登録します。
# 自分のトークンに置き換えてください
/telegram:configure 123456789:AAHfiqksKZ8WG9lB3x7TkVpC_example
成功すると以下のような表示になります。
Token saved to ~/.claude/channels/telegram/.env (chmod 600)
chmod 600 というのは「ファイルの持ち主だけが読み書きできる」というセキュリティ設定です。トークンが他のユーザーから読まれるのを防いでいます。
引数なしで実行すると現在の状態を確認できます。
/telegram:configure
# 出力例:
Token: 123456789:... (set)
DM Policy: pairing
Allowed senders: 0
ここが通常のClaude Code起動と異なるポイントです。Telegramチャンネルを有効にするには、チャンネルフラグ付きで起動する必要があります。
一度現在のClaude Codeセッションを終了し、以下のコマンドでターミナルから再起動します。
claude --channels plugin:telegram@claude-plugins-official
起動すると、裏でTelegram Botが立ち上がり、メッセージを待機する状態になります。
セキュリティのため、Botは最初は誰のメッセージにも応答しません。まず自分のTelegramアカウントをBotに「ペアリング」する必要があります。
Telegramアプリで、Step 2で作成したBot(@my_claude_code_bot)を検索して開きます。チャット画面で何かメッセージを送ります。
こんにちは
Botから6文字の英数字コードが返ってきます。
Pairing code: a4f91c
Share this code with the assistant to connect.
PCのClaude Codeに戻り、以下を実行します。
# 実際に表示されたコードに置き換えてください
/telegram:access pair a4f91c
成功すると、TelegramのBotから確認メッセージが届きます。
Paired successfully. You can now message the assistant.
Telegramで何か質問を送ってみましょう。
今日の日付を教えて
数秒後、Claude Code経由で回答が返ってきます。これでペアリング完了です。
ペアリングが完了したら、必ずアクセスポリシーを allowlist に変更してください。
初期設定の pairing モードでは、誰でもBotにDMを送ればペアリングコードを取得できてしまいます。自分のペアリングが完了したら、新しいペアリングを受け付けないようにロックします。
/telegram:access policy allowlist
# 出力:
DM policy set to "allowlist".
Only senders in the allow list can reach the assistant.
これで、許可されたユーザー(あなた)以外からのメッセージはすべて無視されます。
他の人にもアクセスを開放したい場合は、以下の手順で追加できます。
# 1. 一時的にペアリングモードに戻す
/telegram:access policy pairing
# 2. 追加したい人にBotへDMしてもらう → コードを受け取る
# 3. コードを承認
/telegram:access pair [受け取ったコード]
# 4. 全員追加し終わったら再度ロックダウン
/telegram:access policy allowlist
追加したい人のTelegramユーザーID(数値)がわかっている場合。
/telegram:access allow 412587349
@userinfobot にDMすると、自分のIDが表示されます。
Botがメッセージを受け取ったとき、デフォルトでは目のリアクションがつきます。変更・無効化できます。
# リアクションを変更
/telegram:access set ackReaction thumbsup
# リアクションを無効化
/telegram:access set ackReaction ""
Claude Codeの回答が長い場合、Telegramの制限(1メッセージ4096文字)に合わせて自動分割されます。分割の仕方を変更できます。
# 段落区切りで分割(デフォルト・読みやすい)
/telegram:access set chunkMode newline
# 文字数で機械的に分割
/telegram:access set chunkMode length
1対1のDMだけでなく、Telegramグループに追加して使うこともできます。
# グループを追加(グループIDはマイナス値で始まる数値)
/telegram:access group add -1001654782309
# メンション必須にする(@bot名 で呼びかけたときだけ反応)
/telegram:access group add -1001654782309 --no-mention
他のチームメンバーにもTelegramからClaude Codeを使えるようにするには、以下の手順でエンジニアに依頼してください。
詳細な手順は、右上のトグルでEngineerモードに切り替えると確認できます。
| 確認ポイント | 対処法 |
|---|---|
| Claude Codeが起動しているか | claude --channels plugin:telegram@claude-plugins-official で再起動 |
| チャンネルフラグを付けて起動したか | --channels なしで起動するとBotは動かない |
| トークンは正しいか | /telegram:configure で確認。(set) になっているか |
| ペアリングは完了しているか | /telegram:access でallowlistに自分のIDがあるか確認 |
ポリシーが disabled になっていないか |
/telegram:access でdmPolicyを確認 |
ペアリングコードの有効期限は 1時間 です。期限が切れた場合は、もう一度BotにDMを送れば新しいコードが発行されます。
同じBotトークンで2つのプロセスが同時にポーリングしている場合に発生します。Claude Codeのセッションが1つだけ起動していることを確認してください。古いセッションが残っている場合はターミナルを閉じて再起動してください。
# トークンを削除
/telegram:configure clear
# 新しいトークンを設定
/telegram:configure [新しいトークン]
トークン変更後はClaude Codeの再起動が必要です。
上記を確認しても解決しない場合は、エンジニアにトラブルシューティングを依頼してください。右上のトグルでEngineerモードに切り替えると、より詳しいトラブルシューティング情報が表示されます。
| 項目 | 説明 |
|---|---|
| トークンの保管 |
~/.claude/channels/telegram/.env に保存、パーミッション600(所有者のみ読み書き可能)
安全な場所に自動保管されます。手動での管理は不要です
|
| ペアリング後のロックダウン | allowlist ポリシーに必ず切り替える |
| メッセージの信頼性 | Telegram経由のメッセージにはプロンプトインジェクションのリスクがある。Claude Codeの権限リクエスト(ファイル編集の許可など)は内容をよく確認してから承認する Claude Codeが「ファイルを編集してもいいですか?」と聞いてきたら、内容をよく読んでから承認してください |
| 共有PC | 他の人もPCを使う環境では、Claude Codeを起動しっぱなしにしない |
| Bot username | BotのユーザーID(@my_claude_code_bot)自体は公開情報。ロックダウンしていれば知られても問題ない |
/plugin install telegram@claude-plugins-official/telegram:configure [トークン]claude --channels plugin:telegram@claude-plugins-official で再起動/telegram:access pair [コード]/telegram:access policy allowlist ← 必須外出先やミーティング中でもスマホからClaude Codeに指示を出せるこの仕組みは、一度使い始めると手放せなくなります。セットアップ自体は15分程度で完了するので、Claude Codeをすでに活用している方はぜひ試してみてください。