CLI
slo [folder] open the TUI
slo run run once with no UI, output JSON lines
slo visualize watch a workflow's sub-agents
slo schedule run prompts on a timer
slo plugin install and manage plugins
slo update update Slo
slo
Opens the TUI in the current folder, or the folder you give it.
slo
slo ~/code/payments
slo --resume refunds
| Flag | What it does |
|---|---|
--resume <id or name> | Pick up a saved session. |
--workspace <file> | Load instructions from every folder in a VS Code .code-workspace file. See Sessions & context. |
--plugin <path> | Load a plugin file. Repeat to load several, in order. |
--version | Print the version and exit. |
slo run
Runs one task with no UI. Output is one JSON event per line on stdout. See Headless & server agent for the event format and patterns.
slo run -p "Summarise what changed on this branch"
| Flag | What it does |
|---|---|
-p, --prompt | The task. Required. |
--model <name> | Use this model for the run. |
--reasoning <level> | off, minimal, low, medium, high or xhigh. |
--cwd <folder> | Folder to work in. Defaults to the current one. |
--enable-history | Save the session so you can resume it. Off by default for slo run. |
--resume <id or name> | Continue a saved session. Turns history on. |
--session-id <id> | Choose the session id. Falls back to SLO_SESSION_ID, then a new id. |
--orchestrator | Let this run start sub-agents, for dynamic workflows. |
--append-system-prompt-file <file> | Add extra instructions to the system prompt. |
--system-prompt-file <file> | Replace the system prompt entirely. |
--workspace <file> | As for slo. |
--plugin <path> | As for slo. |
--json is accepted but changes nothing. The output is always JSON lines.
Exit codes: 0 completed, 1 failed, 2 aborted (for example by SIGTERM or /workflows abort).
There's no timeout flag. Wrap the command in timeout, or see the timeout settings in Environment variables.
slo visualize
Opens a read-only view of a workflow's sub-agents. It never affects the workflow.
slo visualize --session refunds-review --follow
| Flag | Default | What it does |
|---|---|---|
-s, --session | required | Session id or name of the orchestrator. |
--follow / --no-follow | follow | Keep updating while the workflow runs. |
--refresh-seconds | 1.0 | How often to update. |
--detail-format | textual | textual, markdown or html. |
The keyboard controls are listed in Supervise a dynamic workflow.
slo schedule
Saves a prompt with a trigger and lets your OS run it. See Schedulers for the full walkthrough.
| Command | What it does |
|---|---|
add | Create a schedule. Needs --name, --prompt and one trigger. |
edit | Change a schedule. |
list | All schedules, their triggers and last run. |
show --name <name> | One schedule in detail. |
execute --name <name> (or run) | Run it now. This is what the OS calls. |
install / uninstall --name <name> | Register it with launchd or cron, or remove it. |
reports --name <name> | Past runs. |
show-report --name <name> --run-id <id> | One past run. |
cleanup --name <name> --keep <n> | Delete old run records. Keeps 100 by default. |
Triggers: --cron "0 18 * * *", --interval-seconds 300 or --run-at 2026-10-01T09:00:00+00:00. Other options: --tz, --cwd, --model, --session-mode fresh|continuous, --session-reference, --coalescing-mode none|latest_by_key, --coalescing-key.
slo plugin
| Command | What it does |
|---|---|
install <url> --yes | Install from https://github.com/owner/repo or https://gitlab.com/owner/repo, pinned to the current commit. |
list | Installed plugins, with their pinned commit and source. |
upgrade <id> | Move a plugin to the latest commit. Restores the old version if anything fails. |
uninstall <id> | Remove it. |
See Plugins.
slo update
slo update latest release
slo update --development latest development build
slo update --ref v0.18.0 a specific tag, branch or commit
Your sessions, settings and skills under ~/.slo are left alone.