CLAUDE LABEN
FORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられていますFORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられています
記事一覧/Claude Code
Claude Code/2026-04-27上級

Claude Code Hooks — 8種類のフックを使い分ける設計判断と落とし穴

Claude Code のフックは強力ですが、どのイベントで何ができるかが曖昧で、結局使いこなせないまま終わる人が多いです。私が半年運用して辿り着いた、フック種別ごとの設計判断と典型的な落とし穴を整理します。

Claude Code197Hooks4自動化68ワークフロー20実践ガイドエージェント設計4

プレミアム記事

Claude Code のフックを本格的に使い始めて半年ほど経った頃、私は同じ壁に何度もぶつかっていました。

ドキュメントには「PreToolUse でツール呼び出し前に何かできます」と書いてあります。でも実務では「その『何か』がまず定義できない」という問題に直面します。フックを設定してみても、思った通りに動かないことが多い。設定ファイルを見返しても、エラーが出ているわけでもありません。なのに、何も変化がありません。

この記事は「フックを導入して3ヶ月で挫折した人向けの再入門ガイド」です。8種類のフックそれぞれについて、「実務のどんな場面で活躍するのか」を、実際に動いているコード例とともに示します。

フックを使う前に押さえるべき設計思想

Claude Code のフックを理解するには「フックは単なるトリガーではなく、フロー制御の仕組みそのもの」という視点が必要です。

従来のコード生成ツールは「プロンプト → コード生成 → 終わり」という一方向です。でも Claude Code は「ユーザー ⇄ Claude Code(フック) ⇄ ツール(git / npm / shell)」という双方向の関係を作ります。

フックはこの双方向性を司る司令塔です。

重要な設計原則は「責任の分離」です。

  • PreToolUse: ツール実行「前」の検証・準備
  • PostToolUse: ツール実行「後」の確認・修正
  • UserPromptSubmit: ユーザー入力の前処理・フィルタリング
  • Stop: フロー全体の停止判定

これらが交差すると、バグのもとになります。「あ、これ PreToolUse でやった方がいい」「いや、これは Stop で判定すべき」という判断が必要です。

もう1つ、頭に入れておくべきは「フックは同期的に動く」ということです。非同期処理(Promise)をフックに入れると、Claude Code は「あ、非同期か」と認識して待ってくれます。でも、その待ち時間が長すぎると、セッションがタイムアウトします。この均衡が難しい。

8種類のフック一覧と用途マッピング

Claude Code が提供する 8 種類のフックを、簡易的な用途マッピングで整理します。

なお、この記事に登場する JSON は、各フックが「何を責務とするのか」を掴んでいただくための概念的な擬似スキーマです。実際に設定ファイルへ書く形式は、後半の「実際の設定ファイルはどう書くのか」で改めて示します。まずは責務の地図を頭に入れてください。

フック名発火タイミング主な用途
PreToolUseツール実行「直前」コマンド検証・キャッシュ確認・セキュリティゲート
PostToolUseツール実行「直後」結果の検証・エラーハンドリング・ログ記録
UserPromptSubmitユーザーメッセージ送信「直前」入力の前処理・プロンプト注入対策・コンテキスト埋め込み
Stopフロー終了「判定時」自動終了条件・目標達成判定
Notification任意のタイミング外部通知・Slack/メール送信
SessionStartセッション開始「直後」初期化・環境変数設定・プロジェクト状態確認
SessionEndセッション終了「直前」クリーンアップ・最終レポート生成
SubagentStopサブエージェント終了「判定時」サブエージェント結果の親フローへの反映

「いや待って、全部重要に見えるんだけど」という感覚は正しいです。だから、実務では「何を優先するか」を決めることが大事です。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
疑似スキーマではなく settings.json に書く実際の hooks 設定形式(matcher・command・stdin の JSON 契約・exit code 2 でのブロック)
フック8種の発火順序と、PreToolUse と PostToolUse の間で環境変数が引き継がれない理由と回避策
フック追加によるツール実行オーバーヘッドの実測値と、体感を損なわないための閾値設計
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-04-02
Claude Code Hooks:自動化ワークフローの実践的な構築方法
Claude Code Hooksの仕組みを体系的に解説。PreToolUse・PostToolUse・Stop・Notificationなど各フックの活用方法から、実践的な自動化ワークフローの構築まで丁寧に紹介します。
Claude Code2026-04-24
Claude Code の TodoList はタスク粒度で品質が決まる — 実装で効いたパターン集
Claude Code の TodoList ツールは使い方を誤ると逆効果になります。タスクの粒度・検証ステップの設計・更新タイミングの3つの観点から、実務で成果が出た使い分けパターンをまとめました。
Claude Code2026-03-21
CLAUDE.md の設計で Claude Code の出力が安定する — 階層構造・サブエージェント・外部メモリの実践
CLAUDE.md を階層設計(グローバル・プロジェクト・ルール)で整え、サブエージェントと外部メモリを組み合わせて Claude Code の出力を安定させる方法を、実際の運用で効いた工夫とともに解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →