CC逆引きリファレンス

フック (hooks) を設定したい

4. 権限・セキュリティ

コマンド / 機能

hooks セクションに定義

ツール実行前後にコマンドを実行

設定例

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "echo 'Bashコマンド実行前'"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Write",
        "hooks": [
          {
            "type": "command",
            "command": "npm run lint --fix $CLAUDE_FILE_PATH"
          }
        ]
      }
    ],
    "Notification": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "notify-send 'Claude' '$CLAUDE_NOTIFICATION'"
          }
        ]
      }
    ]
  }
}

こんな時に使う

  • ファイル保存時に自動フォーマットしたい時
  • コマンド実行前にログを残したい時
  • 通知をカスタマイズしたい時

使い方

  1. 1hooks セクションにイベント種別を追加
  2. 2PreToolUse: ツール実行前に発火
  3. 3PostToolUse: ツール実行後に発火
  4. 4Notification: 通知時に発火
  5. 5matcher でツール名を指定(省略で全ツール対象)

Tips

  • フックがエラーを返すとツール実行がブロックされる
  • PreToolUse で入力を検証し、不正なら exit 1 で拒否可能
  • PostToolUse で自動フォーマットやテスト実行が便利
  • stdout への出力は Claude にフィードバックされる