Setup Commands
Setup commands bootstrap a new SLAW instance, keep it healthy, and let you update its configuration without manually editing JSON.
slaw run
Bootstrap and start in one command:
npx slaw run
slaw run does three things in sequence:
- Runs
slaw onboardautomatically if no config file exists. - Runs
slaw doctor --repairto verify and fix the setup. - Starts the SLAW server when all checks pass.
Point to a named instance:
slaw run --instance dev
Disable auto-repair:
slaw run --no-repair
slaw onboard
Interactive first-run wizard that writes the config file:
npx slaw onboard
The wizard offers two setup paths:
- Quickstart (recommended) — embedded Postgres, local disk storage, loopback bind. Ready to run in seconds.
- Advanced setup — prompts for database, LLM provider, server exposure, storage, and secrets.
If a config already exists, onboard leaves it unchanged and shows the current settings. Use slaw configure to change individual sections on an existing install.
Options
| Flag | Description |
|---|---|
-y, --yes | Accept quickstart defaults and start immediately (non-interactive) |
--bind <mode> | Network bind preset: loopback (default), lan, or tailnet |
--run | Start SLAW immediately after writing the config |
Non-interactive quickstart — the fastest way to get running:
npx slaw onboard --yes
Quickstart with LAN reachability (useful for team machines on the same network):
npx slaw onboard --yes --bind lan
Quickstart routed through Tailscale:
npx slaw onboard --yes --bind tailnet
After onboarding, the server starts at http://localhost:3100 by default.
slaw doctor
Run health checks against the current config:
slaw doctor
Checks include:
- Server configuration and port availability
- Database connectivity
- Secrets adapter configuration
- Storage provider configuration
- Missing key files (agent JWT secret, secrets master key)
Auto-repair detected issues:
slaw doctor --repair
Skip the repair confirmation prompt:
slaw doctor --repair --yes
slaw configure
Update a specific configuration section on an existing install:
slaw configure --section server
slaw configure --section database
slaw configure --section llm
slaw configure --section logging
slaw configure --section storage
slaw configure --section secrets
slaw configure re-runs the prompts for one section and writes the updated config back to disk. The other sections are untouched.
The secrets section here sets the deployment-level fallback secrets provider. Per-squad provider vaults are managed in the Board UI under Squad Settings → Secrets → Provider vaults and via the /api/squads/{squadId}/secret-provider-configs API.
slaw env
Print the resolved environment variables for the current config:
slaw env
Useful for verifying bind mode, public URL, and storage settings before starting the server.
slaw allowed-hostname
Allow a hostname for access in authenticated or private deployment modes:
slaw allowed-hostname my-tailscale-host
Equivalent to adding the hostname to server.allowedHostnames in the config file, but without manually editing JSON.
slaw auth bootstrap-squad-lead
Generate a one-time invite URL for the first instance admin:
slaw auth bootstrap-squad-lead
Use this after initial onboarding in authenticated deployment mode to create the Squad Lead account. On local_trusted mode, this step is not required.
Local storage paths
| Data | Default path |
|---|---|
| Config file | ~/.slaw/instances/default/config.json |
| Database | ~/.slaw/instances/default/db |
| Logs | ~/.slaw/instances/default/logs |
| Storage (files) | ~/.slaw/instances/default/data/storage |
| Secrets key | ~/.slaw/instances/default/secrets/master.key |
Override the data root for the whole instance:
SLAW_HOME=/custom/home SLAW_INSTANCE_ID=dev slaw run
Or per command:
slaw run --data-dir ./tmp/slaw-dev
slaw doctor --data-dir ./tmp/slaw-dev
Next steps
- Control-Plane Commands — manage issues, agents, and squads from the terminal
- Botfather Commands — check control-tower enrollment status
- CLI Overview — global flags and context profiles