PostToolUse
A Claude Code hook event, read out of the shipped bundle. No mined inventory carries it: everything below comes from what this site has written about it.
After a tool call succeeds
Anthropic's own wording. Read off Hooks reference, captured 2026-10-22.
In the changelogs
49Releases whose published page names PostToolUse.
-
v2.1.309
Hook output after a tool call is checked differently when the hook runs elsewhere
Claude Code reworked how it checks a hook's tool-specific output; when the hook runs elsewhere, the tool input passes through and a refusal is ignored
found in this entry's text
-
v2.1.300
Hooks running elsewhere can no longer swap out a tool's result
A PostToolUse hook that ran in another environment can no longer replace a tool's result, and Claude is told it read the original
found in this entry's text, named in this entry
-
v2.1.299
Plugins can now block agent wake-ups and withhold tool results
Plugins can now refuse to resume or wake an agent, refuse a call or withhold a tool's result, and Claude Code reports each case
found in this entry's text
-
v2.1.296
PostToolUse hooks can rewrite MCP tool results with updatedMCPToolOutput
A PostToolUse hook can now replace an MCP tool's result using updatedMCPToolOutput when it does not set updatedToolOutput
found in this entry's text
-
v2.1.296
PreToolUse hooks that stop a turn now get the same note as PostToolUse
A PreToolUse hook that stops Claude from continuing now produces the same stop note as PostToolUse, and 422 API errors are shown as 400
found in this entry's text
-
v2.1.295
Web search results can include page text for PostToolUse hooks
Each web search hit can now carry an optional snippet of page text, passed to PostToolUse hooks but not into the tool result
found in this entry's text
-
v2.1.295
Your own hooks can no longer rewrite tool calls or answers in personal mode
In a new personal mode, hooks from your own files can no longer change a tool call's input or certain tool results, and Claude Code says so
found in this entry's text
-
v2.1.293
Hooks running away from the tool can no longer rewrite its input or result
Hooks that ran somewhere other than the tool can no longer change its input or result: input changes become a denial, result changes are dropped
found in this entry's text
-
v2.1.287
Remote shell commands now pass on live progress and an output preview
Shell commands run for a remote session now pass on live progress and keep the end of their output as a preview
found in this entry's text
-
v2.1.287
Hook matching covers PostToolBatch, and repeated refusal log entries are capped
The matcher used for
PostToolUsehooks now also coversPostToolBatch, and refused-request log entries are recorded once per dayfound in this entry's text, named in this entry
-
v2.1.287
Remote sessions keep live shell output when no hooks are set
In remotely served sessions, Claude Code now keeps the latest live output of shell commands unless hooks are set up
found in this entry's text
-
v2.1.284
Headless runs now also wait for MCP servers named in allow rules and hooks
Before a -p run's first turn, Claude Code now also counts MCP servers named in allow rules and mcp_tool hooks as ones to wait for
found in this entry's text
-
v2.1.284
Bash is never treated as read-only in cloud-only sessions
In sessions that run file and shell tools only in the cloud, Bash is never counted as read-only, and a local git check is skipped
found in this entry's text
-
v2.1.283
Fewer false "file changed" edit failures after formatters and memory writes
After a hook or the background memory pass rewrites a file, Claude Code updates its record of that file, so a later edit no longer fails as stale
found in this entry's text
-
v2.1.283
Hooks can no longer change calls to the account memory server
Hooks may still allow or block calls to the account memory server, but a call they try to rewrite is denied and a rewritten result is dropped
found in this entry's text
-
v2.1.282
Managed PostToolUse hooks now get how long the tool ran
PostToolUse hooks run in managed-hooks-only mode now receive the duration of the tool call; before, none was passed
found in this entry's text, named in this entry
-
v2.1.277
Tool dispatch gains a 'detached' result path, and hook-output-mismatch errors now carry reason codes
Tool results get a new 'detached' stop path, and hook output errors now carry machine-readable reason codes
found in this entry's text
-
v2.1.273
Tool call duration now attached to PostToolUse-produced messages
Tool call duration is now recorded on messages produced after PostToolUse hooks run
found in this entry's text
-
v2.1.269
Bash tool can now show a diff of files it edited
Bash tool can now show a diff of files a shell command edited, on by default
found in this entry's text
-
v2.1.269
New bashEditDiffEnabled setting controls Bash-tool file-change diffs and PostToolUse hook data
New bashEditDiffEnabled setting shows diffs for files the Bash tool edits and passes changed files to PostToolUse hooks
found in this entry's text
-
v2.1.269
New 'bash edit diff' tracking for Bash commands
Bash commands can now produce a 'bash edit diff' showing the file changes they made
found in this entry's text
-
v2.1.267
New auto-detected PostToolUse hook offers to connect GitHub after a push or PR create
Claude Code can now offer to connect GitHub to claude.ai right after you push or open a pull request
found in this entry's text
-
v2.1.251
Plugin eval cross-checks mocked tool calls against what actually ran
Plugin eval refuses to grade a run when mocked tool calls don't match what actually ran.
found in this entry's text
-
v2.1.248
PostToolUse hooks receive how long the tool took
PostToolUse hooks now get duration_ms, the tool's own run time excluding prompts and hooks.
found in this entry's text
-
v2.1.248
Hook schema failures now print the exact field, a template, and which tool failed
A bad hook response now shows the exact failing field, the output and a template.
found in this entry's text
-
v2.1.236
PostToolUse hooks can pass context to the auto-mode permission classifier
Your PostToolUse hooks can send extra context to the classifier that decides permissions in auto mode.
found in this entry's text
-
v2.1.236
Old-style MCP tool-output rewrites from hooks are no longer applied silently
A hook using only the older MCP output field no longer silently rewrites tool results.
found in this entry's text
-
v2.1.236
Hooks and Ctrl-C go quiet once shutdown has started
Once you quit, hooks stop firing except SessionEnd and Ctrl-C no longer aborts the request.
found in this entry's text
-
v2.1.234
REPL tool has an async dispatch path, compiled off
The REPL tool could return a receipt and deliver results later, but that path is compiled off.
found in this entry's text
-
v2.1.225
Post-tool-use commit awareness no longer fires inside subagents
Commit-awareness notes now appear once in your main session instead of from every subagent.
found in this entry's text
-
v2.1.224
New post-commit review hook fires after git commits
After a git commit completes, Claude is now nudged to review what it just committed.
found in this entry's text
-
v2.1.199
Hook additionalContext: Structured JSON Output
found in this entry's text
- v2.1.196
-
v2.1.183
/init command — major guided-setup overhaul
found in this entry's text
-
v2.1.133
Reasoning Effort Exposed to Hooks and Bash
found in this entry's text
-
v2.1.124
update-configskill prompt rewrittenfound in this entry's text
- v2.1.121
-
v2.1.121
updatedToolOutputHook Propertyfound in this entry's text
-
v2.1.118
PostToolBatch Hook Event
found in this entry's text
-
v2.1.101
Hook Event Validation
found in this entry's text
-
v2.1.90
PostToolUse Hook File State Sync
found in this entry's text
-
v2.1.79
Slow Hook and Permission Logging
found in this entry's text
-
v2.1.28
Simplified Hook Context Session Persistence
found in this entry's text
-
v2.0.20
Hook Execution Progress Display
found in this entry's text
-
v1.0.114
Enhanced PostToolUse Hook Messages
found in this entry's text
-
v1.0.41
New SubagentStop Hook Event
found in this entry's text
-
v1.0.38
Major Features
found in this entry's text
-
v1.0.24
New Features
found in this entry's text
-
v1.0.23
Improvements
found in this entry's text
First cited
6The earliest release whose published evidence quoted PostToolUse was v2.1.79, 18 Mar 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
Presence across releases
0The miner has never read a build containing this name. It is here because a changelog entry of ours names it, which is evidence that it existed and not evidence of which releases carried it. The inventory starts at v2.1.138 and everything older than that was never mined.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the hook event does. All hook events.