Open6

Claude CodeのHooksでSlack通知を入れる

hosaka313hosaka313

通知のタイミング

以下の4種類。

  • PreToolUse
  • PostToolUse
  • Notification
  • Stop

今回はNotificationを使う。

hosaka313hosaka313

Notification

以下のinputが与えられる。

{
  "session_id": "abc123",
  "transcript_path": "~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",
  "message": "Task completed successfully",
  "title": "Claude Code"
}

設定は以下のようになる。

{
  "hooks": {
    "EventName": [
      {
        "matcher": "ToolPattern",
        "hooks": [
          {
            "type": "command",
            "command": "your-command-here"
          }
        ]
      }
    ]
  }
}
hosaka313hosaka313

設定

Claude Code/hooksとしてinteractiveに設定するか、直接~/.claude/settings.jsonを修正する。

  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "python3 /Users/hosaka/.claude/hooks/slack_notifier.py"
          }
        ]
      }
    ],
  }
hosaka313hosaka313

テスト

以下のようにツールが来る。5秒くらいラグがあるような気がする。即時ではない。