settings.json

PostToolUse

ツールの完了後に実行されるフック。

使い方・用途

  • ファイル編集直後に Prettier などのフォーマッタを自動実行して、コードのスタイルを一貫性に保つのに役立ちます。
  • ツールの実行結果を AI に渡す前に加工・置換したり、処理にかかった純粋な実行時間を計測して分析したりすることができます。
英語原文(公式ドキュメントより)

Hooks that run after tool completion

関連する変更履歴

v2.1.121 (1件)

Added
PostToolUse フックが、すべてのツールにおいて hookSpecificOutput.updatedToolOutput を介してツールの出力を置換できるようになりました(以前は MCP ツールのみ対応)。
英語原文を表示
PostToolUse hooks can now replace tool output for all tools via hookSpecificOutput.updatedToolOutput (previously MCP-only)

変更前

ツールの実行結果をフックで加工して Claude に渡す機能は、MCP サーバー経由のツールに限定されていました。Bash やファイル操作などの組み込みツールの出力を動的にフィルタリングしたり修正したりすることは困難でした。

変更後

すべての種類のツールで実行後の出力置換がサポートされました。フックスクリプトから updatedToolOutput を返すことで、Claude に渡される最終的なレスポンスを自在に制御できます。

ユーザーへの恩恵

秘匿情報のマスキングや、巨大なログ出力の要約など、Claude に渡す情報をフックでインテリジェントに制御し、コンテキストの質を高めることができます。

関連ドキュメント

v2.1.119 (2件)

Added
フック機能の改善:PostToolUse および PostToolUseFailure の入力 JSON に、ツールの純粋な実行時間を示す duration_ms が含まれるようになりました(承認待機時間は除く)
英語原文を表示
Hooks: PostToolUse and PostToolUseFailure hook inputs now include duration_ms (tool execution time, excluding permission prompts and PreToolUse hooks)

変更前

フックからツールの実行時間を把握することが難しく、どの操作に時間がかかっているかの正確な計測が困難でした。

変更後

フックへの入力データにミリ秒単位の duration_ms が追加され、ユーザーの承認待ち時間を除いた純粋な処理時間を取得できるようになりました。

ユーザーへの恩恵

独自のメトリクス収集や、処理の重いツール呼び出しの検知など、開発プロセスの分析と最適化がより精緻に行えるようになります。

Fixed
レスポンスを返さない非同期の PostToolUse フックが、セッション履歴に空のエントリを書き込んでしまう問題を修正しました
英語原文を表示
Fixed async PostToolUse hooks that emit no response payload writing empty entries to the session transcript

変更前

バックグラウンドで動作するフック(通知のみを行う場合など)を実行すると、履歴の中に何も表示されない不要な行が増えていきました。

変更後

レスポンスのないフック実行は履歴を汚さないよう適切に処理されます。

ユーザーへの恩恵

/resume などで会話履歴を見返す際、不要な空白が排除され、本来の会話内容が読みやすくなります。

v2.1.90 (1件)

Fixed
PostToolUse フックで「保存時にフォーマット」を実行する際、連続した編集の間にファイルが書き換えられることで Edit/Write ツールが "File content has changed" エラーで失敗する問題を修正しました。
英語原文を表示
Fixed Edit/Write failing with "File content has changed" when a PostToolUse format-on-save hook rewrites the file between consecutive edits

変更前

Claude がファイルを編集した直後にフックで Prettier などのフォーマッタを動かすと、Claude 側が持っているファイル状態と不一致が起き、次の編集ができなくなることがありました。

変更後

フックによる変更が正しく検知され、Claude はエラーで止まることなく連続した編集作業を継続できるようになりました。

ユーザーへの恩恵

自動フォーマットなどのフック機能を併用しているプロジェクトでも、Claude による一連のコード修正がスムーズに完了します。

関連ドキュメント

v2.1.89 (1件)

Fixed
Write/Edit/Readツールにおいて、PreToolUse/PostToolUseフックが file_path を絶対パスで受け取るよう修正しました。これはドキュメントの記載通りの挙動です。
英語原文を表示
Fixed PreToolUse/PostToolUse hooks to receive file_path as an absolute path for Write/Edit/Read tools, matching the documented behavior

