CLI Reference
Complete reference for Superset command-line interface, including commands and flags.
Synopsis
superset <command> [subcommand] [options]Run superset --help for the top-level command list, or
superset <command> --help for any group.
Global options
These flags are accepted by every command:
| Flag | Env | Description |
|---|---|---|
--json | Print the data payload as formatted JSON. | |
--quiet | One ID per line for arrays; the ID for single objects; JSON fallback otherwise. | |
--api-key <key> | SUPERSET_API_KEY | Use an API key instead of stored OAuth login. |
--help, -h | Show help for the current command. | |
--version, -v | Print superset v<version> and exit. |
Commands
auth
Authentication and session inspection.
superset auth login
Authenticate via browser OAuth and store a session token at
~/.superset/config.json.
Single-org accounts are selected automatically. With multiple orgs and a
TTY, the CLI prompts; with multiple orgs and no TTY, you must pass
--organization or the command exits 1 listing the available slugs.
superset auth login
superset auth login --organization acmeReturns
The newly authenticated user and active organization.
◇ Authorized!
│ Satya Patel (you@example.com)
│ Organization: Acme
└ Logged in successfully.--json
{
userId: string;
organizationId: string;
organizationName: string;
}Options
| Flag | Description |
|---|---|
--organization <idOrSlug> | Selects the active organization without prompting. Required for non-TTY logins when you belong to multiple orgs. |
superset auth logout
Clear the stored session. Does not call the API and does not clear the active organization (your preferred org persists across re-logins).
superset auth logoutReturns
A confirmation message.
Logged out.--json
{ message: "Logged out." }superset auth whoami
Show the current user, active organization, and auth source.
superset auth whoamiReturns
The current user and organization context.
Signed in as Satya Patel (you@example.com)
Organization: Acme
Auth: Session (expires in 32 min)--json
{
userId: string;
email: string;
name: string;
organizationId: string;
organizationName: string;
authSource: "flag" | "env" | "oauth";
}start
Start the local host service — the daemon the CLI and desktop app both talk to when targeting this machine.
superset start
If a manifest exists and the PID is alive, returns the existing
instance's details. Otherwise spawns the host service binary, polls
/trpc/health.check for up to 10 seconds, and writes the manifest.
Binds to 127.0.0.1 only.
superset start --daemonReturns
The running host service.
--json
{
pid: number;
port: number;
organizationId: string;
}Options
| Flag | Description |
|---|---|
--daemon | Run detached. |
--port <n> | Specific port. Default: a free loopback port. |
stop
Stop the local host service.
superset stop
Sends SIGTERM, waits up to 10 seconds, sends SIGKILL if still alive. The manifest is removed in all cases — including when SIGTERM itself throws.
superset stopReturns
The stopped host service, if one was running.
--json
// No manifest
{ running: false }
// Manifest existed
{ pid: number; organizationId: string }status
Inspect the local host service.
superset status
healthy reflects a live health.check request (2-second timeout).
superset statusReturns
The host service state. Three shapes depending on what's running.
--json
// No manifest
{ running: false; organizationId: string }
// Manifest exists but PID is dead
{
running: false;
stale: true;
pid: number;
organizationId: string;
}
// Running
{
running: true;
healthy: boolean;
pid: number;
port: number;
endpoint: string;
organizationId: string;
uptimeSec: number;
}update
Update the Superset CLI and host service binary.
superset update
Downloads the matching superset-<platform>.tar.gz from GitHub Releases
and atomically replaces the install root. Only available in built
binaries; running from bun run dev errors out.
superset update # upgrade to the latest release
superset update --check # show current → target without installing
superset update --version 0.1.2 # install a specific version (up or down)Returns
The current and target version, plus whether anything changed.
Updated 0.1.4 → 0.1.5 (/Users/you/.local/share/superset)--json
// --check
{
current: string;
target: string;
upToDate: boolean;
pinned: boolean;
}
// install
{
current: string;
target: string;
updated: boolean;
installRoot?: string;
}Options
| Flag | Description |
|---|---|
--check | Only check for updates; don't install. |
--force | Re-install even if already on that version. |
--version <version> | Install a specific version (e.g. `0.1.2`) instead of the rolling latest. Accepts upgrade or downgrade. |
organization (alias: org)
Manage which organization the CLI targets.
superset organization list
List organizations available to the current auth context. Marks the active one.
Human mode: table with NAME, SLUG, ACTIVE.
--quiet: organization IDs.
superset organization switch <idOrSlug>
Set the active organization in ~/.superset/config.json.
superset organization switch acme
superset org switch org_…Arguments
| Name | Description |
|---|---|
<idOrSlug>required | Organization ID or slug. |
projects
Projects are checked-out repos that live on a specific host. v1 ships read-only; create projects from the desktop app.
superset projects list
List projects on the target host.
Options
| Flag | Description |
|---|---|
--host <id> | Target host. Defaults to the local machine. |
Human mode: table with ID, OWNER, REPO, PATH.
--quiet: project IDs.
hosts
Discover hosts registered to the active organization. To control the
host service running on this machine, use start,
stop, and status.
superset hosts list
List hosts registered to the active organization. Host registration
happens via superset start on each machine — there is no
separate registration command.
superset hosts listHuman mode: table with ID, NAME, ONLINE.
--quiet: host IDs.
workspaces (alias: ws)
Workspaces are branch-scoped working copies on a host.
Routing: when --host resolves to the local machine, the CLI calls
the host service directly over loopback HTTP — no cloud roundtrip, works
offline. Otherwise it routes through the cloud API and the relay.
If the resolved host is the local machine but the host service isn't
responding, the CLI errors with
Host service for this machine isn't running. Run: superset start.
rather than silently falling through to the cloud.
superset workspaces list
List workspaces on the target host.
Options
| Flag | Description |
|---|---|
--host <id> | Target host. Defaults to the local machine. |
Human mode: table with ID, NAME, BRANCH, PROJECT, HOST.
--quiet: workspace IDs.
superset workspaces create
Create a workspace on the target host.
superset workspaces create \
--project prj_… \
--name "fix-login-bug" \
--branch fix/login-bugOptions
| Flag | Description |
|---|---|
--project <projectId>required | Project ID. |
--name <name>required | Workspace name. |
--branch <branch>required | Workspace branch. |
--host <id> | Defaults to the local machine. |
superset workspaces delete <id...>
Delete one or more workspaces on the target host.
superset workspaces delete ws_a ws_b ws_cArguments
| Name | Description |
|---|---|
<id...>required | Workspace IDs to delete. |
Options
| Flag | Description |
|---|---|
--host <id> | Defaults to the local machine. |
tasks (alias: t)
Tasks are units of work in your organization's task tracker.
superset tasks list
List tasks in the active organization.
superset tasks list --assignee-me
superset t list -s "auth" --jsonOptions
| Flag | Description |
|---|---|
--status <id> | Filter by status ID. |
--priority <urgent|high|medium|low|none> | Filter by priority. |
--assignee-me, -m | Tasks assigned to the current user. |
--creator-me | Tasks created by the current user. |
--search <query>, -s | Substring search on title. |
--limit <n> | Default 50, max 200. |
--offset <n> | Default 0. |
Human mode: table with SLUG, TITLE, PRIORITY, ASSIGNEE.
--quiet: task IDs.
superset tasks get <idOrSlug>
Get a task by ID or slug.
superset tasks get tsk_…
superset tasks get fix-login-bugArguments
| Name | Description |
|---|---|
<idOrSlug>required | Task ID or slug. |
superset tasks create
Create a task.
superset tasks create --title "Audit auth flow" --priority highOptions
| Flag | Description |
|---|---|
--title <title>required | Task title. |
--description <text> | Task description. |
--priority <urgent|high|medium|low|none> | Priority. |
--assignee <userId> | Assignee user ID. |
superset tasks update <idOrSlug>
Update a task. Same fields as create, all optional.
superset tasks update fix-login-bug --priority urgentArguments
| Name | Description |
|---|---|
<idOrSlug>required | Task ID or slug. |
Options
| Flag | Description |
|---|---|
--title <title> | New title. |
--description <text> | New description. |
--priority <urgent|high|medium|low|none> | New priority. |
--assignee <userId> | New assignee. |
superset tasks delete <idOrSlug...>
Delete one or more tasks.
superset tasks delete tsk_a tsk_bArguments
| Name | Description |
|---|---|
<idOrSlug...>required | Task IDs or slugs to delete. |
automations (alias: auto)
Scheduled agent runs. Schedules use RFC 5545 RRULE bodies, e.g.
FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=9;BYMINUTE=0.
superset automations list
List automations in the active organization.
Human mode: table with ID, NAME, AGENT, SCHEDULE, ENABLED, NEXT RUN.
--quiet: automation IDs.
superset automations get <id>
Get an automation's metadata. The prompt body is omitted — use
automations prompt to read it.
Use automations logs for run history.
Arguments
| Name | Description |
|---|---|
<id>required | Automation ID. |
superset automations create
Create an automation. Exactly one of --prompt or --prompt-file must
be provided.
superset automations create \
--name "Weekday triage" \
--project prj_… \
--workspace ws_… \
--rrule "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=9;BYMINUTE=0" \
--prompt-file ./prompts/triage.mdOptions
| Flag | Description |
|---|---|
--name <name>required | Automation name. |
--prompt <text> | Inline prompt; pass `-` to read stdin. |
--prompt-file <path> | Read prompt from file, verbatim. |
--rrule <rrule>required | RFC 5545 RRULE schedule. |
--timezone <iana> | Default: host TZ, then UTC. |
--dtstart <iso8601> | Default: now. |
--workspace <workspaceId> | Reuse an existing workspace. |
--project <projectId>required | Project ID. |
--host <hostId> | Default: owner's online host. |
--agent <presetId> | Default: claude. |
--agent-config-file <path> | Full ResolvedAgentConfig JSON; overrides --agent. |
superset automations update <id>
Update an automation's metadata (name, schedule, agent, host). All flags
optional. Omitting a flag preserves the existing value — undefined means
"no change", not "clear". Use automations prompt
to read or replace the prompt body.
Arguments
| Name | Description |
|---|---|
<id>required | Automation ID. |
Options
| Flag | Description |
|---|---|
--name <name> | New name. |
--rrule <rrule> | New schedule. |
--timezone <iana> | New timezone. |
--dtstart <iso8601> | New start time. |
--host <hostId> | New target host. |
--agent <presetId> | New agent preset. |
--agent-config-file <path> | Overrides --agent when both provided. |
--enabled / --no-enabled | Calls automation.setEnabled first. |
superset automations prompt <id>
Read or replace an automation's prompt body. Without --from-file, prints
the current prompt to stdout. With --from-file <path> or piped stdin,
replaces the prompt verbatim.
# Read
superset automations prompt aut_… > prompt.md
# Write from file
superset automations prompt aut_… --from-file ./prompt.md
# Write from stdin
cat ./prompt.md | superset automations prompt aut_…Arguments
| Name | Description |
|---|---|
<id>required | Automation ID. |
Options
| Flag | Description |
|---|---|
--from-file <path> | Read the new prompt from a file. Use `-` for stdin. |
superset automations delete <id>
Delete an automation.
superset automations delete aut_…Arguments
| Name | Description |
|---|---|
<id>required | Automation ID. |
superset automations pause <id>
Pause an automation (sets enabled: false).
superset automations pause aut_…Arguments
| Name | Description |
|---|---|
<id>required | Automation ID. |
superset automations resume <id>
Resume an automation (sets enabled: true). The API recomputes
nextRunAt on resume.
superset automations resume aut_…Arguments
| Name | Description |
|---|---|
<id>required | Automation ID. |
superset automations run <id>
Dispatch an automation immediately. Does not wait for completion.
superset automations run aut_…Arguments
| Name | Description |
|---|---|
<id>required | Automation ID. |
superset automations logs <id>
List recent runs for an automation.
superset automations logs aut_…Arguments
| Name | Description |
|---|---|
<id>required | Automation ID. |
Options
| Flag | Description |
|---|---|
--limit <n> | Default 20, max 100. |
Human mode: table with ID, STATUS, SCHEDULED FOR, CREATED AT, ERROR.
--quiet: run IDs.
Output modes
JSON mode (--json): raw payloads. Lists print arrays, get/create/update
print objects, delete prints summary objects. No { "data": ... } wrapper.
Empty results print null.
Quiet mode (--quiet): IDs only. Arrays of objects with an id field
print one ID per line; single objects print their id; everything else
falls back to JSON.
When CLAUDE_CODE, CLAUDECODE, CLAUDE_CODE_ENTRYPOINT, CODEX_CLI,
GEMINI_CLI, SUPERSET_AGENT, or CI is set to a non-empty value, output
defaults to JSON unless --quiet is provided.