Blocks are the building blocks of a canvas. Each block has a specific role — some do work, some control flow, some verify results. Drag them from the palette, connect them, and they form a runnable graph.
Work blocks
Brief
The starting point of every canvas. Holds the goal, context, and acceptance criteria. Every run begins here.
Agent
A seat for a local CLI agent (Claude Code or Codex). You give it a role, a task, and it executes in its own terminal. Full details →
Reviewer
A second agent seat that checks work against the brief and acceptance criteria. Reports pass/fail with evidence. Full details →
Terminal
Your own shell on the canvas. Use it to run commands, inspect output, or debug. The agent runs the same commands you would. Full details →
Browser <span class="tag soon">Coming soon</span>
A seat for browser-based work — automated checks, visual regression, or manual inspection. Not available yet. Full details →
Tests
Runs the project's own test suite from a terminal seat. Results sit on the canvas next to the work. Full details →
Deploy
The last step of a run. You decide when the work ships, from your own terminal. Full details →
Flow blocks
Condition
Routes the run based on what agents report. One canvas can carry two different outcomes. Full details →
Parallel
Splits work across blocks that run at the same time, then joins their results. Full details →
Loop
Sends work back to a builder seat when the reviewer wants another look. Full details →
Branch
Lets the run split into two paths — one for the happy case, one for everything else. Full details →
Wait
Pauses a step until something external says go — a webhook, a deploy, a human approval. Full details →