Unclear Which Bash commands count as matching a Monitor matcher is not spelled out.
What
Hooks are your own commands that Claude Code runs at set moments, such as before a tool runs. A matcher decides which tool calls a hook applies to. Two changes affect which hooks run:
- Command hooks from a project's settings now go through a
copyThatAppliesstep when one is registered. The hook is replaced by what it returns, or dropped when it returns nothing.asStandInis no longer set for project-settings hooks. - A tool-name matcher can now match through related names: a Bash command can match a matcher named Monitor. Hooks record this with
throughFamilyOnlyandmatcherMetThroughOtherName. - A hook whose
ifcondition names Monitor is skipped when its matcher matched the call only through Bash, with the log line "Skipping hook: its if condition ... names Monitor, and its matcher met the call only through Bash".
Why
Hooks defined in a repository's project settings may no longer run as written, and hooks aimed at Bash or Monitor may fire on calls they did not catch before. If a hook stops or starts firing, these are places to check.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
Which Bash commands count as matching a Monitor matcher is not spelled out.