Hook authors get structured reasoning-effort information for tool-use lifecycle hooks, and Bash receives the active value as CLAUDE_EFFORT when the model supports effort.
Usage
echo "$CLAUDE_EFFORT"Details
- Hook input now includes an optional
effort.levelfield. - The value reflects the active effort level after any model-specific downgrade.
- The field is present for tool-use contexts such as
PreToolUse,PostToolUse,Stop, andSubagentStop, but absent for session-lifecycle hooks and models without effort support.
Evidence
Hook schema and Bash environment wiring (search for "Reasoning effort applied to the current turn" and "Active effort level for the current turn").
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
One source agreesOne thing we can check says the same as this entry.
Anthropic's release notes agree
Hooks now receive the active effort level via the effort.level JSON input field and the $CLAUDE_EFFORT environment variable, and Bash tool…