done and squash-merging it to your main branch, dotbot runs every verify hook in ascending filename order. If any hook exits with a non-zero code, the task is flagged and the merge is blocked.
How verify hooks work
When a task transitions todone, dotbot builds a merged hook chain from two directories:
- Framework hooks at
<DOTBOT_HOME>/src/hooks/verify/- shipped with dotbot and managed by the framework. - Project hooks at
.bot/hooks/verify/- added by installed stacks or written by your team.
00-, 01-, …) determines execution order.
The five framework hooks included with every dotbot installation are:
When you install the
dotnet stack, it adds two additional scripts to .bot/hooks/verify/. Because their filenames differ from the framework scripts, all seven scripts run in order:
Hooks from all installed stacks run together in a single ordered sequence, giving you a composable quality gate pipeline.
Adding a custom verify hook
To add your own test step, create a numbered PowerShell script in.bot/hooks/verify/. Choose a number higher than the built-in hooks to ensure your tests run after the standard checks:
Viewing hook results
Verify hook output is captured in the task’s session log and shown in the dashboard. When a hook fails:- The task stays in
in-progress- it is not markeddone - The failure reason and hook output appear in the session log under
.bot/workspace/sessions/ - The Workflow tab in the dashboard shows the task as blocked with the hook’s exit code
Skipping verify hooks
script, mcp, task_gen, barrier, and interview task types skip verify hooks automatically. These task types are dispatched directly by the runtime executor without going through the task_set_status MCP path that fires the verify chain. Verify hooks always run for prompt and prompt_template tasks before the task is considered complete.
Run
dotbot doctor to check whether verify hooks in your project have any syntax issues or reference missing commands. Doctor scans hook scripts and reports problems before you start a workflow run.Running the dev environment for tests
Some verify hooks require a running development server. dotbot provides two MCP tools -dev_start and dev_stop - that the AI agent calls at the start and end of task execution when a running dev environment is needed. See Plans & Steering for details on these tools.