handler_types
What kinds of executors hooks support beyond shell commands. May include HTTP endpoints, LLM prompt evaluation, multi-turn agent handlers, or TypeScript extensions.
Type: object Content type: hooks
Provider Support
Section titled “Provider Support”| Provider | Supported | Mechanism |
|---|---|---|
| amp | ✓ | command-only: hook 'action' field runs a shell command; no HTTP, LLM, or agent handler types documented |
| claude-code | ✓ | Five types: command (shell), http (POST to URL), mcp_tool (MCP tool call), prompt (LLM evaluation), agent (subagent with tools, experimental); prompt/agent restricted to subset of events |
| codex | ✓ | hook_handler_types: Codex supports shell command and LLM prompt handler types; TypeScript extension type also documented |
| crush | ✓ | Hooks are shell commands (command field in HookConfig). Each hook fires a subprocess with the tool context passed on stdin. |
| cursor | ✓ | Two handler types documented: command (shell scripts communicating over stdio via JSON) and prompt (LLM-evaluated natural language conditions for policy enforcement without custom scripting). |
| pi | ✓ | pi_extension_typescript_native: Pi hooks support TypeScript/native extension handler type beyond shell commands |
| cline | ✗ | Cline hooks execute shell commands only; no HTTP, LLM prompt, or agent handler types documented |
| copilot-cli | ✗ | Copilot CLI hooks execute shell commands only; no HTTP, LLM prompt, or agent handler types documented |
| factory-droid | ✗ | Factory Droid hooks execute shell commands only (type: command); no other handler types documented |
| gemini-cli | ✗ | Gemini CLI hooks execute shell commands only; no HTTP, LLM prompt, or agent handler types documented |
| kiro | ✗ | Kiro hooks execute shell commands or predefined agent prompts; no HTTP, LLM-as-hook, or TypeScript extension handler types documented |
| opencode | ✗ | not documented |
| roo-code | ✗ | not documented |
| windsurf | ✗ | Windsurf hooks execute shell commands only; no HTTP, LLM prompt, or agent handler types documented |
| zed | ✗ | not documented |