📲

モバイルだけでできる!Claude Codeで作業完了をSlack/Discordに自動通知する方法

に公開

最近は、モバイルでClaude Codeでのバイブコーディングが流行っていますね。私もiPadやiPhoneを使って自宅のパソコンにリモートでつないでバイブコーディングしています

モバイルでのバイブコーディングの設定

Tailscale VPN + Termius SSH = モバイルだけでバイブコーディング環境ができます!

VPN経由でTailscaleを使って自宅PCローカルサーバーに安全に接続し、その後TermiusアプリでSSHアクセスを使ってCLIを操作しています。この方法で、モバイルでバイブコーディングができます。​​​​​​​​​​​​​​​​

通知どうしよう

ただ、モバイルでバイブコーディングしてる時に知りたいのが、AIの作業終了時。

パソコンだといろんな選択肢、システム通知、音声通知などなどあるんですが、モバイルでリモート接続だと悩ましい。

そこで作業が完了したらDiscord/Slackに通知を送りたいと思います!

Webhookの準備

まず、通知を受け取る準備をしましょう。

Discordの場合

  1. 通知を送りたいDiscordサーバーを開く
  2. メニューから「サーバー設定」をクリック
  3. 「連携サービス」→「ウェブフック」
  4. 「新しいウェブフック」を作成
  5. 名前を決めて(例:「Claude Code」)、チャンネルを選択
  6. 「ウェブフックURLをコピー」

Slackの場合

  1. Slackワークスペースで「アプリ」→「アプリを追加」
  2. 「Incoming Webhooks」を検索して追加
  3. 通知を送りたいチャンネルを選択
  4. 「Incoming Webhook インテグレーションの追加」をクリック
  5. Webhook URLをコピー

通知送信のスクリプトを作る

1. フォルダ作成

作業フォルダに移動しスクリプトを保存するフォルダを作成(任意)

mkdir -p scripts/claude-code/

2. 通知スクリプト作成

Discord通知用

cat > scripts/claude-code/notify-completion-with-message.sh << 'EOF'
#!/bin/bash
MESSAGE="$1"
curl -H "Content-Type: application/json" -X POST -d "{\"content\":\"${MESSAGE}\"}" "https://discord.com/api/webhooks/YOUR_WEBHOOK_URL_HERE"
EOF

YOUR_WEBHOOK_URL_HEREの部分を、取得したWebhook URLに置き換えてください。

Slack通知用

cat > scripts/claude-code/notify-completion-slack.sh << 'EOF'
#!/bin/bash
MESSAGE="$1"
curl -X POST -H 'Content-type: application/json' --data "{\"text\":\"${MESSAGE}\"}" "https://hooks.slack.com/services/YOUR_SLACK_WEBHOOK_URL_HERE"
EOF

DiscordもSlackも基本的に同じ仕組みで、Webhook URLとJSONの形式が少し違うだけです。チームの使っているツールに合わせて選択できますね。

スクリプト化という”迂回ルート”

実はこれ、curlコマンドを直接許可するのではなく、スクリプトファイルにして、そのスクリプトを許可するという方法です。これならauto-acceptの時に承認プロンプトが出ません。

Claude Codeでの許可設定

次にここがポイントです。

  1. Claude Code起動後/allowed-tools と入力
  2. 「1. Add a new rule…」を選択
  3. 以下を入力:
Bash(scripts/claude-code/notify-completion-with-message.sh*)

これで、このスクリプトは承認なしで実行できるようになります。

Claude.mdの指示設定

プロジェクトのルートディレクトリに CLAUDE.md ファイルを作成して、以下の指示を追記しておくと、Claude Codeが自動的に作業完了時に通知を送ってくれるようになります。

# 作業終了時の指示

- タスクを完了したときには必ず以下の処理を実行すること:
  `bash scripts/claude-code/notify-completion-with-message.sh "完了したタスクの内容説明"` を実行する

この一行を追加するだけで、Claude Codeが作業を終えるたびに自動的にDiscordに通知が飛ぶようになります。

使ってみる

何かしら作業を指示して、auto-acceptにすると、作業終了後にDiscordに通知が飛びます。

意外とシンプルな解決策でしたが、こういう小さな改善の積み重ねが、日々の作業をより快適にしてくれます。

Discussion