{"version":"2.1.312","anchor":"auto-mode-reissue-exempt-path-for-pretooluse-hook-rewrites","canonical_anchor":"auto-mode-reissue-exempt-path-for-pretooluse-hook-rewrites","heading":"In auto mode, a hook's rewrite of a tool call can now be dropped","tier":"notice","area":"Auto Mode","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/auto-mode-reissue-exempt-path-for-pretooluse-hook-rewrites","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312","markdown":"### In auto mode, a hook's rewrite of a tool call can now be dropped\n\nIn auto mode, Claude Code can now discard a PreToolUse hook's change to a tool call's input and cancel that hook's approval\n\n**Unclear.** Which tool calls get this handling is not established.\n\n**What**\n\nA tool call is one action Claude takes, such as running a command or editing a file. A `PreToolUse` hook is a command you configure to run before a tool call; it can block the call, approve it, or rewrite the input the call will use. Auto mode is the permission mode in which Claude Code decides for itself whether an action may run.\n\nClaude Code can now handle a tool call so that a `PreToolUse` hook's rewritten input is compared with the original. If the hook changed the input, the change is thrown away and any approval the hook gave is cancelled, so the call goes through the normal permission check instead. Claude Code also records whether a rewrite was dropped and which kind of rewriter changed the input. In auto mode, the input given to the safety check is now worked out before hooks run, so it reflects the call as Claude made it.\n\n**Why**\n\nIn auto mode, a hook that rewrites a tool call may no longer be able to approve the rewritten call on its own. If you use hooks that change tool input and also approve it, watch for calls that now ask for permission.\n\n- Area: Auto Mode\n- Names: `PreToolUse`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: yes"}