Hooks

Shell commands your agent runs at defined points. A hook is code, so read it before you install it.

PostToolUse

25

cfrs2005/claude-init

Hook Claude Code

One of 5 in hooks.json

Runs after a tool call finishes for tool == "Bash", tool == "Edit" && tool_input.file_path matches "\\.(ts, tsx, js, jsx)$", tool == "Edit" && tool_input.file_path matches "\\.(ts, tsx)$", tool == "Edit" && tool_input.file_path matches "\\.(ts, tsx, js and jsx)$" tool calls, running #!/bin/bash (4 commands). From…

not rated 1.4k +4 7mo ago A tokens not measured original MIT

PostToolUse

26

AgriciDaniel/codex-seo

Hook Claude Code

Runs after a tool call finishes for Edit and Write tool calls, executing validate-schema.py via python3. From AgriciDaniel/codex-seo.

not rated 826 1mo ago A tokens not measured

PreToolUse

27

agulli/atlas-agents

Hook Claude Code

One of 4 in settings.json

Runs before the agent uses a tool for Bash tool calls, running echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) CMD: $CLAUDE_TOOL_INPUT. From agulli/atlas-agents.

not rated 818 +10 3mo ago A tokens not measured

UserPromptSubmit

28

dongshuyan/compass-skills

Hook Claude Code

One of 2 in hooks.json

Runs when you submit a prompt, before the agent sees it, executing title_guard.py via python3. From dongshuyan/compass-skills.

not rated 762 +2 7d ago A tokens not measured original MIT

PostToolUse

29

citypaul/.dotfiles

Hook Claude Code

One of 2 in settings.json

Runs after a tool call finishes for Write, Edit and NotebookEdit tool calls, running an inline shell check. From citypaul/.dotfiles.

not rated 756 +4 2d ago A tokens not measured

PreToolUse

30

anthropics/cwc-long-running-agents

Hook Claude Code ✓ vendor

One of 3 in settings.json

Runs before the agent uses a tool for Read, Write and Edit tool calls, executing kill-switch.sh, steer.sh, track-read.sh and verify-gate.sh (4 commands). From anthropics/cwc-long-running-agents.

not rated 756 +6 5mo ago A tokens not measured original Apache-2.0

SessionStart

31

vybestack/llxprt-code

Hook Claude Code

Runs when a session starts, executing on-start.js via node. From vybestack/llxprt-code.

not rated 703 +1 yesterday A tokens not measured copy · 100% Apache-2.0

UserPromptSubmit

32

EverMind-AI/SkillCorpus

Hook Claude Code

Runs when you submit a prompt, before the agent sees it, executing hook.mjs via node. From EverMind-AI/SkillCorpus.

not rated 697 +3 yesterday A tokens not measured original Apache-2.0

PreToolUse

33

Matt-Dionis/claude-code-configs

Hook Claude Code

One of 2 in hooks.json

Runs before the agent uses a tool for Edit, MultiEdit, Write and Bash tool calls, executing Next.js via sh (2 commands). From Matt-Dionis/claude-code-configs.

not rated 619 1y ago A tokens not measured original MIT

PostToolUse

34

operately/operately

Hook Claude Code

One of 2 in settings.json

Runs after a tool call finishes for Write, Edit and MultiEdit tool calls, running an inline shell check. From operately/operately.

not rated 617 +10 yesterday A tokens not measured

PreToolUse

35

alibaba/anolisa

Hook Claude Code ✓ vendor

One of 4 in hooks.json

Runs before the agent uses a tool for Bash tool calls, executing code_scanner_hook.py, observability_hook.py and pii_checker_hook.py via python3 (3 commands). From alibaba/anolisa.

not rated 603 1mo ago A tokens not measured original Apache-2.0

BeforeTool

36

ooples/token-optimizer-mcp

Hook Claude Code

One of 4 in hooks.json

Runs on the BeforeTool event for read_file, search_file_content, glob, replace, write_file and run_shell_command tool calls, executing pre-tool.mjs via node. From ooples/token-optimizer-mcp.

