CLI Reference
The super binary is the primary way to interact with the daemon.
Global Flags:
--server <URL>: Override the server URL (default:http://127.0.0.1:9002).
Starting superd (daemon binary)
superd is separate from the super CLI. It reads $SUPER_ROOT/conf/super.toml and listens for API/CLI traffic.
| Mode | Command / config | When to use |
|---|---|---|
| Foreground (default) | superd or superd --foreground | systemd (Type=simple), Docker, debugging |
| Self-daemonize (Unix) | superd --daemon or [server] daemon = true | Bare metal without systemd; writes $SUPER_ROOT/run/superd.pid by default |
CLI overrides: --daemon / --foreground / --pidfile <PATH>. See Config reference and Installation — Systemd. Program control (start / stop / shutdown) is unchanged either way.
Core Management
list
List all managed programs and their status.
super listadd
Register a new program without a config file.
super add <COMMAND> [ARGS...] [FLAGS]Flags:
--name <NAME>: Custom name (defaults to binary name).--autostart: Enable autostart (default: true).--cwd <DIR>: Working directory.--env <KEY=VAL>: Set environment variables (can be used multiple times).--env-file <PATH>: Load environment variables from a file at spawn time.--user <USER>: Run as specific user.--numprocs <N>: Spawn N instances.
update
Update configuration for an existing program.
super update <TARGET> [FLAGS]Flags:
--command,--args,--cwd,--user,--group: Execution settings.--env <KEY=VAL>,--env-file <PATH>: Environment (--env-file ""clears).--autostart,--retry-limit,--autorestart,--exitcodes,--startsecs,--stopsecs.--no-health-check: Disable health check.--artifact-url,--artifact-sha256: OTA download URL and expected SHA256 checksum.--artifact-destination: Absolute path on the host filesystem where the binary lives (e.g./usr/local/bin/my-app). Required on first OTA setup if the program has no existingartifact; omit on later updates if unchanged.--artifact-extract: Extract archive before swap (default:false).- Full flow: Atomic OTA Updates.
- Scheduled tasks:
--cron(see Scheduled Tasks). - Licensed (
isolationplugin):--cpu,--memory(Linux only; warns if plugin not loaded).
rm (or remove)
Remove a program configuration. It must be stopped first.
super rm <TARGET>Process Control
All control commands support targeting by ID, Name, all, or @group.
start
Start a stopped process.
super start <TARGET> [--wait]stop
Stop a running process.
super stop <TARGET> [--wait] [--timeout N]restart
Restart a process.
super restart <TARGET> [--wait]signal
Send a specific POSIX signal.
super signal <TARGET> --sig <SIGNAL>- Signals:
hup,int,term,kill,quit,usr1,usr2.
Observability
info
Show detailed JSON/Table information about a specific program.
super info <TARGET>logs
Read historical lines from disk and/or stream live output via WebSocket.
super logs <TARGET> # live stream (WebSocket)
super logs <TARGET> --tail 200 # last 200 lines from disk
super logs <TARGET> --tail 50 --follow # tail then follow live| Flag | Description |
|---|---|
--tail N | Read last N lines from log files (GET /api/v1/programs/{id}/logs) |
--source | stdout or stderr only |
--follow | After --tail, keep streaming via WebSocket |
System
reload
Reload system configuration from super.toml (logging, includes, event hooks), or send SIGHUP to a running program when a target is given.
super reload # reload super.toml (no program restart)
super reload <TARGET> # SIGHUP to program(s) — e.g. nginx config reloadapply
Apply a declarative stack configuration (JSON).
super apply <FILE>export
Export current state as a stack JSON.
super exportshutdown
Gracefully shut down the Super daemon and all child processes (works for foreground and --daemon instances).
super shutdowndoctor
One-shot diagnostics: config check, daemon health, license status, and local [server].daemon / pidfile hints (systemd conflict, stale pidfile).
super doctorcheck
Validate super.toml (syntax, bind, licensed-mode requirements) without requiring a running daemon.
super checkSecurity (requires security plugin 💎)
When the security plugin is loaded, use the same super CLI:
# Bootstrap only (no Access Tokens yet), or after all tokens were revoked:
super login <auth_secret> # save credentials to ~/.super/cli.json
# Day-to-day: use a generated token
super login sk-...
super token list
super token create ci-bot --role operator
super token revoke <id>
# or pass token per invocation:
super --token sk-... list
export SUPER_TOKEN=sk-...auth_secret stays usable by default; Admins may explicitly disable it after creating an Admin Access Token. See Authentication.
Without the plugin, super login fails (404 on /api/v1/auth/login). OSS deployments without auth can use super list directly on localhost.
Alternative via curl:
# Bootstrap (login with auth_secret only when no tokens exist yet):
curl -X POST http://127.0.0.1:9002/api/v1/auth/login \
-H "Authorization: Bearer <auth_secret>"
curl -X POST http://127.0.0.1:9002/api/v1/auth/tokens \
-H "Authorization: Bearer <auth_secret>" \
-H "Content-Type: application/json" \
-d '{"name":"ci-bot","role":"operator"}'
curl -H "Authorization: Bearer sk-..." http://127.0.0.1:9002/api/v1/programsSee Authentication for details.