Easily create hooks to prevent unwanted behaviors by analyzing conversation patterns
List all configured hookify rules
Enable or disable hookify rules interactively
Get help with the hookify plugin
Create hooks to prevent unwanted behaviors from conversation analysis or explicit instructions
Matches all tools
Hooks run on every tool call, not just specific ones
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Patched fork of Anthropic's hookify Claude Code plugin with bug fixes, a JSON rule cache, and community improvements. Maintained at reyequis/hookify -- pending upstream merge.
Global rules never load (bug #2) -- The official plugin uses a relative glob (os.path.join('.claude', ...)) that only finds rules when CWD happens to be the project root. Rules in ~/.claude/ (user scope) are silently ignored. Fixed by resolving paths from CLAUDE_PROJECT_DIR and ~/.claude/ explicitly. See issue #503.
Write tool bypasses file rules (bug #3) -- Rules with event: file only check new_string (the Edit tool's input key). The Write tool sends content instead, so its payload is never matched and action: block rules silently fail. Fixed by falling back through content, new_string, and new_text for all file-event tools. See issue #1694.
The official plugin reads and parses every .md rule file (YAML frontmatter + markdown body) from disk on every hook event (~5ms). This fork parses once, serializes the result to a single JSON cache file, and reads that on subsequent events. The cache is invalidated automatically when any rule file's mtime changes.
| Metric | Official | This fork |
|---|---|---|
| Per-event latency (cold) | ~5ms | <1ms |
| Per-event latency (warm) | ~5ms | <0.1ms |
Set HOOKIFY_NO_CACHE=1 to disable caching and always parse from disk.
The following improvements are cherry-picked from adrozdenko/hookify-plus:
not_regex_match operator -- negate a regex condition without writing a negative lookaheadvalue key alias -- use value: as a synonym for pattern: in YAML conditionsread event type -- Read, Glob, Grep, and LS tools get their own event bucket instead of falling through to event: allpermissionDecisionReason in block output -- Claude sees why a rule blocked, not just that it was blockedUpdate tool support -- the Update tool is recognized as a file-event tool alongside Edit and Writehooks.json/plugin marketplace add reyequis/hookify
/plugin install hookify@hookify
/reload-plugins
If you have the official hookify installed (hookify@claude-plugins-official), disable or remove it first to avoid duplicate hook registrations.
Python 3.10+
Rules are markdown files with YAML frontmatter placed in .claude/ (project scope) or ~/.claude/ (user scope). A minimal rule:
---
name: block-dangerous-rm
enabled: true
event: bash
pattern: rm\s+-rf
action: block
---
Dangerous rm command detected. Verify the path before proceeding.
For the full rule syntax -- events, operators, fields, conditions, and advanced examples -- see the upstream README.
python3 -m pytest
python3 -m ruff check .
python3 -m ruff format .
Apache 2.0 -- preserved from upstream.
Original plugin by Anthropic. Bug fixes and cache by Chris Irving. Cherry-picks from adrozdenko/hookify-plus.
npx claudepluginhub adelaidasofia/hookify --plugin hookifyFastMCP server exposing the full operational surface of the Apollo.io REST API. 27 tools covering sequences, campaign health, mailbox warmup, people/org enrichment, CRM contacts, tasks, labels, credit tracking, and programmatic template/sequence/mailbox-cap editing with audit logging.
FastMCP server for surgical queries against a vault knowledge graph (NetworkX node-link JSON). Companion to graphify in ai-brain-starter.
Multi-workspace Slack MCP server with draft+confirm safety, vault auto-export, and triple-mode auth (xoxc/xoxp/xoxb).
Instinct Engine that scans recent sessions, journals, and decisions for recurring patterns and turns them into concrete captures (rules, concept notes, writing seeds, skill improvements). Detects what's hardening into real insight before it evaporates.
First-principles analyst for Claude Code. Surfaces hidden assumptions, establishes foundational truths, rebuilds the problem from scratch, and identifies the high-leverage move that conventional analysis would miss. Two modes: fast (Phase 1 + Phase 4) and full (all four phases).
Ultra-compressed communication mode. Cuts 65% of output tokens (measured) while keeping full technical accuracy by speaking like a caveman.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Unified capability management center for Skills, Agents, and Commands.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.