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に通知することを確認できました。
以上