not rated 570 +7 2d ago A tokens not measured original MIT

BeforeAgent

37

galdawave/pickle-rick-extension

Hook Claude Code

One of 3 in hooks.json

Runs on the BeforeAgent event, executing dispatch.js via node (2 commands). From galdawave/pickle-rick-extension.

not rated 452 5mo ago A tokens not measured original Apache-2.0

SessionStart

38

devcodex-labs/devcodex

Hook Claude Code

One of 6 in hooks.json

Runs when a session starts, executing session-start.cjs via node. From devcodex-labs/devcodex.

not rated 432 +1 10d ago A tokens not measured AGPL-3.0

PreToolUse

39

Agent-Threat-Rule/agent-threat-rules

Hook Claude Code

Runs before the agent uses a tool, executing atr_scan.py via python3. From Agent-Threat-Rule/agent-threat-rules.

not rated 425 +3 yesterday A tokens not measured original MIT

SessionStart

40

infometa/workbuddyskills

Hook Claude Code

One of 9 in hooks.json

Runs when a session starts, executing warroom-hook.cjs via node. From infometa/workbuddyskills.

not rated 417 +13 5d ago A tokens not measured

PostToolUse

41

cloudwego/abcoder

Hook Claude Code

One of 3 in settings.json

Runs after a tool call finishes for Write, Edit, mcp__abcoder__list_repos, mcp__abcoder__get_repo_structure, mcp__abcoder__get_package_structure and mcp__abcoder__get_file_structure tool calls, executing need_update.sh, prompt.sh and reminder.sh (3 commands). From cloudwego/abcoder.

not rated 391 +1 2mo ago A tokens not measured original Apache-2.0

SessionStart

42

databricks/databricks-agent-skills

Hook Claude Code ✓ vendor

One of 3 in hooks.json

Runs when a session starts on startup, clear and compact, executing databricks-context.py via python3. From databricks/databricks-agent-skills.

not rated 384 +5 2d ago A tokens not measured

PreToolUse

43

tettethu/VibeGame

Hook Claude Code

One of 10 in settings.json

Runs before the agent uses a tool for Agent tool calls, executing web_hook.py, enforce-team-setup.py and enforce-team-mode.py via python3 with --source-app and --event-type (3 commands). From tettethu/VibeGame.

not rated 367 +73 24d ago A tokens not measured original Apache-2.0

PreCompact

44

avenoxai/avenoxbeyin

Hook Claude Code

One of 5 in settings.json

Runs before the context is compacted, executing pre-compact.sh. From avenoxai/avenoxbeyin.

not rated 343 +19 yesterday A tokens not measured original MIT

PreToolUse

45

zhukunpenglinyutong/ai-max

Hook Claude Code

One of 3 in hooks.json

Runs before the agent uses a tool for tool == "Bash" && tool_input.command matches "(npm run dev, pnpm( run)? dev, yarn dev, bun run dev)", tool == "Bash" && tool_input.command matches "(npm (install, test), pnpm (install, test), yarn (install, test), bun (install, test), cargo build, make, docker, pytest, vitest…

not rated 334 8mo ago A tokens not measured original MIT

AfterAgent

46

gemini-cli-extensions/ralph

Hook Claude Code

Runs on the AfterAgent event, executing stop-hook.sh. From gemini-cli-extensions/ralph.

not rated 327 9mo ago A tokens not measured original Apache-2.0

SessionStart

47

linkerlin/PUAX

Hook Claude Code

One of 3 in hooks.json

Runs when a session starts on startup, clear and compact, executing hook.js via node. From linkerlin/PUAX.

not rated 325 +1 1mo ago A tokens not measured original MIT

PreToolUse

48

addyosmani/factory

Hook Claude Code

One of 2 in settings.json

Runs before the agent uses a tool for Bash tool calls, executing block-merge.sh via bash with --show-toplevel. From addyosmani/factory.

not rated 324 +16 2mo ago A tokens not measured original MIT

At most 3 mods per repository are shown here, and a mod shipped inside a plugin is left to that plugin's page — the rest are on their repository pages: