fused canvas
Manage Fused canvases — list, download, upload, share, and expose as MCP endpoints.
fused canvas [SUBCOMMAND] [OPTIONS]
Most subcommands accept a CANVAS_REF (canvas name or ID) and these common flags:
| Flag | Description |
|---|---|
--id | Treat CANVAS_REF as a canvas ID rather than a name |
--team | Treat the name as a team canvas name (where supported) |
fused canvas list
List your canvases.
fused canvas list # your canvases
fused canvas list --team # your team's canvases
fused canvas pull
Download a canvas into a local directory. Creates a folder containing UDF .py files, canvas.toml, and widget JSON.
fused canvas pull CANVAS_REF [OPTIONS]
| Flag | Description |
|---|---|
-o, --output DIR | Output directory (defaults to canvas name) |
--team | Pull a team canvas |
--id | Treat ref as canvas ID |
-f, --force | Overwrite local files without prompting |
-n, --dry-run | Preview what would be downloaded without writing files |
--show-diff | Print a unified diff for every file write — recommended when syncing after remote edits |
fused canvas pull my_canvas
fused canvas pull my_canvas -o ./local_dir
fused canvas pull my_canvas --show-diff
fused canvas pull my_canvas --dry-run
fused canvas push
Upload a local canvas directory to Fused. Replaces the remote canvas with your local state — UDFs missing locally are removed from the remote. If no canvas with that name exists, a new one is created.
fused canvas push SOURCE_DIR [OPTIONS]
| Flag | Description |
|---|---|
--canvas TEXT | Target canvas name (defaults to the directory name) |
--id | Treat --canvas value as a canvas ID |
fused canvas push ./my_canvas
fused canvas push ./local_dir --canvas my_canvas
fused canvas create
Create a new empty canvas.
fused canvas create my_new_canvas
fused canvas delete
Delete a canvas.
fused canvas delete my_canvas
fused canvas delete <canvas_id> --id
fused canvas rename
Rename a canvas.
fused canvas rename my_canvas new_name
fused canvas export
Download a canvas as a zip bundle.
fused canvas export CANVAS_REF --output FILE [OPTIONS]
| Flag | Description |
|---|---|
--output FILE | Output zip file path (required) |
--team | Export a team canvas |
--id | Treat ref as canvas ID |
fused canvas export my_canvas --output my_canvas.zip
fused canvas share
Generate a shareable token (fc_…) for a canvas. Required before using serve-mcp.
fused canvas share my_canvas
To revoke access:
fused canvas unshare my_canvas
Additional flags for share:
| Flag | Description |
|---|---|
--client-id TEXT | Share with a specific client ID |
--new-token | Rotate the share token |
--id | Treat ref as canvas ID |
fused canvas serve-mcp
Serve a shared canvas's UDFs as a local MCP server. The canvas must be shared first (fused canvas share).
fused canvas serve-mcp CANVAS_REF [OPTIONS]
| Flag | Description |
|---|---|
--token | Treat ref as a share token (fc_…) instead of a canvas name |
--team | Use a team canvas |
--id | Treat ref as canvas ID |
--host TEXT | Bind host (default: 127.0.0.1) |
--port INTEGER | Port (default: 8765) |
--path TEXT | Path (default: /mcp) |
--claude | Register with Claude Code via the claude CLI |
fused canvas share my_canvas # get a share token first
fused canvas serve-mcp my_canvas --claude
See Building for Agents for the full MCP workflow.
See also
- AI Coding Tools — pull/edit/push workflow with Claude Code
- Working as a Team — GitHub integration for canvas version control
- Workbench Versions — checkpoints, diffs, and restoring canvas state
- Building for Agents — expose a canvas as an MCP endpoint