# Working with agents on a canvas

Marc Lavallee · November 10, 2026 · Forging Ahead #1

Canonical walkthrough: https://lyra-forge.com/notes/working-with-agents-on-a-canvas/

Watch the episode: https://www.youtube.com/watch?v=LEYJvdjm1U4

The interaction clips use staged sample canvases and show the tldraw engine. Toucan runs locally or on a trusted network. Production use of tldraw requires its license. The chat panel needs a signed-in Codex CLI; other agents work through their own harnesses. See the current quick start: https://lavallee.github.io/toucan/quickstart.html

## Two altitudes, one diagram

So much of what AI generates for us doesn't feel malleable. It's hard to edit an eight-page research report you
didn't write, and a generated diagram is the same: you can look at it, but tweaking it means asking for a new one.

There's no substitute for understanding a system by doing the grunt work of drawing it yourself. But sometimes you
don't need mastery; you need the diagram. toucan is built for both, and it helps to see the one idea underneath
before any of the interface.

![Three boxes in a row. On the left, in solid red, "You, in the browser". In the middle, "One shared canvas". On the right, in dotted violet, "Your agent, in the terminal". Two-way arrows link each side to the canvas: you draw, move and leave notes; the agent reads, draws and proposes.](https://lyra-forge.com/forging-ahead/toucan/model.png "One document. You and your agent are both editing it.")

That's the whole model. A canvas (an infinite whiteboard in a browser tab) holds one document. You edit it by hand.
Your agent (Claude Code, Codex, or anything that can run a command) edits it too. Nobody hands anything back and forth.

## Up close: you, by hand

Fine-grained work is yours: drag a box, rename it, draw an arrow. You don't stop while the agent is busy; you can see
its cursor and what it says it's about to do.

![A red "You" cursor drags the Tool catalogue box while a violet "Claude" cursor, captioned "Adding a waitlist for booked-out tools", adds a dashed Waitlist box under Bookings, with toucan's chat and menus in view.](https://lyra-forge.com/forging-ahead/toucan/presence.gif "Close in: you edit by hand while the agent works. Real time.")

Up close also means reading. Boxes keep short names, and selecting one opens a card with what's behind it.

![The Odyssey as a story map. "You" select Calypso's island and a card opens with a quotation from the poem; → walks to the next stop.](https://lyra-forge.com/forging-ahead/toucan/story-cards.gif "A toucan example map. Real time.")

## From higher up: the agent

Higher-altitude work is the agent's. Ask in the chat to restructure something, and change your mind mid-turn if
you like.

![A request for a waitlist is typed into the chat beside Tessera's diagram; the agent adds it, then moves it into its own lane after a second message. A ×12 tag marks the sped-up stretches.](https://lyra-forge.com/forging-ahead/toucan/chat-turn.gif "A real turn on Codex, sped up ×12.")

## Higher still: routines and the whole system

Or run a routine (a chore toucan has banked, like "clean this up") from the Routines menu, as one undo step.

![The Routines menu over the canvas; "You" run Clean up, the diagram tidies and its score rises, then ⌘Z undoes it.](https://lyra-forge.com/forging-ahead/toucan/routines-menu.gif "Real time.")

And from far enough up, a system diagram turns into its parts: each frame, how many boxes it holds, and the
connections between them.

![An online shop's architecture zooms out until each frame becomes a summary with a part count, joined by arrows with connection counts.](https://lyra-forge.com/forging-ahead/toucan/system-overview.gif "Real time.")

## Where the two meet

The interesting part is the handoff between altitudes. When the agent proposes something, it arrives as a proposal:
dashed, in place, until you accept it. Flip it yourself.

![Tessera's diagram with a dashed "Nightly backups" box in a new Operations lane, connected to Postgres by a dashed arrow: proposed, not yet accepted.](https://lyra-forge.com/forging-ahead/toucan/proposal-dashed.png "A proposal is dashed until you accept it.")

And when a question needs an answer, ask it on the boxes it's about. Each thread (a comment on a box or a region,
with a back-and-forth) gets its own agent.

![Two comments on two boxes, both worked at once by two agents; thread 1 opens with the agent's reply. A ×6 tag marks the wait.](https://lyra-forge.com/forging-ahead/toucan/threads.gif "Two threads answered at once; the wait is sped up ×6.")

It isn't magic, and it's still rough in places; the agent's layouts are where you'll want to step in. But you're
choosing which altitude to work at, a box at a time or the whole picture, instead of having that choice made for you.

## Try it

Node 22 or newer:

```sh
curl -fsSL https://github.com/lavallee/toucan/releases/latest/download/install.sh | sh
```

Then ask your agent: *Use toucan to draw how this repo fits together, and open it for me.* Everything toucan does
is on the [features page](https://lavallee.github.io/toucan/features.html).
