Claude CodeのHooksでタスクが終わる時に自動Slack通知を設定してみた

Claude CodeのHooksでタスクが終わる時に自動Slack通知を設定してみた

はじめに

Claude CodeのAgentモードでVibe Codingをする際に、同時に他の作業をやったりすることがよくあります。

Claude Codeのタスクが終わっても、気づかない時がよくなりますので、Hooks機能でタスクが終わる時、webhook経由自動にSlack通知を送るように設定してみました。

参考リンク:

手順

設定説明

HooksではClaude CodeのEvent(EventName)がトリガーされる際に、Command(例えばcurlコマンドなど)を実行させることができます。

注意点としては、settings.local.json(もしくはsettings.json)を直接編集する時は、文字列のクオテーションマーク(") にバックスラッシュ() を入れる必要があります。

手順は二種類ありますので、両方ともご紹介させていただきます。
(今回はClaude CodeのLocal Settingでテストします)

方法一:Claude Codeのターミナル画面でHooksを追加

  • Claudeでターミナルを起動
  • /hooksでHooksの設定画面に移動
  • 6.Stop - Right before Claude concludes its responseを選ぶ
  • + Add new hook…で新しいHookを追加
  • Slack webhook通知のcurlコマンドを入力し、Enterキーで次のステップに進む
  • 1.Project settings (local)

Hookの参考コマンド

curl -X POST -H 'Content-type: application/json' --data '{"text":"Claude Code is waiting!"}' https://hooks.slack.com/services/xxxxxxxxx/yyyyyyyyyy/zzzzzzzzzzz

方法ニ:.claude/settings.local.jsonを手動作成

  • プロジェクト配下に.claudeフォルダを作成
  • .claudeフォルダ配下にsettings.local.jsonを作成(設定内容は下記にご参考ください)

settings.local.jsonの設定内容

{
  "hooks": {
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "curl -X POST -H 'Content-type: application/json' --data '{\"text\":\"Claude Code is waiting!\"}' https://hooks.slack.com/services/xxxxxxxxx/yyyyyyyyyy/zzzzzzzzzzz"
          }
        ]
      }
    ]
  }
}

テストしてみる

Claude Codeに「Pythonの勉強プランを作ってください」との指示を出して、作業が終わったらSlackに通知することを確認できました。

1

2

3

以上

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.