フック (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'"
}
]
}
]
}
}こんな時に使う
- ファイル保存時に自動フォーマットしたい時
- コマンド実行前にログを残したい時
- 通知をカスタマイズしたい時
使い方
- 1hooks セクションにイベント種別を追加
- 2PreToolUse: ツール実行前に発火
- 3PostToolUse: ツール実行後に発火
- 4Notification: 通知時に発火
- 5matcher でツール名を指定(省略で全ツール対象)
Tips
- フックがエラーを返すとツール実行がブロックされる
- PreToolUse で入力を検証し、不正なら exit 1 で拒否可能
- PostToolUse で自動フォーマットやテスト実行が便利
- stdout への出力は Claude にフィードバックされる