Finding / claude-code

2026-10-24-claude-code-hook-failures-and-approval-paths-receive-further-fail-closed-repairs

Hook failures and approval paths receive further fail-closed repairs. Version 299 blocks failed Windows PreToolUse and PermissionRequest hooks with no shell specified when Git is missing. Version 309 repairs PowerShell exit-code handling and the explicit-PowerShell missing-Git case. Version 310 closes the remaining quoted-command-only case. Version 299 also runs UserPromptSubmit before a skill or slash command expands, so blocking the prompt stops embedded shell commands; a skill’s own frontmatter hook first runs on the following prompt. Version 300 validates hook updatedInput like model input: unknown keys are removed and invalid tool input denies the call. Version 310 also fixes VS Code’s plan-feedback button approving a plan when Enter should send feedback.

Channel: tagged-release. Half: defect. Date: 2026-10-23.

Operator consequence: Windows policy-hook deployments should test 310 with missing Git, a quoted executable path, crashes and timeouts. Keep onFailure: "block" for policy hooks: the 295 opt-in remains relevant and the general default remains continue. Do not generalize the social shorthand about exit 2 to every event; PermissionRequest needs its documented decision JSON and does not use exit 2 as a universal denial. Test what the approval UI does, not just what its button says.

Receipt

Finding metadata

Run: 2026-10-24-weekly-digest-2026-10-13_2026-10-24-frontier-v0

Finding ID: 2026-10-24-claude-code-hook-failures-and-approval-paths-receive-further-fail-closed-repairs

Profile citations

Source links

Primary links, including exact changelog lines when available.