Hooks, side by side
Every hook fact across the tools — widest support first. A filled cell shows that tool's own name for it; hover for its meaning.
| concept | support | Claude Code | Codex | Cursor |
|---|---|---|---|---|
| PostToolUse | 3/3 | |||
| PreCompact | 3/3 | |||
| PreToolUse | 3/3 | |||
| SessionStart | 3/3 | |||
| Stop | 3/3 | |||
| SubagentStart | 3/3 | |||
| SubagentStop | 3/3 | |||
| command | 2/3 | — | ||
| PermissionRequest | 2/3 | — | ||
| PostCompact | 2/3 | — | ||
| PostToolUseFailure | 2/3 | — | ||
| SessionEnd | 2/3 | — | ||
| timeout | 2/3 | — | ||
| type | 2/3 | — | ||
| UserPromptSubmit | 2/3 | — | ||
| afterAgentResponse | 1/3 | — | — | |
| afterAgentThought | 1/3 | — | — | |
| afterFileEdit | 1/3 | — | — | |
| afterMCPExecution | 1/3 | — | — | |
| afterShellExecution | 1/3 | — | — | |
| afterTabFileEdit | 1/3 | — | — | |
| agent_id | 1/3 | — | — | |
| agent_type | 1/3 | — | — | |
| allowedEnvVars | 1/3 | — | — | |
| args | 1/3 | — | — | |
| async | 1/3 | — | — | |
| asyncRewake | 1/3 | — | — | |
| beforeMCPExecution | 1/3 | — | — | |
| beforeReadFile | 1/3 | — | — | |
| beforeShellExecution | 1/3 | — | — | |
| beforeSubmitPrompt | 1/3 | — | — | |
| beforeTabFileRead | 1/3 | — | — | |
| ConfigChange | 1/3 | — | — | |
| cwd | 1/3 | — | — | |
| CwdChanged | 1/3 | — | — | |
| effort | 1/3 | — | — | |
| Elicitation | 1/3 | — | — | |
| ElicitationResult | 1/3 | — | — | |
| failClosed | 1/3 | — | — | |
| FileChanged | 1/3 | — | — | |
| headers | 1/3 | — | — | |
| hook_event_name | 1/3 | — | — | |
| if | 1/3 | — | — | |
| input | 1/3 | — | — | |
| InstructionsLoaded | 1/3 | — | — | |
| loop_limit | 1/3 | — | — | |
| matcher | 1/3 | — | — | |
| MessageDisplay | 1/3 | — | — | |
| model | 1/3 | — | — | |
| Notification | 1/3 | — | — | |
| once | 1/3 | — | — | |
| PermissionDenied | 1/3 | — | — | |
| permission_mode | 1/3 | — | — | |
| PostToolBatch | 1/3 | — | — | |
| prompt | 1/3 | — | — | |
| prompt_id | 1/3 | — | — | |
| server | 1/3 | — | — | |
| session_id | 1/3 | — | — | |
| Setup | 1/3 | — | — | |
| shell | 1/3 | — | — | |
| statusMessage | 1/3 | — | — | |
| StopFailure | 1/3 | — | — | |
| TaskCompleted | 1/3 | — | — | |
| TaskCreated | 1/3 | — | — | |
| TeammateIdle | 1/3 | — | — | |
| tool | 1/3 | — | — | |
| transcript_path | 1/3 | — | — | |
| url | 1/3 | — | — | |
| UserPromptExpansion | 1/3 | — | — | |
| version | 1/3 | — | — | |
| workspaceOpen | 1/3 | — | — | |
| WorktreeCreate | 1/3 | — | — | |
| WorktreeRemove | 1/3 | — | — |