【結論】公式イベントHooksを設定する
Claude Codeには公式Hooksがあり、PreToolUse、PostToolUse、Stop、SessionStartなどのライフサイクルイベントで処理を実行できます。
Hooksはユーザー権限でShellを実行するため、まず/hooksから対象イベントとmatcherを限定します。
Formatterやテスト通知など、短時間で冪等な処理から導入します。
# 起動後のセッション内で実行:Hooks設定画面を開く
/hooks
# ターミナルで実行:設定ファイルをバックアップ
cp ~/.claude/settings.json ~/.claude/settings.json.bak 2>/dev/null || true
# ターミナルで実行:設定JSONを検証
python3 -m json.tool ~/.claude/settings.json > /dev/null具体的な手順・設定方法
自動化するイベント、対象ツール、対象拡張子を決めます。
PostToolUseで編集されたJavaScriptだけをFormatterへ渡すなどmatcherを狭くします。
意図した入力で一度だけ発火するか、終了コードとログを確認します。
実践プロンプト / 活用テクニック
# 起動後のセッション内で入力
PostToolUse hookの設計案を作成してください。
対象はEditまたはWriteで変更された.jsと.tsだけとし、Prettierの確認実行を提案してください。
設定ファイルの変更やコマンド実行はまだ行わないでください。注意点・よくあるエラーと対処法
Hooksはファイル削除、外部送信、Secrets読取も可能な高権限機能です。
Stop hookが自身の出力を再び条件にするとループするため、停止条件を設けます。
他人のリポジトリに含まれるHooksやMCP設定を承認前に監査してください。