sevalla, manages your Sevalla services from a terminal or a CI job. It covers the Sevalla API: applications, deployments, processes, domains, environment variables, logs, metrics, databases, static sites, load balancers, object storage, pipelines, projects, webhooks and API keys. The current version is 1.10.1. This page covers installing, signing in and the commands you use most; the CLI reference lists every command.
Install the CLI
- Homebrew
- npm
- Shell script
- Windows
sevalla --version to check the installed version. The Homebrew, shell script and Windows installs print the version number; an npm install prints 0.0.0-dev, so check it with npm ls -g @sevalla/cli.
Sign in
sevalla login signs you in through the browser, with no token to copy:
1
Start the sign-in
Run
sevalla login. The CLI prints a device code and opens https://app.sevalla.com/authorize in your browser. If the browser doesn’t open, visit the URL it prints.2
Authorize the CLI
In the dashboard, check that the device code matches. If you belong to more than one company, select the company. Under Set permissions, choose a Predefined role or Custom capabilities, then click Authorize.
Successfully logged in!. Run sevalla auth status to check: it shows Authenticated (source: credentials_file). The code expires after 5 minutes; if it does, run sevalla login again.
Signing in creates an API key in the company you picked, with the permissions you chose and no expiration. The CLI stores it in ~/.config/sevalla/credentials.json, readable only by you (0600). sevalla logout deletes that file, but not the key: to revoke the key, delete it under Tools > API keys.
Use an API key in CI
In CI and other places without a browser, create an API key with only the permissions the job needs, and pass it inSEVALLA_API_TOKEN. The variable takes priority over the stored credentials.
sevalla auth status then shows Authenticated (source: environment). Store the key in your CI provider’s secrets, never in the repository.
Common commands
IDs are UUIDs.sevalla apps list, sevalla static-sites list and sevalla databases list show them, and the dashboard shows them on a service’s Settings tab.
Run
sevalla <command> --help for a command’s arguments and options.
Common options
Use JSON output in scripts
List commands print the array of items, other commands the object the API returns. Errors go to stderr (as JSON in JSON mode), and the command exits with a non-zero status. Parse JSON withjq:
deploy.sh
Use the CLI from an AI agent
The CLI is built to be driven by agents as well as people:sevalla schemaprints the whole command tree as JSON (arguments, options, descriptions and defaults), andsevalla schema apps.createprints one command.- Authenticate with
SEVALLA_API_TOKENrather thansevalla login, which needs a browser. - Use
--dry-runto check a mutation before running it.
Shell completion
Update or uninstall
Uninstalling doesn’t delete
~/.config/sevalla/credentials.json or the API key behind it. Run sevalla logout first, then delete the key under Tools > API keys.
The source code and release notes are on GitHub.