
Claude Code 2.1.195: Fix Your Hooks Now If You Use Hyphenated Tool Names
Chris Harper
2 min read
Jun 27, 2026 · 04:14 UTC
TL;DR: Claude Code 2.1.195 fixes a silent hook matcher bug — hyphenated identifiers like mcp__brave-search were substring-matching instead of exact-matching; if you use hooks, audit them now.
Claude Code 2.1.195 shipped June 27 with a fix you'll want to act on if you maintain hooks: hook matchers with hyphenated identifiers were doing substring matching instead of exact matching. A matcher like mcp__brave-search would fire on any tool name that contained brave-search as a substring, not just the exact tool.
What to check
If your .claude/settings.json hooks include matchers with hyphens — code-reviewer, mcp__brave-search, mcp__github-actions, or similar — they may have been matching a broader set of tools than intended. With 2.1.195, matching is now exact.
{
"hooks": {
"PreToolUse": [
{
"matcher": "mcp__brave-search",
"hooks": [{ "type": "command", "command": "echo 'brave-search called'" }]
}
]
}
}
Action: audit any hook that uses a hyphenated matcher, then re-test it. If you were accidentally relying on the substring behavior, split it into explicit matchers for each tool you want to target.
Other changes in 2.1.195
CLAUDE_CODE_DISABLE_MOUSE_CLICKS — new env var that disables mouse click interactions in fullscreen mode while keeping scroll wheel. Useful in tmux sessions and remote terminal environments where mouse clicks conflict with the host terminal.
export CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1
Voice dictation fixes — resolved issues on macOS and for CJK languages (Japanese, Chinese) and Thai, which don't use word-boundary spaces.
Stability — fixes for plugins, background jobs, and agent daemons.
Update
npm update -g @anthropic-ai/claude-code
# or
claude update
Sources: Claude Code changelog | Releasebot — Claude Code releases