{"version":"2.1.299","anchor":"hook-blocking-message-for-missing-git-bash","canonical_anchor":"hook-blocking-message-for-missing-git-bash","heading":"Clearer message when a hook is blocked because Git Bash is missing","tier":"notice","area":"Windows","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.299\/e\/hook-blocking-message-for-missing-git-bash","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.299","markdown":"### Clearer message when a hook is blocked because Git Bash is missing\n\nA hook blocked on Windows because Git Bash wasn't found now gets its own explanation instead of being blamed on personal-config restrictions\n\n**What**\n\nA hook is a command of your own that Claude Code runs at set moments. On Windows, hooks normally run through Git Bash. When Git Bash isn't found and the hook doesn't set `\"shell\"` to `\"powershell\"`, the hook is now described as blocked for that reason. Only an exit code of 0 or 2 counts as such a hook's verdict, unless it sets `\"shell\"` to `\"powershell\"`.\n\nThe separate case of your own hooks being blocked under `CLAUDE_CODE_RESTRICT_PERSONAL_CONFIG` keeps its own message. Before, any hook that wasn't required got that message.\n\n**Why**\n\nOn Windows without Git Bash, the old message could wrongly point at personal-config restrictions. The new one names the real cause, and setting `\"shell\"` to `\"powershell\"` on the hook is the way around it.\n\n- Area: Windows\n- Names: `shell`\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}