Claude Code Hooks: 自動化ポリシーの完全ガイド
Claude Code Hooks の guidance-first 判断ガイド。Hooks なしを基準に実効設定を把握し、本当に必要な場合だけ狭い自動化へオプトインします。
現在の方針: Hooks は任意の自動化であり、必須のポリシー層ではありません。ユーザーが文書化されたプロジェクト統合を明示的に有効化しない限り、Claude World のツールキットは有効な Hook を登録しません。
Hooks はライフサイクルイベントをコマンドなどの対応 handler へ接続します。強力である一方、対話 Session の実行経路へ直接コードを置くことになります。まず Hooks なしで始め、他の場所では明確に表現できない最小限の自動化だけを追加するのが最善です。
Hooks、ガイダンス、権限、CI の役割
- ガイダンスは判断の余地を残しながら、望ましい進め方を伝えます。
- Skills は再利用できる手順をまとめ、必要なときに Claude またはユーザーが選択します。
- ネイティブ権限は Runtime が利用できるツールと操作を決めます。
- CI は明確なデリバリー境界で Repository の結果を検証します。
- Hooks はライフサイクルイベントへ自動的に反応します。
隠れた Hook スクリプトで権限や CI を作り直さず、すべての推奨事項を強制イベント handler にしないでください。
判断の順序
次の順番で確認します。
- 短い
CLAUDE.mdの指示で意図を伝えられるか。 - Skill にまとめるべき再利用ワークフローか。
- ユーザーまたは CI が明確な checkpoint で実行できるか。
- ライフサイクルイベントで自動実行する必要が本当にあるか。
- 追加される遅延と失敗モードを全利用者が受け入れられるか。
4番目が肯定の場合にだけ Hook を検討します。
既定の運用プロファイル
低干渉な環境は次の状態です。
- ツールキットによるユーザー全体の Hook 登録はゼロ。
- 隠れた deny ルールがない。
- 自動継続ループがない。
- commit、push、deploy、破壊的操作を自動実行しない。
- ユーザーが CLI のネイティブ権限プロファイルを明示的に選ぶ。
- 任意のプロジェクト Hooks はプロジェクトと一緒に文書化する。
組織管理ポリシーと既存のユーザー設定は Session に影響する場合があります。ツールキットはそれらを上書きできると主張すべきではありません。
停止イベントについて
停止イベントと subagent の停止イベントはライフサイクル統合に利用できますが、既定の「作業を続ける」スイッチにはしません。完了を繰り返し拒否する handler は Agent を閉じ込め、tokens を消費し、タスクの実態を隠します。
ユーザーが追加の反復を望む場合は、可視で任意に開始するワークフローまたは Skill を使用します。受け入れ条件を満たしたときやユーザーが停止を求めたときは、Session を正常に終了させます。
プロジェクト単位のオプトイン
Hook が必要な場合:
- 必要とするプロジェクトで登録する。
- 読み取るデータと実行コマンドを説明する。
- 有効化と削除方法を明示する。
- 実行時間と出力を制限する。
- 変更より観測を優先する。
- 無効化しても CLI が通常動作することを確認する。
ツールキットと共有環境の Hooks はプロジェクト単位に限定します。このガイドはユーザー全体の Hooks をインストールも推奨もしません。既存の個人登録は別のローカル設定として明示的に監査し、今も意図的に必要な場合を除いて削除します。
遅い、または停止した Session の診断
組織管理、ユーザー、プロジェクト、ローカル設定で実際に有効な Hooks を一覧化します。イベントの重複、存在しないスクリプト、ネットワーク呼び出し、CLI の再帰起動、完了を拒否できる handler を確認します。登録を1つずつ無効化し、新しい Session で差を測定します。
別の互換 CLI が Claude 設定を再利用する場合は特に重要です。1製品の Hook ディレクトリだけではなく、実効設定を監査してください。
対応イベントと最新の設定構文はセッション15:Hooksシステムを参照してください。必須 Hooks なしで portable agents、skills、Session handoff を利用するには Director Mode Lite を参照してください。