deniz.in

Markets

Weather

Loading weather

· via Hacker News – Front Page (native)

drawgent links Claude Code, Codex and opencode to live Excalidraw canvases

A Rust tool surfaced on Hacker News connects a user's own Claude Code, Codex or opencode to an Excalidraw canvas, where AGENT: notes typed on the drawing direct live agent edits.

drawgent links Claude Code, Codex and opencode to live Excalidraw canvases

An agent attached to your whiteboard

A project called drawgent reached the Hacker News front page on 26 September with a simple pitch: connect the coding-agent CLI you already use — Claude Code, Codex or opencode — to a live Excalidraw canvas. According to the repository's README, hosted on tangled.org, the tool is a single Rust binary that serves an Excalidraw editor, keeps the scene, and drives the agent binary you already have installed, logged in and configured.

The interaction model is deliberately visual. A chat panel on the right side of the editor handles ordinary requests, but the more interesting path is annotating the drawing itself: write a text note beginning with AGENT: next to or inside a shape, or draw an arrow from the note to a shape. Per the README, the note fires about 2.5 seconds after you stop typing, carrying its position, what it points at and what is nearby. The agent then inspects the canvas — both the structured scene and a screenshot — edits the drawing live, checks the result, and rewrites the note as a green DONE: … note. Editing it back to AGENT: resubmits it, and prompts are queued so they run one at a time.

Bring your own agent

Drawgent does not bundle or host a model. drawgent setup verifies that your claude, codex or opencode CLI is on PATH and logged in, then prepares an ACP bridge: opencode speaks ACP natively, while Claude Code and Codex rely on official adapters (roughly 60 MB, cached in ~/.cache/drawgent/adapters) pointed at your own executables. The Claude and Codex bridges also need Node.js 18 or newer.

drawgent up starts the editor and API on 127.0.0.1:7300, launches a new agent session working in the current directory, and opens the browser — or prints an ssh -L command on headless machines. The scene lives in .drawgent/scene., which the tool git-ignores automatically. drawgent up --attach instead links the canvas to a session already running: a Claude Code fork driven over ACP that leaves your terminal untouched, a live opencode session reached through its HTTP API, or a live Codex session via codex queue, with replies mirrored from its rollout file.

So the agent can actually see the drawing, setup also finds or installs a headless Chrome — your system browser, a roughly 120 MB Chrome for Testing download, or a package-manager Chromium — used to render the canvas for the MCP canvas tools, which the project describes as vision-capable.

Joining excalidraw.com rooms

The tool can also join a regular excalidraw.com collaboration room via --room, appearing as a collaborator whose cursor follows its edits. People staying on excalidraw.com can drop AGENT: notes that reach your agent, and its edits show up on their screens live. The README says traffic is end-to-end encrypted with the room key — the commit summary lists AES-GCM over socket.io — and that empty rooms are loaded from and saved to Excalidraw's Firestore storage.

Permissions default to canvas-only: drawing tools are auto-approved and anything else raises a prompt in the chat panel, with stricter and looser modes available via --permissions. There is also a stdio MCP server (drawgent mcp), a lower-level drawgent serve aimed at scripts and containers, optional token authentication, a Docker image, and static musl builds. At least one commit carries a co-author line for Claude Opus 5.5, suggesting the tool was itself built with agent assistance.

Why it matters

This is not an official Excalidraw feature — it is an independent bridge — but it demonstrates a pattern worth watching: agents getting a spatial, visual surface inside a tool people already use, authenticated with the user's own credentials rather than a hosted service. The AGENT: note mechanic is a low-friction interface: you annotate the artifact itself instead of ferrying context into a separate chat window, and the DONE marker leaves the agent's work inspectable on the canvas. Room support extends that to collaborators who install nothing. The tool is also a concrete sign of ACP and MCP settling into a shared layer across Claude Code, Codex and opencode — one front end can now drive three different agents. The trade-off is familiar: you are granting a local agent write access to both a canvas and a repository workspace, which is why the default ask-first permission model is worth keeping on.

  • #excalidraw
  • #ai-agents
  • #claude-code
  • #open-source
  • #mcp

Related posts