Claude Code's PreToolUse hooks documentation shows updatedInput at the top level of the JSON response, but the compiled binary's validation schema expects it nested inside hookSpecificOutput. When placed as documented, the field is silently ignored and the original command executes; moving it one level deeper makes the rewrite work consistently.