Run automated handlers at Qoder task lifecycle events.
Qoder uses Hooks compatible with Qoder CLI. They can run deterministic checks or actions for task, tool, permission, subagent, context, configuration, file, and worktree events. Qoder supports the same event and handler types as the CLI.
Go to Settings → Hooks. The page reads the user-level
Hook settings in Qoder show static diagnostics associated with the relevant Hook. Open the configuration and check the event, matching conditions, and command indicated by the diagnostic, then correct the source configuration as needed.
During a task, review the running Hook's name and status. Static diagnostics identify configuration issues; they do not prove that a command has executed successfully. Check the actual result.
This example calls a local script before a tool runs:
View current configuration
Go to Settings → Hooks. The page reads the user-level ~/.qoder/settings.json file and groups configured Hooks by event. It reflects configuration on disk; a visible entry does not prove that the Runtime loaded or successfully executed it.
Expand an event and a Hook to inspect its name, source, command, matching rule, and timeout, or open the configuration file. After running a task, check each Hook’s elapsed time and status in the summary below the response.
Projects can also use:
${project}/.qoder/settings.jsonfor shared project configuration.${project}/.qoder/settings.local.jsonfor project configuration used only on the current device.
Inspect configuration diagnostics
Hook settings in Qoder show static diagnostics associated with the relevant Hook. Open the configuration and check the event, matching conditions, and command indicated by the diagnostic, then correct the source configuration as needed.
During a task, review the running Hook's name and status. Static diagnostics identify configuration issues; they do not prove that a command has executed successfully. Check the actual result.
Handler types
| Type | Use |
|---|---|
command | Run a local command or script. |
http | Send the event to an HTTP service. |
prompt | Use a prompt to decide whether execution can continue. |
agent | Ask an Agent to process the event and return a result. |
Supported events
| Event | Trigger |
|---|---|
SessionStart / SessionEnd | A task starts / ends |
UserPromptSubmit | The user submits an instruction |
PreToolUse | Before a tool runs |
PostToolUse / PostToolUseFailure | After a tool succeeds / fails |
PermissionRequest / PermissionDenied | Permission is requested / denied |
Stop / StopFailure | Before the Agent stops / stop fails |
SubagentStart / SubagentStop | A subagent starts / stops |
PreCompact / PostCompact | Before / after context compaction |
Notification | A notification is produced |
InstructionsLoaded | Instructions are loaded |
ConfigChange | Configuration changes |
CwdChanged | The current working directory changes |
FileChanged | A file changes |
WorktreeCreate / WorktreeRemove | A worktree is created / removed |
Elicitation / ElicitationResult | Information is requested / returned |
Configuration example
This example calls a local script before a tool runs:
matcher narrows the trigger. After saving the configuration, reopen Settings → Hooks, refresh the page, and run a low-risk task that triggers the event. Check both the task result and the handler's own logs or output.
For matching rules, input and output schemas, and complete handler configuration, see Qoder CLI Hooks.