「明日」をつくるしごととくらし

テクノロジーを取り入れた教育の普及に取り組んでいます。

Claude Code を Discord で操作:出先で AI コーディング

Claude Code は、ターミナル上で対話的にコーディングを進められるツールです。便利ですが、パソコンの前に座って、ターミナルやエディタを開ける環境でないと使えません。

でも、Discord 経由で Claude Code に指示を出せる仕組みが、公式のプラグインリポジトリで公開されたことを知りました。設定して試してみたところ、想像以上でした。スマホから Discord のボットに DM で「~~のプロジェクトを見て」と送ると、自宅の Mac 上で動いている Claude Code が GitHub に接続してリポジトリの状態を調べて報告してくれます。続けてバグを指摘してもらい、「修正して」と返すと、コードの編集からコミット、プッシュまで完了。ボタンのラベルを日本語に統一するといった細かい改善も、ボットとの会話だけで進められました。

移動中にボットとのチャットで指示すれば、帰宅したときには複雑なタスクの処理が終わっている。そういう使い方ができるようになったのです。

設定方法は以下のドキュメントに書いてありますが、このあと紹介します。 github.com

必要な環境

  • Mac に Claude Code インストール済み
  • Bun インストール済み(未インストールの場合: curl -fsSL https://bun.sh/install | bash
  • Discord アカウントおよびサーバー

1. Discord Bot の作成

  1. Discord Developer Portal を開き、新しいアプリケーション をクリック
  2. 任意の名前を付ける
  3. サイドバーの Bot を開き、Bot の名前を設定
  4. Privileged Gateway IntentsMessage Content Intent を有効化
  5. TokenReset Token でトークンを取得(一度しか表示されないので控えておく)

2. Bot をサーバーに招待

  1. OAuth2URL ジェネレーター を開く
  2. スコープbot を選択
  3. Bot の権限 で以下を選択
    • チャンネルの表示
    • メッセージを送る
    • Threads でメッセージを送る
    • メッセージ履歴を読む
    • ファイルを添付
    • リアクションを付ける
  4. Integration Typeサーバーのインストール に設定
  5. 生成されたURLをブラウザで開き、招待したいサーバーを選んで認証

3. プラグインのインストール(Claude Code内)

/plugin marketplace add anthropics/claude-plugins-official
/plugin install discord@claude-plugins-official

4. Bot トークンの設定

/discord:configure <取得したBotトークン>

トークンは ~/.claude/channels/discord/.env に保存される(chmod 600)。

5. Claude Code の起動

claude --channels plugin:discord@claude-plugins-official

6. ペアリング

  1. DiscordでBotにDMを送る(内容は何でもよい)
  2. BotからペアリングコードがDMで届く
  3. Claude Code内で以下を実行:
/discord:access pair <届いたコード>

これでDiscordからClaude Codeにメッセージが届くようになる。


tmux でバックグラウンド運用

Mac でターミナルを閉じると、Claude Code も終了してしまいます。そこで、tmux というツールを使います。tmux は端末多重化ソフトウェア(terminal multiplexer)で、ターミナルを閉じてもセッションをバックグラウンドで維持することができます。

tmux のインストール

brew install tmux

セッションの開始

tmux new -s claude-discord
claude --channels plugin:discord@claude-plugins-official

デタッチ(セッションを残してターミナルに戻る)

Ctrl + BD

再接続

tmux attach -t claude-discord

注意

  • Discordから届いたメッセージはそのままClaude Codeに渡されるため、第三者がボットにアクセスできる状態だと、危険な指示を実行させられる恐れがある。ペアリング完了後は /discord:configure を実行してアクセスポリシーを allowlist(自分のみ)に変更しておくこと