Home
Hooks
Scripts that observe or gate the agent loop around lifecycle events.
| Client | Status | Config files | Events |
|---|---|---|---|
| Supported | .amp/plugins/*.tsproject~/.config/amp/plugins/*.tsglobal | session.startagent.starttool.calltool.resultagent.end | |
| Supported | .claude/settings.jsonproject~/.claude/settings.jsonglobal | PreToolUsePostToolUseUserPromptSubmitNotificationStopSubagentStopSessionStartSessionEndPreCompactElicitationInstructionsLoaded | |
| Supported | .clinerules/hooks/<EventName>project~/Documents/Cline/Hooks/<EventName>global | TaskStartTaskResumeTaskCancelTaskCompleteUserPromptSubmitPreToolUsePostToolUsePreCompact | |
| Supported | ~/.codex/config.tomlglobal.codex/config.tomlproject | PreToolUsePermissionRequestPostToolUsePreCompactPostCompactSessionStartSubagentStartSubagentStopUserPromptSubmitStop | |
| Partial | crush.jsonproject~/.config/crush/crush.jsonglobal | PreToolUse | |
| Supported | .cursor/hooks.jsonproject~/.cursor/hooks.jsonglobal/Library/Application Support/Cursor/hooks.jsonenterprise | sessionStartsessionEndbeforeSubmitPromptpreToolUsepostToolUsepostToolUseFailurebeforeShellExecutionafterShellExecutionbeforeMCPExecutionafterMCPExecutionbeforeReadFileafterFileEditsubagentStartsubagentStoppreCompactstopafterAgentResponseafterAgentThoughtbeforeTabFileReadafterTabFileEditworkspaceOpen | |
| Supported | .factory/hooks.jsonproject~/.factory/hooks.jsonglobal~/.factory/settings.jsonglobal | PreToolUsePostToolUseUserPromptSubmitNotificationStopSubagentStopPreCompactSessionStartSessionEnd | |
| Supported | .gemini/settings.jsonproject~/.gemini/settings.jsonglobal/etc/gemini-cli/settings.jsonenterprise | SessionStartSessionEndBeforeAgentAfterAgentBeforeModelAfterModelBeforeToolSelectionBeforeToolAfterToolPreCompressNotification | |
| Supported | .github/hooks/*.jsonproject | sessionStartsessionEnduserPromptSubmittedpreToolUsepostToolUsepostToolUseFailureagentStopsubagentStartsubagentStoperrorOccurredpreCompact | |
| Supported | .github/hooks/*.jsonproject~/.copilot/hooks/*.jsonglobal.github/copilot/settings.jsonproject~/.copilot/settings.jsonglobal/etc/github-copilot/policy.d/*.jsonenterprise | sessionStartsessionEnduserPromptSubmittedpreToolUsepostToolUsepostToolUseFailurepermissionRequestnotificationagentStopsubagentStartsubagentStoperrorOccurredpreCompact | |
| Supported | ~/.agents/plugins/<plugin-name>/hooks/hooks.jsonglobal.agents/plugins/<plugin-name>/hooks/hooks.jsonproject | SessionStartSessionEndStopUserPromptSubmitPreToolUsePostToolUsePostToolUseFailureBeforeReadFileAfterFileEditBeforeShellExecutionAfterShellExecution | |
| Not supported | — | — | |
| Supported | .opencode/plugins/project~/.config/opencode/plugins/globalopencode.jsonproject | tool.execute.beforetool.execute.aftershell.envexperimental.session.compactingevent | |
| Supported | .qwen/settings.jsonproject~/.qwen/settings.jsonglobal | PreToolUsePostToolUsePostToolUseFailureUserPromptSubmitSessionStartSessionEndMessageDisplayStopSubagentStartSubagentStopPreCompactNotificationPermissionRequestPermissionDeniedTodoCreatedTodoCompleted | |
| Not supported | — | — | |
| Supported | .github/hooks/*.jsonproject.claude/settings.jsonproject~/.copilot/hooks/*.jsonglobal~/.claude/settings.jsonglobal | SessionStartUserPromptSubmitPreToolUsePostToolUsePreCompactSubagentStartSubagentStopStop | |
| Not supported | — | — | |
| Supported | .windsurf/hooks.jsonproject~/.codeium/windsurf/hooks.jsonglobal/etc/windsurf/hooks.jsonenterprise | pre_read_codepost_read_codepre_write_codepost_write_codepre_run_commandpost_run_commandpre_mcp_tool_usepost_mcp_tool_usepre_user_promptpost_cascade_responsepost_cascade_response_with_transcriptpost_setup_worktree | |
| Not supported | — | — |
Machine-readable: curl https://clients.dev/api/hooks.json