Evidence record / claude-code

A dated record of one change, kept so the writing that cites it can be checked. Compiled from the sources listed below by the research run, not written for reading. The judgment lives in the issues that cite it, below.

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.

Versioned source: run artifact