BlueAI株式会社BlueAI
応用

フック(Hooks)とは?

読み方: フック

定義

Claude Code の特定イベント(ツール実行前後、セッション開始時など)にユーザー定義のシェルコマンドを自動実行する仕組み。

詳しい解説

フックは Claude Code のライフサイクル上の特定タイミングで、ユーザーが定義したシェルコマンドを自動実行するための機能です。代表的なイベントは PreToolUse(ツール実行直前)、PostToolUse(ツール実行直後)、Stop(応答終了時)、UserPromptSubmit(プロンプト送信時)などがあります。.claude/settings.json の hooks フィールドにイベント名と実行コマンドを記述することで設定できます。フックの典型的な活用シーンとして、ファイル編集後に自動で linter / formatter を実行する、危険なコマンド(rm -rf、git push --force など)を PreToolUse で検出してブロックする、セッション終了時にコミットメッセージを Slack に通知する、といったユースケースがあります。フックは Claude 自身ではなく Claude Code のハーネスが実行するため、Claude に「次回からこうして」と記憶を頼んでも実現できない自動化要件はフックで実装する必要があります。フックの出力は Claude にフィードバックされるため、lint エラーを検出して自動修正させる、テスト失敗を通知して再実装させるといった自己修正ループも構築できます。設定の更新はホットリロードされないため、settings.json を編集したらセッションを再起動してください。

使用例

{"hooks": {"PostToolUse": [{"matcher": "Edit", "hooks": [{"type": "command", "command": "bun run lint"}]}]}}

Claude Code を体系的に学びませんか?

全10章・30レッスン無料公開中

第1章から始める