Documentation
claude-canvas documentation
claude-canvas is a Claude Code plugin. The reference documentation lives with the code, as one skill per canvas, and this page is the index into it.
Install
/plugin marketplace add sgomez-dev/claude-canvas /plugin install canvas@claude-canvas
Requires Claude Code, plus somewhere a pane can open: an active tmux session, or Windows Terminal. An installed but unused tmux is not enough — the plugin looks for $TMUX, which only exists inside a session.
The canvases
- picker ↗ — Choose one or more options from a list.
- form ↗ — Fill in structured fields and submit them together.
- table ↗ — Read tabular data, with a fixed header and scrolling body.
- image ↗ — Look at a PNG in the pane: full resolution on kitty, iTerm2 and Sixel terminals, quadrant block cells everywhere else.
- diff ↗ — Review a unified diff hunk by hunk, approving or rejecting each.
- dashboard ↗ — Several of the above in one pane, at a glance.
- calendar ↗ — Display events, or pick a meeting time from several calendars.
- document ↗ — View or edit markdown, with text selection.
- flight ↗ — Compare flights and pick a seat (a demo of the machinery).
CLI verbs
spawn <kind>— Open a canvas in a new pane. Waits until it is reachable before reporting success.wait <id>— Block for the outcome. Answers selected, cancelled, pending, disconnected or error.update <id>— Push a new config into a running canvas. Resets its interaction state.get <id> <key>— Read state from a running canvas: selection, content, config.close <id>— Ask a canvas to exit.list— Every canvas currently registered, with its host and port.scenarios— Every (kind, scenario) pair, with the interaction mode each one has.show <kind>— Render a canvas in the current terminal instead of a new pane.env— What was detected: the pane host, the image tier, colour and mouse support.
The plugin and each canvas talk over a length-prefixed JSON protocol on a socket bound to 127.0.0.1, with a per-canvas token. There is no HTTP API and no remote surface: it is a local tool.
Machine-readable files
- /llms.txt — Brief machine-readable description of the project.
- /llms-full.txt — The full reference, self-contained.
- /agents.md — When an agent should reach for this, and when it should not.
- /index.md — This site’s home page as markdown.
- /sitemap.xml — Every URL that exists.
- /humans.txt — Who built it.
The home page also serves markdown under content negotiation: request / with Accept: text/markdown.
Source and support
https://github.com/sgomez-dev/claude-canvas ↗ — issues and pull requests. For anything that does not belong in a public thread, contacto@sgomez.dev.