SpinupSpinup Docs
CLI

Configuration

Control how the Spinup CLI resolves API endpoints, credentials, and workspace context.

Environment variables override the stored config file, which overrides the built-in defaults.

Supported environment variables

  • SPINUP_BASE_URL
  • SPINUP_AUTH_BASE_URL
  • SPINUP_API_KEY
  • SPINUP_WORKSPACE
  • XDG_CONFIG_HOME
  • SPINUP_INSTALL_BASE_URL
  • SPINUP_INSTALL_DIR
  • SPINUP_NO_UPDATE_CHECK

Default endpoints

API:  https://api.getspinup.com/v1
Auth: https://www.getspinup.com/api/auth

Local or staging overrides

SPINUP_BASE_URL=http://localhost:3001 \
SPINUP_AUTH_BASE_URL=http://localhost:3000 \
spinup login --allow-non-default-host

These environment overrides apply only to the command you run. spinup login stores the personal/device key and default workspace, but it does not persist endpoint URLs back into the config file.

When the effective API or auth endpoint differs from the defaults, the CLI prints those endpoints before continuing. Any command that would send credentials to a non-default host must include --allow-non-default-host.

If you want persistent non-production endpoints, edit ~/.config/spinup/config.json directly:

{
  "apiBaseUrl": "http://localhost:3001/v1",
  "authBaseUrl": "http://localhost:3000/api/auth"
}

With stored overrides in place, confirm credentialed commands explicitly:

spinup me --allow-non-default-host
spinup agents list --allow-non-default-host

spinup logout clears the stored personal/device key and default workspace, but it leaves explicit endpoint overrides in place.

Persistent workspace selection

Use the CLI to inspect and persist workspace context directly:

spinup workspaces list
spinup workspaces use acme

SPINUP_WORKSPACE still works as a one-off override and takes precedence over the stored defaultWorkspaceSlug.

CLI updates

spinup update downloads the hosted installer and updates the binary in the current executable directory. Override the install target with SPINUP_INSTALL_DIR.

The CLI checks the hosted release manifest after successful non-JSON commands and prints a notice when a newer version is available. Disable that check with:

SPINUP_NO_UPDATE_CHECK=1 spinup agents list

Config precedence

  1. Environment variables
  2. ~/.config/spinup/config.json
  3. Spinup defaults

Keep the config file strict and minimal. Only the documented keys are supported.

If the config file contains malformed JSON, unsupported keys, or invalid values, the CLI stops and prints the exact config path plus the validation error. It does not silently ignore invalid config anymore.