変更前

フックに渡却されるパスが相対パスであったため、フック側のスクリプトでカレントディレクトリを移動している場合などにパスの解決が失敗することがありました。

変更後

常にルートからの絶対パスが渡されるようになり、どのような実行環境でもフックが正確に対象ファイルを特定できます。

ユーザーへの恩恵

フックを利用した複雑な自動処理や検証スクリプトの作成が、より簡単かつ確実になります。

関連ドキュメント

v2.1.88 (1件)

Fixed
Write/Edit/Readツールにおいて、PreToolUse/PostToolUseフックが file_path を絶対パスで提供していなかった問題を修正しました
英語原文を表示
Fixed PreToolUse/PostToolUse hooks not providing file_path as an absolute path for Write/Edit/Read tools

変更前

フック機能でファイルの変更を監視・処理する際、ファイルパスが相対パスで渡されることがあり、実行ディレクトリが異なると正しいファイルを特定できないリスクがありました。

変更後

常にルートからの絶対パスが渡されるようになり、どのディレクトリから実行しても確実に対象ファイルを処理できるようになりました。

ユーザーへの恩恵

自動フォーマットやバリデーションなどのフックの信頼性が高まり、複雑なプロジェクト構造でも誤作動の心配なく自動化を任せられます。

関連ドキュメント

v2.1.72 (1件)

Fixed
transcript_path の不備や設定保存時の prompt 消失、async フックの stdin 問題など、フック機能の複数の不具合を修正
英語原文を表示
Fixed several hooks issues: transcript_path pointing to the wrong directory for resumed/forked sessions, agent prompt being silently deleted from settings.json on every settings write, PostToolUse block reason displaying twice, async hooks not receiving stdin with bash read -r, and validation error message showing an example that fails validation

変更前

レジュームしたセッションで履歴パスが誤っていたり、非同期フックで read -r が動作しないなど、高度なカスタマイズを行うフック機能においていくつかの不安定な挙動がありました。

変更後

セッション管理とフック実行エンジンの修正により、自作の自動化スクリプトがより正確に動作するようになりました。

ユーザーへの恩恵

自作のフックを用いた高度なワークフロー自動化を、予期せぬエラーに悩まされることなく構築できます。

v2.1.47 (1件)

Fixed
WindowsでGit Bashではなくcmd.exeを使用していたため、フック(PreToolUse、PostToolUse)がサイレントに実行に失敗する問題を修正しました(anthropics/claude-code#25981)。
英語原文を表示
Fixed hooks (PreToolUse, PostToolUse) silently failing to execute on Windows by using Git Bash instead of cmd.exe (anthropics/claude-code#25981)

変更前

Windows環境では、cmd.exeが使用されていたため、フック(PreToolUse、PostToolUse)がサイレントに失敗し、実行されない問題がありました。

変更後

Windows環境でhooks(PreToolUse、PostToolUse)がサイレントに失敗する問題が修正されました。Git Bashが使用されるようになり、フックが正しく実行されるようになりました。

ユーザーへの恩恵

Windows環境でのフック実行が安定し、Git Bashの利用によりPreToolUseやPostToolUseといった重要な自動化処理が正しく機能するようになりました。

v2.1.0 (1件)

Added
エージェントのフロントマターでフック設定が可能になり、エージェントの生存期間に限定したフックを定義できるようになりました。
英語原文を表示
Added hooks support to agent frontmatter, allowing agents to define PreToolUse, PostToolUse, and Stop hooks scoped to the agent's lifecycle

v2.0.43 (1件)

Added
Added tool_use_id field to PreToolUseHookInput and PostToolUseHookInput types

関連ドキュメント

v2.0.32 (1件)

Fixed
Fixed hook progress messages not updating correctly during PostToolUse hook execution

v2.0.0 (1件)

Changed
Hooks: Reduced PostToolUse 'tool_use' ids were found without 'tool_result' blocks errors