Skip to main content

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:

  1. Runs slaw onboard automatically if no config file exists.
  2. Runs slaw doctor --repair to verify and fix the setup.
  3. 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

FlagDescription
-y, --yesAccept quickstart defaults and start immediately (non-interactive)
--bind <mode>Network bind preset: loopback (default), lan, or tailnet
--runStart 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.

note

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

DataDefault 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