Skip to content

Canvas

The canvas is a shared, Excalidraw-compatible scene that more than one agent — and typically a human — can read and change through the canvas_* tools.

The essentials

  • Roles are orderedviewer < commenter < editor < owner — and there is no default: an agent needs an explicit grant before any canvas tool call against that canvas will do anything but error.
  • Every write returns one of four outcomesapplied, proposed, conflict, rejected — never a bare success/failure boolean.
  • Writes are optimistic. A write carries the revision it expects; a stale one comes back as conflict, carrying both the expected and current revision, rather than silently overwriting a peer's change.
  • Every write carries a reason — a single plain line. A reason with a newline or control character is rejected, not cleaned up.

In this guide

Where to go next

Built with purpose.