通知フックを設定したい
10. フックコマンド / 機能
Notification通知イベント
概要
Claude がユーザーへの通知を送る時に呼び出されます。環境変数 $CLAUDE_NOTIFICATION で通知内容を取得し、外部サービスへ転送できます。
設定例
// settings.json
{
"hooks": {
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "notify-send 'Claude Code' \"$CLAUDE_NOTIFICATION\""
}
]
}
]
}
}
// Slack に通知するスクリプト例(./scripts/notify-slack.sh)
#!/bin/bash
curl -X POST -H 'Content-type: application/json' \
--data "{\"text\": \"Claude: $CLAUDE_NOTIFICATION\"}" \
"$SLACK_WEBHOOK_URL"
// macOS の通知センターを使う例
{
"hooks": {
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"$CLAUDE_NOTIFICATION\" with title \"Claude Code\"'"
}
]
}
]
}
}こんな時に使う
- Claude からの通知をカスタマイズしたい時
- Slack や Discord に通知を送りたい時
- 離席中に進捗を把握したい時
- 長時間タスクの完了を知りたい時
使い方
- 1Notification イベントにフック定義を追加
- 2$CLAUDE_NOTIFICATION 環境変数で通知メッセージを取得
- 3Linux: notify-send、macOS: osascript で通知
- 4外部サービス連携には curl でWebhookを叩く
Tips
- Notification は matcher を使わない(通知全般に適用)
- Slack Webhook URL は環境変数で設定するのが安全
- 通知頻度が高い場合は rate limiting を検討
- 重要な通知だけ転送したい場合は grep でフィルタ