You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
HooksArea: what it touches
ImprovementsKind: in v2.1.282,
ImprovementsSection of the release
Unclear It is not known how the duration appears in the input a hook receives.
What
A hook is a command that runs automatically at a set point. A PostToolUse hook runs after Claude successfully uses a tool, such as editing a file. Managed hooks are hooks set by an organization.
When only managed hooks are allowed, Claude Code now passes the tool call's duration in milliseconds to PostToolUse hooks. Before, no duration was passed on that path.
Why
Organization hooks can now see how long each tool ran.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Added sinceA small documentation edit on Hooks reference touched a line naming PostToolUse after this was published.| `effort` | Object with a `level` field holding the [effort level](/docs/en/model-config#adjust-effort-level) in effect when the hook runs: `"low"`, `"medium"`, `"high"`, `"xhigh"`, or `"max"`. If you set a level the active model doesn't …hookssee the edit
Confirmed sinceAnthropic's documentation has since written up PostToolUse, on Agent SDK reference - TypeScript.On Claude Code v2.1.227 or later, a hook's [`systemMessage`](/docs/en/hooks#json-output) can arrive as this message, with each line prefixed by the hook's name, such as `PostToolUse:Bash says:`. Each [event's section](/docs/en/hooks#hook-e…agent-sdk/typescriptsee the edit
How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtIt is not known how the duration appears in the input a hook receives.
Anthropic's documentation agreesAnthropic's documentation has since written up PostToolUse, on Agent SDK reference - TypeScript.