Fork of adrozdenko/hookify-plus, which is itself a community fix for the official hookify plugin for Claude Code.
The official hookify plugin has bugs that Anthropic hasn't merged fixes for. adrozdenko wrote the fixes. We audited the code, applied one additional fix (hooks.json path quoting for Windows), and vendored it so we don't depend on either upstream.
anthropics/claude-code (hookify) -- original, has bugs
-> adrozdenko/hookify-plus -- community fixes (MIT)
-> Pachacutie/hookify-plus-fork -- this repo (audited, +hooks.json fix)
| Fix | Issue |
|---|---|
event: stop rules no longer fire on every tool call |
#13464, #13962 |
Write tool new_text field actually works |
#16081 |
read event type for Read/Glob/Grep (no false triggers) |
#13464 |
not_regex_match operator |
New feature |
value key as alias for pattern |
New feature |
Global rules from ~/.claude/ |
New feature |
Update tool support in file events |
New feature |
| hooks.json paths quoted for Windows spaces | Our fix |
Clone this repo, then copy the files over the official hookify plugin:
# Backup official
Copy-Item -Recurse ~/.claude/plugins/marketplaces/claude-plugins-official/plugins/hookify `
~/.claude/plugins/marketplaces/claude-plugins-official/plugins/hookify.bak
# Overwrite with fixed versions
Copy-Item core/* ~/.claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/core/ -Force
Copy-Item hooks/* ~/.claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/hooks/ -ForceOr symlink the whole plugin directory if you prefer.
Rules are .claude/hookify.*.local.md files with YAML frontmatter:
---
name: rule-name
enabled: true
event: bash|file|read|stop|prompt|all
action: warn|block
conditions:
- field: command
operator: regex_match
pattern: rm\s+-rf
---
Message shown to Claude when the rule fires.See adrozdenko's README for full syntax docs.
- adrozdenko -- wrote all the fixes
- kp222x -- global rules PR
- heathdutton -- Write tool fix PR
- Anthropic -- original hookify plugin
MIT (same as upstream)