Claude Code hooksの使い方|全14イベント対応・設定から実践例まで徹底解説

Claude Codeでの開発中、「ファイル保存のたびにフォーマッターを手動で実行している」「危険なコマンドをうっかり許可してしまった」といった経験はないでしょうか。hooks機能を活用すると、こうした反復作業や見落としをシェルコマンドやLLM判定で自動化できます。 Claude Code hooksとは、Claude Codeのライフサイクル上の決まったタイミングで自動実行されるユーザー定義のコマンド群です。LLMの判断に頼らず確定的(deterministic)に動作するため、「必ず実行してほしい処理」に適しています。 hooksの基本構造と設定ファイル hooksの設定はJSON形式で記述し、3つの階層で構成されます。 イベント名(いつ発火するか) マッチャーグループ(どのツール・条件で絞り込むか) ハンドラ配列(何を実行するか) { "hooks": { "PostToolUse": [ { "matcher": "Edit|Write", "hooks": [ { "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" } ] } ] } } 設定ファイルの配置場所とスコープ 設定ファイルの置き場所によって適用範囲が変わります。 配置先 適用範囲 リポジトリ共有 ~/.claude/settings.json 全プロジェクト共通 不可(ローカルのみ) .claude/settings.json プロジェクト単位 可能(git commit対象) .claude/settings.local.json プロジェクト単位 不可(.gitignore推奨) マネージドポリシー 組織全体 管理者が制御 プラグイン hooks/hooks.json プラグイン有効時 プラグインに同梱 スキル・エージェントのfrontmatter コンポーネント稼働中のみ コンポーネントに定義 チームで統一したいルール(自動フォーマット等)は .claude/settings.json、個人環境だけに適用する通知設定は ~/.claude/settings.json に置く、という使い分けが実務では効果的です。 /hooksメニューによる対話的な設定 CLIで /hooks と入力すると、GUIライクなメニューが開きます。JSONを直接編集しなくても、イベント選択→マッチャー指定→コマンド入力→保存先選択の流れで設定を追加できます。 メニュー内ではフックごとにソースラベルが表示されます。 [User]: ~/.claude/settings.json [Project]: .claude/settings.json [Local]: .claude/settings.local.json [Plugin]: プラグイン同梱のhooks 全hooksを一括で無効化するトグルもこのメニューに用意されています。 ...

2026年2月9日 · 5 分 · 13100 文字 · uiuifree