{"version":"2.1.312","anchor":"remote-hook-rewrite-warning-message-unified","canonical_anchor":"remote-hook-rewrite-warning-message-unified","heading":"One warning now covers every refused tool call from a hook on another machine","tier":"notice","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/remote-hook-rewrite-warning-message-unified","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312","markdown":"### One warning now covers every refused tool call from a hook on another machine\n\nA hook on another machine that changes a tool call now gets the same \"rewrote the input, the call was refused\" warning for every hook type\n\n**What**\n\nA hook is a script you configure to run automatically at certain points, for example after a tool call (one action Claude takes, such as running a command or editing a file). When a hook that ran on another machine changes a tool call that belongs to this Claude Code process, Claude Code refuses the call and shows a warning.\n\nThat warning is now the same for every hook type. It says the hook rewrote the input of a tool call and the call was refused. Before, a `PostToolUse` hook (one that runs after a tool has finished) had its own message saying it had replaced the result of a tool call.\n\n**Why**\n\nIf you use `PostToolUse` hooks on another machine, the warning you see now talks about rewritten input even when the hook replaced a result, so the wording may not describe exactly what happened.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}