The manual for AI coding agent hooks, configs, PreToolUse/PostToolUse, MCP, and skills - covering Claude Code, Copilot, Cursor, Codex, Gemini CLI, and more.
14
44 commits
updated Sep 17, 2026
The ultimate developer's index for AI coding agents. A community-driven reference for configuring, extending, and intercepting every major agentic development tool. Easily compare lifecycle hooks (e.g., PreToolUse and PostToolUse), built-in capabilities, Model Context Protocol (MCP) servers, system instruction file paths, and customized skills across 40+ different developer agents.
| Universal Hooks Index | Standardized naming, exit-code blocking rules, and in-depth event execution behaviors for intercepting actions. |
| Comprehensive Matrix | Side-by-side comparisons of file reads, shell commands, web searches, browser automation, and planning modes. |
| MCP Config Reference | Direct paths, environment variables, local/remote stdio transports, and tool discovery rules. |
| Conventions & Rules | Where to write custom instruction files (e.g., CLAUDE.md, CONVENTIONS.md, .cursor/rules/) to customize agent behaviors. |
| Tool | Vendor | Config format | Hooks | MCP | Official docs |
|---|---|---|---|---|---|
| Claude Code | Anthropic | JSON | ✅ Full (31 events) | ✅ | code.claude.com/docs/en/hooks |
| Codex CLI | OpenAI | TOML | ✅ Full (10 events) | ✅ | developers.openai.com/codex |
| GitHub Copilot | GitHub/Microsoft | JSON | ✅ Full (13 events) | ✅ | docs.github.com/en/copilot/reference/hooks-reference |
| Gemini CLI | JSON | ✅ Full (11 events) | ✅ | geminicli.com/docs | |
| Factory Droid | Factory.ai | JSON | ✅ Full (9 events) | ✅ | docs.factory.ai |
| Kiro IDE/CLI | Amazon (AWS) | YAML | ✅ Full | ✅ | kiro.dev/docs |
| Kimi Code | Moonshot AI | TOML | ✅ Full — Beta (16 events) | ✅ | kimi.com/code/docs |
| Cursor | Anysphere | JSON | ✅ Full (23 events) | ✅ | cursor.com/docs/hooks |
| Hermes | NousResearch | YAML | ✅ Full (❓ events) | ✅ | hermes-agent.nousresearch.com |
| Devin CLI | Cognition AI | JSON | ✅ Full (7 events) | ✅ | cli.devin.ai/docs/extensibility/hooks |
| Pi Coding Agent | earendil-works | JSON + YAML | ✅ Full (7 events) | ✅ | pi.dev |
| OpenCode | OpenCode.ai | JSON | ✅ Via plugins | ✅ | opencode.ai/docs |
| OpenClaw | OpenClaw | YAML | ✅ Full (18 events via Plugin SDK) | ✅ | docs.openclaw.ai |
| Trae | ByteDance | Markdown rules | ⚠️ Via MCP only | ✅ | docs.trae.ai |
| Trae CN | ByteDance | Markdown rules | ⚠️ Via MCP only | ✅ | docs.trae.ai |
| Aider | Aider-AI | YAML | ❌ Not shipped | ❌ | aider.chat/docs |
| Google Antigravity | JSON / TOML | ✅ Full (5 events) | ✅ | antigravity.google | |
| Amazon Q Developer CLI | AWS | JSON | ✅ Full (5 events) | ✅ | docs.aws.amazon.com |
| Amp | Amp (ex-Sourcegraph) | JSON/JSONC | ⚠️ Plugin API (lifecycle events, no declarative hooks table) | ✅ | ampcode.com/manual |
| Goose | Agentic AI Foundation (ex-Block) | YAML | ✅ Full (11 events) | ✅ | goose-docs.ai |
| OpenHands | All Hands AI | JSON | ✅ Full (6 events) | ✅ | docs.openhands.dev |
| Crush | Charmbracelet | JSON | ⚠️ Partial (PreToolUse only) | ✅ | github.com/charmbracelet/crush |
| Continue CLI | Continue Dev (acquired by Cursor) | YAML/JSON | ✅ Full (17 events, undocumented officially) | ✅ | docs.continue.dev |
| Auggie CLI | Augment Code | JSON | ✅ Full (5 events) | ✅ | docs.augmentcode.com |
| Qwen Code | Alibaba (QwenLM) | JSON | ✅ Full (16 events) | ✅ | qwenlm.github.io/qwen-code-docs |
| Warp (Agent Mode) | Warp | JSON/Markdown | ❌ Not shipped (permissions/rules instead) | ✅ | docs.warp.dev |
| Cline | Cline Bot Inc. | JSON + Markdown rules | ✅ Full (8 events, Unix-only) | ✅ | docs.cline.bot |
| Kilo Code | Kilo-Org | JSONC | ⚠️ Via Plugin API (no exit-code hook contract) | ✅ | kilo.ai/docs |
| Junie | JetBrains s.r.o. | JSON | ✅ Full (7 events, CLI-only, confirmed) | ✅ | junie.jetbrains.com/docs |
| Grok Build | xAI | TOML | ✅ Full (14 events) | ✅ | docs.x.ai/build |
| Muse Code | Meta (Meta Superintelligence Labs) | JSON | ✅ Full (12 events) | ✅ | dev.meta.ai/docs/muse-code |
| DeepSeek Harness | DeepSeek | YAML (Cordis patches) | ⚠️ Via bridge plugin only (7 of ~30 Claude Code events) | ✅ | deepseek.com/harness |
| jcode | Solo Systems | TOML | ✅ Full (5 events, 1 blocking) | ✅ | jcode.sh/docs |
| Paseo | Paseo (getpaseo) | JSON | ✅ Full (11 hooks via TypeScript plugins — agent-lifecycle, not per-tool) | ✅ (server + injector) | paseo.sh/docs |
| QM | Y Combinator (yc-software) | JSONC + env (self-hosted) | ❌ Not shipped (security postures instead) | ✅ (admin-gated) | qm.ycombinator.com |
| Codewhale | Hmbown (community) | TOML | ✅ Full (13 events, TUI-only) | ✅ | github.com/Hmbown/Codewhale |
| Reasonix | ESEngine (community) | TOML + JSON (hooks) | ✅ Full (10 events) | ✅ | reasonix.io |
| oh-my-pi | can1357 (community) | YAML | ✅ Via TS/JS extension modules (blocking) | ✅ | omp.sh |
| MiMo Code | Xiaomi | npm plugins | ❌ Not shipped (plugins instead) | ✅ (OAuth-capable) | mimo.xiaomi.com/mimocode |
| Prime Agent | Prime Intellect | ❓ (packages) | ❌ Not shipped (capability packages instead) | ✅ | github.com/PrimeIntellect-ai/prime-agent |
| Tau | Hugging Face | TOML | ❌ Not shipped (extensions instead) | ❓ | twotimespi.dev |
| Azure SRE Agent | Microsoft | YAML (portal / REST v2) | ✅ Full (2 events) | ❓ | learn.microsoft.com/azure/sre-agent |
Legend: ✅ Full = shipped, documented hook system with blocking · ⚠️ = partial or workaround · ❌ = not available · ❓ = unknown
Notes: Warp is primarily a GUI terminal app with an embedded agent (plus a separate
ozCLI for headless/cloud use) — included here as a borderline entry, not a pure install-anywhere CLI like the others. Amazon Q Developer CLI is marked unmaintained by AWS as of this writing, with development moved to the closed-source Kiro CLI. Continue was acquired by Cursor/Anysphere in June 2026; its GitHub repo is now read-only. Goose was donated by Block to the Agentic AI Foundation (Linux Foundation) in 2026. Cline, Kilo Code, Junie, Grok Build, Muse Code, DeepSeek Harness, jcode, and QM were added 2026-08-15 as a doc-only pass (sourced from official docs/GitHub, not yet sandbox live-verified like the earlier entries) — several are brand-new (DeepSeek Harness shipped 2 days prior as a v0.1 preview) so expect more ❓s than the older pages; see_shared/source-audit.md. Paseo (added 2026-09-10, doc-only) is an orchestrator, not a coding agent — it launches and supervises other agent CLIs, and is listed here because it has its own config file, lifecycle hooks, MCP server, and skills. Codewhale, Reasonix, oh-my-pi, MiMo Code, Prime Agent, and Tau were added 2026-09-10 as a live-verified pass — all six were installed on the st3ve sandbox (Ubuntu 24.04) and driven through a real multi-step task against the OpenAI API; see each page's "Live Verification" section for what passed, what needed configuration, and what broke.Azure SRE Agent is a hosted Azure service (configured via the portal or REST API v2), not a local CLI — the "Config format" column reflects its YAML hook schema, and it has no local config file or terminal binary. Its hook surface is limited to
StopandPostToolUse.
| Question | Go to |
|---|---|
| Which agents support activity X? | _shared/activity-agent-matrix.md |
| What are all of Agent Y's hooks/tools/config? | _shared/agent-tools-hooks-config.md |
| What is PreToolUse called in each tool? | _shared/hook-event-comparison.md |
| Where does Tool Y store its config and skills? | _shared/config-file-locations.md |
| Which pages still rely on community or inferred sources? | _shared/source-audit.md |
How do agent-specific tool names (Bash vs run_shell_command vs execute_bash...) map to a common taxonomy? | _shared/tool-normalization-map.md |
| What did a session cost, and can I trust the tool's own number? | _shared/token-cost-accounting.md |
| The agent runs in a hosted VM (Codex cloud, Claude Code on the web, Cursor cloud agents, Copilot, Replicas...) — what runs at boot, and which hook config does it load? | _shared/cloud-agent-environments.md |
| Do we track orchestration frameworks and SDKs too? | frameworks/README.md |
These are tracked separately from the coding-agent matrices because they are developer frameworks/runtimes rather than end-user CLI agents with a shared hooks/config surface.
| Framework / SDK | Vendor | Notes | Docs |
|---|---|---|---|
| LangGraph | LangChain | Low-level stateful agent orchestration | https://github.com/langchain-ai/langgraph |
| CrewAI | CrewAI, Inc. | Crews, flows, memory, guardrails | https://docs.crewai.com/ |
| AutoGen | Microsoft | Stable docs tracked instead of unverified "2.0" branding | https://microsoft.github.io/autogen/stable/ |
| Mastra | Mastra | TypeScript agent/app framework | https://mastra.ai/ |
| OpenAI Agents SDK | OpenAI | Agent runtime with handoffs, guardrails, MCP | https://openai.github.io/openai-agents-python/ |
| Pydantic AI | Pydantic | Python agent framework with typed outputs | https://pydantic.dev/docs/ai/overview/ |
| Claude Code Agent SDK | Anthropic | Official product name for the requested "Anthropic Agent SDK" | https://code.claude.com/docs/en/agent-sdk/overview |
| Google ADK | Agent Development Kit | https://adk.dev/ | |
| Microsoft Agent Framework | Microsoft | Direct successor to Semantic Kernel + AutoGen; Harness reached GA 2026-07-22, orchestration patterns reached 1.0 on 2026-07-08 | https://learn.microsoft.com/en-us/agent-framework/overview/agent-framework-overview |
.
├── README.md # Master index + comparative benchmarks
├── frameworks/
│ └── README.md # Sourced framework / SDK catalog
├── tools/
│ └── <tool-name>/
│ └── README.md # Per-tool configuration & command references
├── _shared/
│ ├── activity-agent-matrix.md # Capabilities matrix (natively supported tools)
│ ├── agent-tools-hooks-config.md # Unified agent specifications & schemas
│ ├── source-audit.md # Source coverage audit and unresolved gaps
│ ├── hook-event-comparison.md # Cross-agent hook event name lookup
│ ├── mcp-support.md # MCP client capabilities & transport settings
│ ├── cloud-agent-environments.md # Hosted platforms: boot scripts + which hook config the cloud agent loads
│ └── config-file-locations.md # Global/local paths & git-ignored overrides
└── _templates/
└── tool-template.md # Blueprint for documenting new developer tools
How the same lifecycle moment is named across tools:
| Lifecycle moment | Claude Code | Codex | Gemini CLI | GitHub Copilot | Kimi Code | Factory Droid | Cursor | Devin CLI | Pi Agent | Cline | Junie | Grok Build | jcode | Muse Code |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Before any tool | PreToolUse | PreToolUse | BeforeTool | preToolUse | PreToolUse | PreToolUse | preToolUse | PreToolUse | tool.before.* | PreToolUse | PreToolUse | PreToolUse | pre_tool | PreToolUse |
| After any tool | PostToolUse | PostToolUse | AfterTool | postToolUse | PostToolUse | PostToolUse | postToolUse | PostToolUse | tool.after.* | PostToolUse | — | PostToolUse | post_tool | PostToolUse |
| After tool fails | PostToolUseFailure | — | — | postToolUseFailure | PostToolUseFailure | — | postToolUseFailure | — | — | — | — | PostToolUseFailure | — | — |
| Prompt submitted | UserPromptSubmit | UserPromptSubmit | BeforeAgent | userPromptSubmitted | UserPromptSubmit | UserPromptSubmit | beforeSubmitPrompt | UserPromptSubmit | — | UserPromptSubmit | UserPromptSubmit | UserPromptSubmit | — | UserPromptSubmit |
| Agent turn ends | Stop | Stop | AfterAgent | agentStop | Stop | Stop | stop | Stop | — | — | Stop | Stop | turn_end | Stop |
| Subagent starts | SubagentStart | SubagentStart | — | subagentStart | SubagentStart | — | subagentStart | — | — | — | — | SubagentStart | — | SubagentStart |
| Session starts | SessionStart | SessionStart | SessionStart | sessionStart | SessionStart | SessionStart | sessionStart | SessionStart | session.created | — | SessionStart | SessionStart | session_start | SessionStart |
| Session ends | SessionEnd | — | SessionEnd | sessionEnd | — | SessionEnd | sessionEnd | — | — | — | SessionEnd | SessionEnd | session_end | — |
| Context compacted | PreCompact | PreCompact | PreCompress | preCompact | PreCompact | PreCompact | preCompact | — | — | PreCompact ❓ | — | PreCompact | — | PreCompact |
| Permission request | PermissionRequest | PermissionRequest | — | permissionRequest | — | — | — | PermissionRequest | — | — | PermissionRequest | PermissionDenied | — | PermissionRequest |
| LLM call | — | — | BeforeModel / AfterModel | — | — | — | — | — | — | — | — | — | — | PreLLMCall / PostLLMCall |
| Notification | Notification | — | Notification | notification | — | Notification | — | — | — | — | — | Notification | — | — |
How each tool's PreToolUse-equivalent blocks a tool call:
| Tool | Block method | Stderr / reason goes to |
|---|---|---|
| Claude Code | Exit 2 | LLM as context |
| Codex CLI | Exit 2 or {"decision":"block"} stdout | LLM |
| GitHub Copilot | {"permissionDecision":"deny"} stdout | LLM (via permissionDecisionReason) |
| Gemini CLI | Exit 2 | LLM |
| Factory Droid | {"permissionDecision":"deny"} stdout | LLM |
| Kimi Code | Exit 2 or {"permissionDecision":"deny"} stdout | LLM |
| Cursor | Exit 2 + failClosed option | LLM |
| Hermes | {"action":"block","message":"..."} stdout | LLM |
| Devin CLI | Exit 2 or {"decision":"block"} stdout | LLM |
| Kiro | Exit 2 | LLM |
| Pi Agent | Exit 2 | LLM |
| Azure SRE Agent | Exit 2 or {"decision":"block"} stdout (PostToolUse); reject with reason (Stop) | LLM (via reason / additionalContext) |
Each tool README labels sources:
| Label | Meaning |
|---|---|
| [official] | Published by the vendor on their own docs site |
| [github] | Vendor GitHub repo (README, source code) |
| [official mirror] | Vendor-maintained mirror of official docs |
| [community] | Community-maintained project (e.g., oh-my-pi) — may diverge from vendor |
| [third-party] | Non-vendor package index, mirror, or independently maintained page |
| [press] | News or press coverage, useful for release context but not normative product behavior |
| [installer-src] | Inferred from the installer scripts or directory structures |
See _templates/tool-template.md for the standard page format.
When adding or updating a tool:
[official] / [github] / [community] labels in the Sources table._shared/agent-tools-hooks-config.md with the agent's section.The Hook Event Cross-Reference table and event counts in the Tools Covered table are sourced directly from each tool's official documentation at the time of last update. Hook APIs evolve rapidly — vendor docs are the authoritative source and should always be consulted before relying on counts or event names listed here. Entries marked ❓ could not be verified against live official documentation at the time of writing.
44 commits
The manual for AI coding agent hooks, configs, PreToolUse/PostToolUse, MCP, and skills - covering Claude Code, Copilot, Cursor, Codex, Gemini CLI, and more.
14
44 commits
updated Sep 17, 2026
The ultimate developer's index for AI coding agents. A community-driven reference for configuring, extending, and intercepting every major agentic development tool. Easily compare lifecycle hooks (e.g., PreToolUse and PostToolUse), built-in capabilities, Model Context Protocol (MCP) servers, system instruction file paths, and customized skills across 40+ different developer agents.
| Universal Hooks Index | Standardized naming, exit-code blocking rules, and in-depth event execution behaviors for intercepting actions. |
| Comprehensive Matrix | Side-by-side comparisons of file reads, shell commands, web searches, browser automation, and planning modes. |
| MCP Config Reference | Direct paths, environment variables, local/remote stdio transports, and tool discovery rules. |
| Conventions & Rules | Where to write custom instruction files (e.g., CLAUDE.md, CONVENTIONS.md, .cursor/rules/) to customize agent behaviors. |
| Tool | Vendor | Config format | Hooks | MCP | Official docs |
|---|---|---|---|---|---|
| Claude Code | Anthropic | JSON | ✅ Full (31 events) | ✅ | code.claude.com/docs/en/hooks |
| Codex CLI | OpenAI | TOML | ✅ Full (10 events) | ✅ | developers.openai.com/codex |
| GitHub Copilot | GitHub/Microsoft | JSON | ✅ Full (13 events) | ✅ | docs.github.com/en/copilot/reference/hooks-reference |
| Gemini CLI | JSON | ✅ Full (11 events) | ✅ | geminicli.com/docs | |
| Factory Droid | Factory.ai | JSON | ✅ Full (9 events) | ✅ | docs.factory.ai |
| Kiro IDE/CLI | Amazon (AWS) | YAML | ✅ Full | ✅ | kiro.dev/docs |
| Kimi Code | Moonshot AI | TOML | ✅ Full — Beta (16 events) | ✅ | kimi.com/code/docs |
| Cursor | Anysphere | JSON | ✅ Full (23 events) | ✅ | cursor.com/docs/hooks |
| Hermes | NousResearch | YAML | ✅ Full (❓ events) | ✅ | hermes-agent.nousresearch.com |
| Devin CLI | Cognition AI | JSON | ✅ Full (7 events) | ✅ | cli.devin.ai/docs/extensibility/hooks |
| Pi Coding Agent | earendil-works | JSON + YAML | ✅ Full (7 events) | ✅ | pi.dev |
| OpenCode | OpenCode.ai | JSON | ✅ Via plugins | ✅ | opencode.ai/docs |
| OpenClaw | OpenClaw | YAML | ✅ Full (18 events via Plugin SDK) | ✅ | docs.openclaw.ai |
| Trae | ByteDance | Markdown rules | ⚠️ Via MCP only | ✅ | docs.trae.ai |
| Trae CN | ByteDance | Markdown rules | ⚠️ Via MCP only | ✅ | docs.trae.ai |
| Aider | Aider-AI | YAML | ❌ Not shipped | ❌ | aider.chat/docs |
| Google Antigravity | JSON / TOML | ✅ Full (5 events) | ✅ | antigravity.google | |
| Amazon Q Developer CLI | AWS | JSON | ✅ Full (5 events) | ✅ | docs.aws.amazon.com |
| Amp | Amp (ex-Sourcegraph) | JSON/JSONC | ⚠️ Plugin API (lifecycle events, no declarative hooks table) | ✅ | ampcode.com/manual |
| Goose | Agentic AI Foundation (ex-Block) | YAML | ✅ Full (11 events) | ✅ | goose-docs.ai |
| OpenHands | All Hands AI | JSON | ✅ Full (6 events) | ✅ | docs.openhands.dev |
| Crush | Charmbracelet | JSON | ⚠️ Partial (PreToolUse only) | ✅ | github.com/charmbracelet/crush |
| Continue CLI | Continue Dev (acquired by Cursor) | YAML/JSON | ✅ Full (17 events, undocumented officially) | ✅ | docs.continue.dev |
| Auggie CLI | Augment Code | JSON | ✅ Full (5 events) | ✅ | docs.augmentcode.com |
| Qwen Code | Alibaba (QwenLM) | JSON | ✅ Full (16 events) | ✅ | qwenlm.github.io/qwen-code-docs |
| Warp (Agent Mode) | Warp | JSON/Markdown | ❌ Not shipped (permissions/rules instead) | ✅ | docs.warp.dev |
| Cline | Cline Bot Inc. | JSON + Markdown rules | ✅ Full (8 events, Unix-only) | ✅ | docs.cline.bot |
| Kilo Code | Kilo-Org | JSONC | ⚠️ Via Plugin API (no exit-code hook contract) | ✅ | kilo.ai/docs |
| Junie | JetBrains s.r.o. | JSON | ✅ Full (7 events, CLI-only, confirmed) | ✅ | junie.jetbrains.com/docs |
| Grok Build | xAI | TOML | ✅ Full (14 events) | ✅ | docs.x.ai/build |
| Muse Code | Meta (Meta Superintelligence Labs) | JSON | ✅ Full (12 events) | ✅ | dev.meta.ai/docs/muse-code |
| DeepSeek Harness | DeepSeek | YAML (Cordis patches) | ⚠️ Via bridge plugin only (7 of ~30 Claude Code events) | ✅ | deepseek.com/harness |
| jcode | Solo Systems | TOML | ✅ Full (5 events, 1 blocking) | ✅ | jcode.sh/docs |
| Paseo | Paseo (getpaseo) | JSON | ✅ Full (11 hooks via TypeScript plugins — agent-lifecycle, not per-tool) | ✅ (server + injector) | paseo.sh/docs |
| QM | Y Combinator (yc-software) | JSONC + env (self-hosted) | ❌ Not shipped (security postures instead) | ✅ (admin-gated) | qm.ycombinator.com |
| Codewhale | Hmbown (community) | TOML | ✅ Full (13 events, TUI-only) | ✅ | github.com/Hmbown/Codewhale |
| Reasonix | ESEngine (community) | TOML + JSON (hooks) | ✅ Full (10 events) | ✅ | reasonix.io |
| oh-my-pi | can1357 (community) | YAML | ✅ Via TS/JS extension modules (blocking) | ✅ | omp.sh |
| MiMo Code | Xiaomi | npm plugins | ❌ Not shipped (plugins instead) | ✅ (OAuth-capable) | mimo.xiaomi.com/mimocode |
| Prime Agent | Prime Intellect | ❓ (packages) | ❌ Not shipped (capability packages instead) | ✅ | github.com/PrimeIntellect-ai/prime-agent |
| Tau | Hugging Face | TOML | ❌ Not shipped (extensions instead) | ❓ | twotimespi.dev |
| Azure SRE Agent | Microsoft | YAML (portal / REST v2) | ✅ Full (2 events) | ❓ | learn.microsoft.com/azure/sre-agent |
Legend: ✅ Full = shipped, documented hook system with blocking · ⚠️ = partial or workaround · ❌ = not available · ❓ = unknown
Notes: Warp is primarily a GUI terminal app with an embedded agent (plus a separate
ozCLI for headless/cloud use) — included here as a borderline entry, not a pure install-anywhere CLI like the others. Amazon Q Developer CLI is marked unmaintained by AWS as of this writing, with development moved to the closed-source Kiro CLI. Continue was acquired by Cursor/Anysphere in June 2026; its GitHub repo is now read-only. Goose was donated by Block to the Agentic AI Foundation (Linux Foundation) in 2026. Cline, Kilo Code, Junie, Grok Build, Muse Code, DeepSeek Harness, jcode, and QM were added 2026-08-15 as a doc-only pass (sourced from official docs/GitHub, not yet sandbox live-verified like the earlier entries) — several are brand-new (DeepSeek Harness shipped 2 days prior as a v0.1 preview) so expect more ❓s than the older pages; see_shared/source-audit.md. Paseo (added 2026-09-10, doc-only) is an orchestrator, not a coding agent — it launches and supervises other agent CLIs, and is listed here because it has its own config file, lifecycle hooks, MCP server, and skills. Codewhale, Reasonix, oh-my-pi, MiMo Code, Prime Agent, and Tau were added 2026-09-10 as a live-verified pass — all six were installed on the st3ve sandbox (Ubuntu 24.04) and driven through a real multi-step task against the OpenAI API; see each page's "Live Verification" section for what passed, what needed configuration, and what broke.Azure SRE Agent is a hosted Azure service (configured via the portal or REST API v2), not a local CLI — the "Config format" column reflects its YAML hook schema, and it has no local config file or terminal binary. Its hook surface is limited to
StopandPostToolUse.
| Question | Go to |
|---|---|
| Which agents support activity X? | _shared/activity-agent-matrix.md |
| What are all of Agent Y's hooks/tools/config? | _shared/agent-tools-hooks-config.md |
| What is PreToolUse called in each tool? | _shared/hook-event-comparison.md |
| Where does Tool Y store its config and skills? | _shared/config-file-locations.md |
| Which pages still rely on community or inferred sources? | _shared/source-audit.md |
How do agent-specific tool names (Bash vs run_shell_command vs execute_bash...) map to a common taxonomy? | _shared/tool-normalization-map.md |
| What did a session cost, and can I trust the tool's own number? | _shared/token-cost-accounting.md |
| The agent runs in a hosted VM (Codex cloud, Claude Code on the web, Cursor cloud agents, Copilot, Replicas...) — what runs at boot, and which hook config does it load? | _shared/cloud-agent-environments.md |
| Do we track orchestration frameworks and SDKs too? | frameworks/README.md |
These are tracked separately from the coding-agent matrices because they are developer frameworks/runtimes rather than end-user CLI agents with a shared hooks/config surface.
| Framework / SDK | Vendor | Notes | Docs |
|---|---|---|---|
| LangGraph | LangChain | Low-level stateful agent orchestration | https://github.com/langchain-ai/langgraph |
| CrewAI | CrewAI, Inc. | Crews, flows, memory, guardrails | https://docs.crewai.com/ |
| AutoGen | Microsoft | Stable docs tracked instead of unverified "2.0" branding | https://microsoft.github.io/autogen/stable/ |
| Mastra | Mastra | TypeScript agent/app framework | https://mastra.ai/ |
| OpenAI Agents SDK | OpenAI | Agent runtime with handoffs, guardrails, MCP | https://openai.github.io/openai-agents-python/ |
| Pydantic AI | Pydantic | Python agent framework with typed outputs | https://pydantic.dev/docs/ai/overview/ |
| Claude Code Agent SDK | Anthropic | Official product name for the requested "Anthropic Agent SDK" | https://code.claude.com/docs/en/agent-sdk/overview |
| Google ADK | Agent Development Kit | https://adk.dev/ | |
| Microsoft Agent Framework | Microsoft | Direct successor to Semantic Kernel + AutoGen; Harness reached GA 2026-07-22, orchestration patterns reached 1.0 on 2026-07-08 | https://learn.microsoft.com/en-us/agent-framework/overview/agent-framework-overview |
.
├── README.md # Master index + comparative benchmarks
├── frameworks/
│ └── README.md # Sourced framework / SDK catalog
├── tools/
│ └── <tool-name>/
│ └── README.md # Per-tool configuration & command references
├── _shared/
│ ├── activity-agent-matrix.md # Capabilities matrix (natively supported tools)
│ ├── agent-tools-hooks-config.md # Unified agent specifications & schemas
│ ├── source-audit.md # Source coverage audit and unresolved gaps
│ ├── hook-event-comparison.md # Cross-agent hook event name lookup
│ ├── mcp-support.md # MCP client capabilities & transport settings
│ ├── cloud-agent-environments.md # Hosted platforms: boot scripts + which hook config the cloud agent loads
│ └── config-file-locations.md # Global/local paths & git-ignored overrides
└── _templates/
└── tool-template.md # Blueprint for documenting new developer tools
How the same lifecycle moment is named across tools:
| Lifecycle moment | Claude Code | Codex | Gemini CLI | GitHub Copilot | Kimi Code | Factory Droid | Cursor | Devin CLI | Pi Agent | Cline | Junie | Grok Build | jcode | Muse Code |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Before any tool | PreToolUse | PreToolUse | BeforeTool | preToolUse | PreToolUse | PreToolUse | preToolUse | PreToolUse | tool.before.* | PreToolUse | PreToolUse | PreToolUse | pre_tool | PreToolUse |
| After any tool | PostToolUse | PostToolUse | AfterTool | postToolUse | PostToolUse | PostToolUse | postToolUse | PostToolUse | tool.after.* | PostToolUse | — | PostToolUse | post_tool | PostToolUse |
| After tool fails | PostToolUseFailure | — | — | postToolUseFailure | PostToolUseFailure | — | postToolUseFailure | — | — | — | — | PostToolUseFailure | — | — |
| Prompt submitted | UserPromptSubmit | UserPromptSubmit | BeforeAgent | userPromptSubmitted | UserPromptSubmit | UserPromptSubmit | beforeSubmitPrompt | UserPromptSubmit | — | UserPromptSubmit | UserPromptSubmit | UserPromptSubmit | — | UserPromptSubmit |
| Agent turn ends | Stop | Stop | AfterAgent | agentStop | Stop | Stop | stop | Stop | — | — | Stop | Stop | turn_end | Stop |
| Subagent starts | SubagentStart | SubagentStart | — | subagentStart | SubagentStart | — | subagentStart | — | — | — | — | SubagentStart | — | SubagentStart |
| Session starts | SessionStart | SessionStart | SessionStart | sessionStart | SessionStart | SessionStart | sessionStart | SessionStart | session.created | — | SessionStart | SessionStart | session_start | SessionStart |
| Session ends | SessionEnd | — | SessionEnd | sessionEnd | — | SessionEnd | sessionEnd | — | — | — | SessionEnd | SessionEnd | session_end | — |
| Context compacted | PreCompact | PreCompact | PreCompress | preCompact | PreCompact | PreCompact | preCompact | — | — | PreCompact ❓ | — | PreCompact | — | PreCompact |
| Permission request | PermissionRequest | PermissionRequest | — | permissionRequest | — | — | — | PermissionRequest | — | — | PermissionRequest | PermissionDenied | — | PermissionRequest |
| LLM call | — | — | BeforeModel / AfterModel | — | — | — | — | — | — | — | — | — | — | PreLLMCall / PostLLMCall |
| Notification | Notification | — | Notification | notification | — | Notification | — | — | — | — | — | Notification | — | — |
How each tool's PreToolUse-equivalent blocks a tool call:
| Tool | Block method | Stderr / reason goes to |
|---|---|---|
| Claude Code | Exit 2 | LLM as context |
| Codex CLI | Exit 2 or {"decision":"block"} stdout | LLM |
| GitHub Copilot | {"permissionDecision":"deny"} stdout | LLM (via permissionDecisionReason) |
| Gemini CLI | Exit 2 | LLM |
| Factory Droid | {"permissionDecision":"deny"} stdout | LLM |
| Kimi Code | Exit 2 or {"permissionDecision":"deny"} stdout | LLM |
| Cursor | Exit 2 + failClosed option | LLM |
| Hermes | {"action":"block","message":"..."} stdout | LLM |
| Devin CLI | Exit 2 or {"decision":"block"} stdout | LLM |
| Kiro | Exit 2 | LLM |
| Pi Agent | Exit 2 | LLM |
| Azure SRE Agent | Exit 2 or {"decision":"block"} stdout (PostToolUse); reject with reason (Stop) | LLM (via reason / additionalContext) |
Each tool README labels sources:
| Label | Meaning |
|---|---|
| [official] | Published by the vendor on their own docs site |
| [github] | Vendor GitHub repo (README, source code) |
| [official mirror] | Vendor-maintained mirror of official docs |
| [community] | Community-maintained project (e.g., oh-my-pi) — may diverge from vendor |
| [third-party] | Non-vendor package index, mirror, or independently maintained page |
| [press] | News or press coverage, useful for release context but not normative product behavior |
| [installer-src] | Inferred from the installer scripts or directory structures |
See _templates/tool-template.md for the standard page format.
When adding or updating a tool:
[official] / [github] / [community] labels in the Sources table._shared/agent-tools-hooks-config.md with the agent's section.The Hook Event Cross-Reference table and event counts in the Tools Covered table are sourced directly from each tool's official documentation at the time of last update. Hook APIs evolve rapidly — vendor docs are the authoritative source and should always be consulted before relying on counts or event names listed here. Entries marked ❓ could not be verified against live official documentation at the time of writing.
44 commits