Three plugins had incorrect hooks.json structure that caused hooks to fail:
- pr-review: SessionStart used nested `hooks` array without matcher
- cmdb-assistant: SessionStart used nested `hooks` array without matcher
- git-flow: Used completely wrong format (array with `event` field)
Per Claude Code documentation:
- Without matcher: direct `type`/`command` in the event array
- With matcher: nested `hooks` array inside matcher object
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>