Unclear How the "noBash" reason is shown to the user, or what it does to the hook, is not stated.
What
A hook is a command you set to run automatically at a given moment, for example before a tool runs. A shell is the program that runs typed commands, such as bash or PowerShell. Claude Code now flags a command hook with the reason "noBash" when all of these are true:
- The default shell is PowerShell.
- The hook does not set its shell to powershell.
- The hook has no args.
- The hook does not set onFailure to continue.
- A further check on the hook's event passes.
Before, this check could only report a problem with a setting, or nothing.
Why
On Windows setups that use PowerShell, a hook written for bash can now be picked out instead of being run in the wrong shell without notice.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
How the "noBash" reason is shown to the user, or what it does to the hook, is not stated.