Hook Event Matrix
Syllago maps each provider’s native hook event names to canonical events — a shared vocabulary that makes hooks portable across tools. This page shows which events each provider supports and what they call them.
How to read this table
Section titled “How to read this table”- Canonical name: The syllago-standard event name used in
.syllago.yaml - Provider columns: The native event name each provider uses, or
—if unsupported - Category: Groups related events (lifecycle, tool, context, etc.)
Collaboration
Section titled “Collaboration”Multi-agent coordination events. Fires when teammate agents become idle or available.
| Canonical Event | Claude Code | Gemini CLI | Cursor | Windsurf | Copilot CLI | Kiro | Factory Droid | Pi |
|---|---|---|---|---|---|---|---|---|
teammate_idle | TeammateIdle | — | — | — | — | — | — | — |
Config
Section titled “Config”Configuration file change detection. Fires when settings files are modified during a session.
| Canonical Event | Claude Code | Gemini CLI | Cursor | Windsurf | Copilot CLI | Kiro | Factory Droid | Pi |
|---|---|---|---|---|---|---|---|---|
config_change | ConfigChange | — | — | — | — | — | — | — |
Context
Section titled “Context”Events related to context management — compaction, instruction loading, and context window maintenance.
| Canonical Event | Claude Code | Gemini CLI | Cursor | Windsurf | Copilot CLI | Kiro | Factory Droid | Pi |
|---|---|---|---|---|---|---|---|---|
after_compact | PostCompact | — | — | — | — | — | — | — |
before_compact | PreCompact | PreCompress | PreCompact | — | — | — | PreCompact | session_before_compact |
context_update | — | — | — | — | — | — | — | context |
instructions_loaded | InstructionsLoaded | — | — | — | — | — | — | — |
Interaction
Section titled “Interaction”User-facing prompts and dialogs. Fires when the agent asks questions or presents choices.
| Canonical Event | Claude Code | Gemini CLI | Cursor | Windsurf | Copilot CLI | Kiro | Factory Droid | Pi |
|---|---|---|---|---|---|---|---|---|
elicitation | Elicitation | — | — | — | — | — | — | — |
elicitation_result | ElicitationResult | — | — | — | — | — | — | — |
Lifecycle
Section titled “Lifecycle”Session and agent lifecycle boundaries — start, stop, errors, subagents, and task completion.
| Canonical Event | Claude Code | Gemini CLI | Cursor | Windsurf | Copilot CLI | Kiro | Factory Droid | Pi |
|---|---|---|---|---|---|---|---|---|
after_task | — | — | — | — | — | Post Task Execution | — | — |
agent_stop | Stop | AfterAgent | Stop | post_cascade_response | agentStop | stop | Stop | agent_end |
before_prompt | UserPromptSubmit | BeforeAgent | UserPromptSubmit | pre_user_prompt | userPromptSubmitted | userPromptSubmit | UserPromptSubmit | input |
before_task | — | — | — | — | — | Pre Task Execution | — | — |
error_occurred | ErrorOccurred | — | — | — | errorOccurred | — | — | — |
session_end | SessionEnd | SessionEnd | SessionEnd | session_end | sessionEnd | — | SessionEnd | session_shutdown |
session_start | SessionStart | SessionStart | SessionStart | session_start | sessionStart | agentSpawn | SessionStart | session_start |
stop_failure | StopFailure | — | — | — | — | — | — | — |
subagent_start | SubagentStart | — | SubagentStart | — | — | — | SubagentStart | before_agent_start |
subagent_stop | SubagentStop | — | SubagentStop | — | subagentStop | — | SubagentStop | — |
task_completed | TaskCompleted | — | — | — | — | — | — | — |
Model invocation boundaries. Fires before/after LLM calls and tool selection decisions.
| Canonical Event | Claude Code | Gemini CLI | Cursor | Windsurf | Copilot CLI | Kiro | Factory Droid | Pi |
|---|---|---|---|---|---|---|---|---|
after_model | — | AfterModel | afterAgentResponse | — | — | — | — | — |
before_model | — | BeforeModel | beforeAgentResponse | — | — | — | — | — |
before_tool_selection | — | BeforeToolSelection | beforeToolSelection | — | — | — | — | — |
message_end | — | — | — | — | — | — | — | message_end |
message_start | — | — | — | — | — | — | — | message_start |
model_select | — | — | — | — | — | — | — | model_select |
turn_end | — | — | — | — | — | — | — | turn_end |
turn_start | — | — | — | — | — | — | — | turn_start |
Output
Section titled “Output”Events for agent output like notifications and status messages.
| Canonical Event | Claude Code | Gemini CLI | Cursor | Windsurf | Copilot CLI | Kiro | Factory Droid | Pi |
|---|---|---|---|---|---|---|---|---|
notification | Notification | Notification | — | — | — | — | — | — |
transcript_export | — | — | — | post_cascade_response_with_transcript | — | — | — | — |
Security
Section titled “Security”Permission and authorization checkpoints. Fires when the agent requests elevated permissions.
| Canonical Event | Claude Code | Gemini CLI | Cursor | Windsurf | Copilot CLI | Kiro | Factory Droid | Pi |
|---|---|---|---|---|---|---|---|---|
permission_request | PermissionRequest | — | — | — | — | — | — | — |
Fired before and after tool/function calls. Use these to validate, log, or transform tool inputs and outputs.
| Canonical Event | Claude Code | Gemini CLI | Cursor | Windsurf | Copilot CLI | Kiro | Factory Droid | Pi |
|---|---|---|---|---|---|---|---|---|
after_tool_execute | PostToolUse | AfterTool | PostToolUse | — | postToolUse | postToolUse | PostToolUse | tool_result |
before_tool_execute | PreToolUse | BeforeTool | PreToolUse | — | preToolUse | preToolUse | PreToolUse | tool_call |
tool_use_failure | PostToolUseFailure | — | postToolUseFailure | — | errorOccurred | — | — | — |
user_bash | — | — | — | — | — | — | — | user_bash |
Workspace
Section titled “Workspace”Git worktree creation and removal. Fires when the agent manages isolated working copies.
| Canonical Event | Claude Code | Gemini CLI | Cursor | Windsurf | Copilot CLI | Kiro | Factory Droid | Pi |
|---|---|---|---|---|---|---|---|---|
file_changed | FileChanged | — | afterFileEdit | — | — | File Save | — | — |
file_created | — | — | — | — | — | File Create | — | — |
file_deleted | — | — | — | — | — | File Delete | — | — |
worktree_create | WorktreeCreate | — | — | post_setup_worktree | — | — | — | — |
worktree_remove | WorktreeRemove | — | — | — | — | — | — | — |
Coverage Summary
Section titled “Coverage Summary”| Provider | Hook Events | Hook Types |
|---|---|---|
| Claude Code | 24 | command, http, prompt, agent |
| Gemini CLI | 11 | command |
| Cursor | 14 | command |
| Windsurf | 6 | command |
| Copilot CLI | 9 | command |
| Kiro | 10 | command |
| Factory Droid | 9 | command |
| Pi | 15 | command |
Hooks supported, event mappings pending: Codex, Cline, Amp. These providers support hooks, but syllago does not yet map their event names. Hook conversion is best-effort.
See Also
Section titled “See Also”Generated from syllago 0.10.3 on 2026-04-27.