Migrate auth to magic link
Wire up a team of agents, visually.
Drop a Planner, Coder, Reviewer, Tester, or Adversary onto a canvas, wire them in order, and run the whole pipeline. They hand off one to the next — or fan out as a swarm — and every node lands as a span in the trace.
01
Composition without code
Seed a pipeline from a starter template — Planner → Coder → Reviewer is the canonical one — then add, remove, and reorder nodes. Each role ships with a sharp default system prompt, and you can bind any node to a saved agent from your roster to pin its model and instructions. No graph DSL, no YAML.
02
Hand-off or swarm
Run sequentially and each agent sees the full chain so far: the output of every prior step is folded into the next node's system prompt as a labeled block, so the Reviewer reads what the Coder actually wrote. Or dispatch the same task to every node at once as a swarm and compare their answers side by side.
Draft changelog entry
Refactor billing webhook
Add OpenAPI spec
Spike: vector search
03
Watch it think, live
Runs stream token-by-token into a transcript over a private Realtime channel, batched for smoothness. You see each node start, emit, and complete in real time — no refreshing, no polling, no waiting for the whole pipeline to finish before you know it went sideways.
04
The pipeline is the trace
Every canvas run is one agent.run root span with an llm.completion child span per node — carrying its model, token counts, cost, and stop reason. The visual pipeline and its observability are the same object: open the trace from the run and replay exactly what each agent saw and said.
5 + custom
Role nodes
chain · swarm
Run modes
1 OTel span
Per node
live transcript
Streaming
Part of one platform
Canvas works hand in hand with Canvas & Missions.
Speed plus trust — prove your agents got better this week.
Canvas is one piece of Stackon, the observability-first workspace for teams running Claude and Codex. Start free and instrument your first run today.