{"version":"2.1.321","anchor":"hook-runs-short-circuit-when-path-is-unmade-tool-input-back","canonical_anchor":"hook-runs-short-circuit-when-path-is-unmade-tool-input-back","heading":"Hooks now see tool input filled in the same way the tool does","tier":"notice","area":"Hooks","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.321\/e\/hook-runs-short-circuit-when-path-is-unmade-tool-input-back","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.321","markdown":"### Hooks now see tool input filled in the same way the tool does\n\nHook input is now completed the same way the tool sees it, and the hook run stops early if that step fails unexpectedly\n\n**What**\n\nHooks are your own scripts that Claude Code runs around tool uses. When Claude Code prepares the input it hands to a hook, it now fills in the tool's input the same way the tool itself sees it. Before, the input was only repaired and had one field transformed.\n\nIf that fill-in step fails with an unexpected error, Claude Code stops that hook run early.\n\n**Why**\n\nHooks now get the same view of a tool's input as the tool, so a hook's checks match what will actually run. If the input cannot be filled in, the hook does not run on it.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}