CC逆引きリファレンス

通知フックを設定したい

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 に通知を送りたい時
  • 離席中に進捗を把握したい時
  • 長時間タスクの完了を知りたい時

使い方

  1. 1Notification イベントにフック定義を追加
  2. 2$CLAUDE_NOTIFICATION 環境変数で通知メッセージを取得
  3. 3Linux: notify-send、macOS: osascript で通知
  4. 4外部サービス連携には curl でWebhookを叩く

Tips

  • Notification は matcher を使わない(通知全般に適用)
  • Slack Webhook URL は環境変数で設定するのが安全
  • 通知頻度が高い場合は rate limiting を検討
  • 重要な通知だけ転送したい場合は grep でフィルタ