From fused
Reference for the Fused Python SDK command line interface (`fused`). Use when the user asks how to run, push, share, or otherwise manage UDFs, canvases, files, or secrets via the Fused CLI, or when authoring shell commands that invoke `fused`.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fused:fused-cliThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run `fused` directly, or `uv run fused` if it's installed in a project venv. Global flags:
Run fused directly, or uv run fused if it's installed in a project venv. Global flags:
--env TEXT (env: FUSED_ENV)--format [json|text] (env: FUSED_CLI_FORMAT) — set to json for machine-readable output| Command | Purpose |
|---|---|
canvas | Manage canvases |
claude | Manage the Fused plugin for Claude Code |
completion | Print or install shell tab completion |
files | Manage files stored in Fused |
integrations | Manage third-party integration OAuth and tokens |
json-ui | Inspect JSON-UI component schemas |
login | Authenticate and persist credentials |
logout | Clear local credentials |
run | Run a UDF and print the result |
secrets | Manage kernel and user secrets |
udf-schema | Print the API schema for a UDF |
whoami | Show info about the authenticated user (--team for the team) |
fused canvasMost canvas subcommands take a CANVAS_REF (name or ID) plus:
--id — treat the ref as a canvas ID rather than a name--team (where supported) — treat the name as a team canvas name| Subcommand | Args / notable options |
|---|---|
create NAME | Create a new canvas |
delete CANVAS_REF | --id |
export CANVAS_REF | --output FILE (required), --team, --id — downloads a zip bundle |
list [CANVAS_REF] | --team, --id — lists all, or shows one |
pull CANVAS_REF | -o/--output DIR, --team, --id, -f/--force, -n/--dry-run, --show-diff — same as export then extracts; prompts per file on conflict unless --force. Pass --show-diff (recommended when invoked by an AI assistant) to print a unified diff for every file write or removal so you can summarize the change set back to the user. The changes will be applied with --show-diff. |
push SOURCE_DIR | --canvas TEXT (defaults to dir name), --id. Replaces remote UDF list — UDFs missing locally are removed. If no canvas with that name exists, a new one is created |
rename CANVAS_REF NEW_NAME | --id |
share CANVAS_REF | --client-id TEXT, --new-token, --id |
unshare CANVAS_REF | --id |
serve-mcp CANVAS_REF | --token (treat ref as fc_… share token), --team, --id, --host TEXT (default 127.0.0.1), --port INTEGER (default 8765), --path TEXT (default /mcp), --claude (register with Claude Code via claude CLI) — serves the shared canvas's OpenAPI as a local MCP server. The canvas must be shared first (fused canvas share <ref>) |
fused json-ui run-inline-widget/fused json-ui run-shared-widget, for UDFs, you can run them using fused run.fused files| Subcommand | Args / notable options |
|---|---|
delete PATH | --max-deletion-depth TEXT (integer or "unlimited") |
download PATH LOCAL_PATH | -r/--recursive, --dry-run (with -r) |
get PATH | Prints file contents to stdout |
list PATH | --details, -r/--recursive |
sign_url PATH | Returns a signed URL |
upload LOCAL_PATH REMOTE_PATH | --timeout FLOAT, -r/--recursive, --dry-run (with -r) |
fused secretsUser secrets are read-only — --user is only valid on get and list.
| Subcommand | Args / notable options |
|---|---|
delete KEY | --client-id TEXT |
get KEY | --user, --client-id TEXT |
list | --user, --client-id TEXT |
set KEY VALUE | --client-id TEXT |
fused integrationsOAuth-style connectors for third-party services. Each provider exposes the same three subcommands (connect, token, revoke); Snowflake's connect takes extra flags because it uses customer-owned OAuth clients.
| Subcommand | Args / notable options |
|---|---|
list | List integrations and their connection status |
<provider> connect | --open / --no-open — start OAuth and print the authorization URL (opens automatically in a tty unless --no-open) |
<provider> token | Print a short-lived access token for the provider (sensitive output) |
<provider> revoke | Disconnect the provider and remove stored tokens |
snowflake connect | Adds --account-identifier TEXT, --client-id TEXT, --client-secret TEXT, --client-secret-2 TEXT (for key rotation) on top of --open/--no-open |
Providers: airtable, google-drive (alias gdrive), hubspot, notion, snowflake.
fused json-uiInspect, validate, and render JSON-UI widget component schemas (the same schemas covered by the fused:json-ui-schemas skill). Use these subcommands as your primary debugging tools when authoring or editing widget_*.json files — they're faster than round-tripping through the canvas UI.
| Subcommand | Args / notable options |
|---|---|
catalog-prompt | Print the JSON-UI catalog prompt (component overview) |
schemas [COMPONENTS]... | Print JSON Schemas for one or more component names, or all if omitted. The CLI is authoritative when it disagrees with reference.md |
validate CONFIG_OR_PATH | Validate an inline JSON5 config string or a path to a .json/.json5 file. Run this after every non-trivial widget edit to catch missing required props, unknown keys, and enum violations before pushing |
run-inline-widget CANVAS_SHARE_TOKEN WIDGET_CONFIG | Open a share URL with an inline widget query and capture a screenshot. --print-url-only, --browser [chrome|firefox], --wait INTEGER (give async data time to load), --screenshot-filename FILE (save PNG to file instead of printing base64). Screenshotting requires fused[browser] extras |
run-shared-widget CANVAS_SHARE_TOKEN WIDGET_NAME | Open a shared widget page and capture a screenshot. Same options as run-inline-widget. Requires the canvas to be shared first (fused canvas share <ref>) |
Debugging flow: edit the widget JSON → fused json-ui validate <file> → push → fused json-ui run-shared-widget <share-token> <widget-name> --screenshot-filename out.png to confirm it renders. Use run-inline-widget when iterating on a widget that hasn't been committed yet.
fused claudeManage Fused for Claude Code via the claude CLI.
| Subcommand | Purpose |
|---|---|
plugin add | Register the marketplace and install fused@fused-marketplace |
plugin update | Update fused@fused-marketplace to the latest version |
plugin remove | Remove the fused plugin |
add-mcp CANVAS_REF | Register the hosted canvas MCP endpoint with Claude Code (same as Workbench "Copy MCP"). Options: --token, --team, --id, --create-session-token/--no-create-session-token (default: on), --session-max-age TEXT (default 1h) |
fused completion| Subcommand | Args / notable options |
|---|---|
install | --shell [auto|bash|zsh|fish], --dry-run, -y/--yes — append a one-liner to ~/.bashrc/~/.zshrc or write fish's completion file |
print {bash|zsh|fish} | Print a completion script suitable for eval or fish's completions dir |
fused run CANVAS UDFRuns a UDF and prints the result. The UDF argument is passed to fused.load, which accepts:
[email protected]/my_udf or my_udf (resolved against CANVAS as the collection)udf.py or any .py pathhttps://github.com/org/repo/tree/... or .../blob/...Options:
--engine [remote|local]--instance-type TEXT — remote instance type override--max-retry INTEGER--cache-max-age TEXT — e.g. 10s, 5m, 1h--cache / --no-cache--disk-size-gb INTEGER--stdin — read UDF source from stdin instead of passing UDF (do not pass UDF with --stdin)--verbose / --no-verbose — show UDF stdout/stderr (default on)Additionally, fused run accepts arbitrary keyword args matching the UDF's signature, e.g. --abc=123 is forwarded as the abc parameter to the UDF. These pass-through args are not listed in --help.
fused udf-schema CANVAS UDFPrints a UDF's API schema (parameter types, return shape) without executing it. The UDF argument is passed to fused.load and accepts the same forms as fused run:
[email protected]/my_udf or my_udf (resolved against CANVAS as the collection)udf.py or any .py pathOptions:
--stdin — read UDF source from stdin instead of passing UDF (do not pass UDF with --stdin)Use this to introspect parameters before calling fused run with --<param>=<value> kwargs, or to confirm a UDF's signature matches what a widget or downstream UDF expects.
uv run so the right environment is used.--format json.fused <command> --help to confirm flags before scripting — this reference may lag the CLI.fused run for UDFs, fused json-ui validate / run-shared-widget for widgets, fused canvas pull --dry-run to inspect what changed remotely. This catches most issues without a round trip.npx claudepluginhub fusedio/skills --plugin fusedProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.