Updated June 10, 2026

Push and pull Drafty canvases from the CLI and Claude Code

Quick answer

The Drafty CLI — and the Claude Code plugin built on it — pushes a file to a canvas and pulls comments back, so Claude and the people reviewing it work on the same page. Run `drafty canvas push <file>` to publish, then `drafty comments ls` or `drafty comments inbox` to read what people left.

The Drafty CLI pushes a file to a canvas and pulls comments back. You publish a Markdown or HTML file with one command, people leave comments anchored to exact elements, and you read those comments from the same terminal. The Claude Code plugin is built on the same CLI, so Claude can run every step for you.

That round trip — push a draft, read the feedback, push a new version — is the whole point. Claude and the people reviewing the work stay on one page instead of trading screenshots and pasted text.

Push a file: drafty canvas push <file>

To publish, point the CLI at a file:

  1. Run drafty login once to sign in. It emails you a one-time code.
  2. Run drafty canvas push report.html to publish. The CLI reads whether it's HTML or Markdown from the file itself.
  3. Pass --title to set the title, for example drafty canvas push report.html --title "Q3 report".

You get back a link at drafty.im/canvas/<slug>. Anyone with the link can open it in a browser — including a phone — and leave comments. Every push saves a new version, so the model is "push a new version," not "edit the live page in place."

Read comments: drafty comments ls / inbox / watch

Once people start commenting, you have three ways to read them:

Each comment is pinned to the exact element it's about — a heading, a list item, a table, a code block. So you see both the note and the spot it points to, not a vague "third paragraph" reference.

Reply and resolve from the CLI

You don't need to open the browser to respond. Reply to a thread with drafty comments reply, and close it out with drafty comments resolve once it's handled. The reply shows up on the canvas next to the original comment, so the person who left it sees your answer in context.

The round trip: you comment, Claude pushes a new version

This is where it pays off with Claude Code. Push a plan, diff, or doc as a canvas. Comment on the exact lines you want changed. Claude reads the comments with drafty comments inbox, makes the edits, and pushes a new version — and the comments stay anchored to their elements across the new version.

The result is a review surface for AI-generated work. See reviewing Claude Code changes for the full loop, or version history for how earlier versions are kept.

Get the Drafty CLI

Frequently asked

Do I need the CLI, or can I ask Claude to do it?
Either works. The plugin installs through Claude Code, so you can ask Claude to "drafty this" file and it runs the same commands for you. If you'd rather drive it yourself, run `drafty canvas push <file>` from your terminal.
How does Claude get notified of new comments?
Run `drafty comments watch` to stream comments as they land, or `drafty comments inbox` to pull everything unread at once. That's the doorbell — Claude reads the threads, then replies and pushes a new version.
Can I pull the latest canvas content down?
Yes. `drafty canvas pull` fetches the current canvas content back to a file, and `drafty canvas versions` lists every saved version so you can preview or restore an earlier one with `drafty canvas restore`.
Do I need to sign in first?
Run `drafty login` once to sign in from the CLI. It uses a one-time magic code emailed to you, and signing in claims any guest canvases and comments into your account.

Related