Hooksとは
Claude Codeがファイルを編集したり、コマンドを実行したりするタイミングで、自動的にスクリプトを走らせる仕組み。
セットアップ方法
Claude Codeに聞くのが一番早い:
Hooksを設定して。
ファイルを編集したら自動でPrettierを走らせるようにして。
.claude/settings.json に書いて。
手動で設定する場合
// .claude/settings.json
{
"hooks": {
"postToolUse": [
{
"matcher": "Edit|Write",
"command": "npx prettier --write $CLAUDE_FILE_PATH"
}
]
}
}
実践レシピ
レシピ1: 自動フォーマット
{
"matcher": "Edit|Write",
"command": "npx prettier --write $CLAUDE_FILE_PATH"
}
レシピ2: 自動lint修正
{
"matcher": "Edit",
"command": "npx eslint --fix $CLAUDE_FILE_PATH 2>/dev/null || true"
}
レシピ3: 本番DBアクセス防止
{
"matcher": "Bash",
"command": "echo $CLAUDE_TOOL_INPUT | grep -q 'production' && echo 'BLOCKED' && exit 1 || exit 0"
}
preToolUse で exit 1 を返すとコマンド実行をブロックできる。
レシピ4: 編集通知
{
"matcher": "Edit|Write",
"command": "echo '📝 Edited: '$CLAUDE_FILE_PATH"
}
注意点
- Hookが重いとClaude Codeの応答が遅くなる
|| trueをつけないとHook失敗でツールがブロックされる- Hookの出力はClaude Codeのコンテキストに入る