Enterprise
Cursor Agent: The Canvas Tool
A canvas is an interactive view that Cursor renders next to the chat, in place of a long markdown table or code block. Ask the agent for a dashboard, analysis, audit or report, and Cursor can open the result as a canvas. Cursor saves each one to your workspace's canvas list to reopen, edit and rerun with fresh data.

On this page
What is the Cursor canvas tool?
Canvases are interactive artifacts that Cursor renders next to the chat. Instead of scrolling through a long markdown table or code block, you get a standalone view laid out with sections, stats and tables, which you can reopen, edit and iterate on. When you ask an agent for a dashboard, analysis, audit or report, Cursor opens the result in a canvas if that fits better than plain chat output.
Whether you want a canvas depends on what happens to the output after you read it. Chat output gets scrolled past. A canvas is saved to your workspace's canvas list, so you can reopen it and rerun it with fresh data.
Ask whether anyone will want these numbers again in a month. If nobody will, the long markdown table in the chat was already fine.
This is covered hands-on in Agent Mode Foundations — 6 short Units, free to read.
Rather do it than read about it? Run 11 interactive Cursor walkthroughs in a simulated editor. Free, no account needed.
How does a canvas get created?
The loop has four steps, from the trigger to a canvas you can rerun later.
- 1Cursor decides your task benefits from a visual or interactive view, or you ask for one directly.
- 2Cursor builds the canvas and inserts a reference to it in your chat.
- 3You review the rendered view, switch to the source to tweak it, or ask Cursor to change it.
- 4Cursor saves the canvas so you can reopen and rerun it later with fresh data.
Each canvas appears in your workspace's canvas list, so you can jump back to past ones without rerunning them.
Cursor drives most of that loop, but step three is yours, and it decides whether the canvas is worth reopening. A canvas built on a query with the wrong date range renders exactly as well as one built on the right range. Switch to the source once before you move on.
If you wanted a canvas and none appeared, ask for one. Step one fires on either trigger, so you never have to wait for Cursor to decide the task deserves a canvas.
How do I open a canvas?
Cursor gives you three ways in. Only the first assumes you still have the chat that produced the canvas open.
- Click the card that appears at the end of the response when Cursor creates a canvas.
- Run Open Canvas from the Command Palette, where it is listed under View.
- Open a canvas tab from the new tab menu in the Agents WindowCursor's surface listing your agent runs; open a run to read its diff and search transcripts from the command palette. Press Enter for the full definition..
The card is the quickest route while that chat is in front of you. For work you come back to later, the palette command and the Agents WindowCursor's surface listing your agent runs; open a run to read its diff and search transcripts from the command palette. Press Enter for the full definition. tab don't depend on finding the chat again.
Open Canvas, then Keep All the pending files
0:29 · narratedRead this demo as text
- Canvas is its own editor tab — not the in-window Browser. Empty means type slash canvas in chat when you want a real artifact. We are not inventing a filled table here.
- Pending file changes still need a decision. Keep All accepts the staged edits; Review walks them file by file — Canvas being empty does not skip that step.
Practice next: Practice this yourself in the hands-on module.
Simulated Cursor 3.12 (macOS, light) — beta educational reconstruction, not the real product.
Cursor's docs describe the canvas list as your workspace's, and the Agents WindowCursor's surface listing your agent runs; open a run to read its diff and search transcripts from the command palette. Press Enter for the full definition. as the place to work with agents across all your projects. They don't say whether a canvas tab opened in the Agents Window reaches past the workspace you are in, so test it before you plan a workflow around it.
How do I share a canvas with my team?
Sharing gives teammates a link to a live snapshot of the view, with the same layout, charts and tables. They open it in the browser without rerunning the agent or digging through chat history. Use Publish on the canvas toolbar to publish a share or refresh one. The Shared Canvases page on the dashboard lists the canvases you published yourself, not your teammates', so ask a teammate for the link to theirs.
Shared canvases are available on Premium and higher, Teams, Enterprise, and legacy Pro, Pro+ and Ultra, so Free and Plus accounts can't create shares. Only members of your team can open a share, so you need to be on a team. Members on an individual paid plan who also belong to a team can share too. Sharing also needs a privacy mode that allows data storage: Legacy Privacy ModeCursor's setting that guarantees code data is not used for training by Cursor or its model providers, and that an admin can enforce org-wide; data-retention terms are a separate, contractual layer. Press Enter for the full definition. blocks it.
Team admins can turn shared canvases off for the organization in team settings, under Shared Canvases.
A share is a snapshot, and the same Publish button both creates it and refreshes it. Cursor's docs don't say the link updates itself, so don't promise anyone that it will. For a view people need fresh every week, the other route is a canvas skill committed with the code, which lets a teammate regenerate the view from a short prompt. Decide which one your audience needs before you publish.
Who can see a canvas I have not shared?
A teammate can open your canvas through one documented route: a share link you publish. Until you publish, the canvas sits in your workspace's canvas list.
Once published, a link has no documented expiry. Cursor's enterprise hardening page lists share links for chats and canvases under data retention and deletion, and points to the dashboard to delete them. Keeping the published set small is our habit, not a rule Cursor states. Retire a share when the analysis behind it has been superseded, before a teammate notices the number looks wrong.
How do I change a canvas after it's made?
Canvases are built to be refined, and Cursor's guidance is to tell the agent what to change before you reach for the source.
- If the layout isn't right, tell Cursor what to change instead of editing by hand.
- If the numbers look stale or off, ask Cursor to rerun the underlying query or show its work.
- For larger reworks, revert and prompt Cursor again with more details. This is usually faster than nudging through small follow-ups.
- For small tweaks, you can also edit the source code by hand.
Editing the source looks like the developer's move, since the layout is right there. Cursor still puts describing first and keeps hand edits for small tweaks, and that order pays off later. A sentence that describes the change can go into a skill's layout instructions when you need the same report again. A hand edit doesn't carry over to the next canvas.
Design ModeA way to point at an element in Cursor's built-in browser and change it directly, instead of describing it in words. Press Enter for the full definition. also runs inside canvases, so you can select and annotate the element you want changed instead of describing it in prose. Canvas tabs keep the older pen-icon toggle, and notes there go straight to the chat. The Design Mode guide covers how it works.
How do I make a canvas repeatable with skills?
You can package a common canvas workflow as a skill, so Cursor produces a consistent layout every time you ask. Cursor's docs list four parts a canvas skill typically includes.
- Trigger description
- Tells Cursor when to reach for the skill, such as "quarterly revenue report" or "dependency audit".
- Layout instructions
- The sections, stats and tables the canvas should contain.
- Data sources and queries
- What Cursor should run to populate the view, such as a SQL query, API call or shell command.
- Formatting rules
- Units, date ranges or sort order.
Start with the trigger description, because it decides whether the agent reaches for the skill on its own. The agent uses a skill's description to judge whether the skill is relevant, so a vague trigger can leave even careful layout instructions unused. When a canvas skill isn't firing, rewrite the description before you touch the layout.
Once the skill is in place, a short prompt regenerates the canvas with fresh data, and every teammate using the skill gets the same output shape.
Frequently asked questions
When does Cursor open a canvas instead of replying in chat?
When the task benefits from a visual or interactive view, or when you ask for one directly. Cursor's docs name dashboards, analyses, audits and reports as cases where a canvas fits better than a long markdown table or code block.
Can free Cursor accounts share canvases?
No. Free accounts can't create shares, and neither can Plus. Sharing is available on Premium and higher, Teams, Enterprise, and legacy Pro, Pro+ and Ultra. You also need to be on a team and on a privacy mode that allows data storage, so Legacy Privacy Mode blocks it.
Can a teammate open a canvas I saved but never published?
Not through Cursor's sharing. Publishing creates the share link, so until you use Publish on the canvas toolbar, there is no link for a teammate to open. The Shared Canvases page on the dashboard lists the canvases you published, and that is where you delete your own shares.
How do I update the data in a saved canvas?
Reopen it from your workspace's canvas list and ask Cursor to rerun the underlying query. Cursor saves each canvas so you can reopen and rerun it later without rebuilding it from scratch.
Sources & last verified
- Cursor - Agent Canvas Tool
- Cursor - Agents Window
- Cursor - Skills
- Cursor - Prompting
- Cursor - Enterprise security hardening
- Cursor changelog: Canvas Design Mode and Context Usage Report
- Cursor - Design Mode
Cursor ships frequently. Last updated October 28, 2026.