The PostToolUse hook with a wildcard matcher fires on every single tool
call, flooding the user with dozens of notifications per turn. Replace
with Stop (fires once when Claude finishes) and Notification (fires
when Claude needs user input), matching the pattern already used by
discord-notifications and slack-notifications hooks.
- Update all 14 hooks to use proper Claude Code array/matcher format
- Fix CLI merge logic to handle new hook structure correctly
- Add support for both old and new hook formats during migration
- Remove conflict detection for hooks (Claude Code arrays support multiple entries)
- Ensure hooks follow proper structure:
{
"hooks": {
"EventName": [
{
"matcher": "ToolPattern",
"hooks": [
{"type": "command", "command": "bash-command"}
]
}
]
}
}
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>