Skip to content

CLI Command Reference

This page lists every watasu command, grouped by namespace. Run any command with --help for full flag details.

CommandWhat it does
watasu loginBrowser login. Stores credentials locally for API and Git.
watasu login --api-key <key>Log in with an API key (CI/automation).
watasu logoutRemove local credentials.
watasu whoamiShow the currently logged-in user.
watasu --helpList all commands.
watasu <command> --helpShow flags for a specific command.
CommandWhat it does
watasu appsList apps you have access to.
watasu create <name>Create a new app.
watasu create <name> --addons <list>Create an app and provision add-ons in one call.
watasu create <name> --no-remoteCreate without adding a local Git remote.
watasu apps:rename <new-name> --app <app>Rename an app. Updates the managed URL and Git remote.
watasu apps:destroy --app <app> --confirm <app>Destroy an app. Requires confirmation by re-typing the name.
watasu apps:trust --app <target>Authorize the current/named app to reach *-tcp services on <target>.
watasu git:remote --app <app>Add a watasu Git remote pointing at the app.
CommandWhat it does
watasu config --app <app>Show effective config for an app (includes add-on-injected vars).
watasu config:set KEY=value [KEY=value ...] --app <app>Set one or more config vars.
watasu config:set --file .env --app <app>Bulk-import vars from a dotenv file.
watasu config:unset KEY --app <app>Remove a config var.
CommandWhat it does
watasu pods --app <app>Show the formation: process types, replica counts, pod sizes, routing.
watasu pods:scale web=N worker=N --app <app>Scale replica counts per process type.
watasu pods:type web=standard-2x --app <app>Change pod sizes per process type.
CommandWhat it does
watasu logs --app <app>Tail recent application logs across all processes.
CommandWhat it does
watasu domains --app <app>List domains attached to an app.
watasu domains:add <hostname> --app <app>Attach a custom domain. Returns the DNS target to point at.
watasu domains:add <hostname> --process <name> --app <app>Attach to a specific public web process.
watasu domains:info <hostname> --app <app>Show a domain’s status, target, and attached process.
watasu domains:wait <hostname> --app <app>Block until DNS verifies and TLS is provisioned.
watasu domains:remove <hostname> --app <app>Detach a domain.
CommandWhat it does
watasu addons --app <app>List add-ons attached to an app.
watasu addons:create <plan> --app <app>Provision an add-on and attach it. Plan is e.g. postgresql, valkey:hobby-1.
watasu addons:attach <addon> --app <app>Attach an existing add-on.
watasu addons:attach <addon> --app <app> --as <ALIAS>Attach with an alias. Watasu exports alias-prefixed env vars.
watasu addons:info <addon>Show plan, status, connection details.
watasu addons:wait <addon>Block until the add-on is ready.
watasu addons:destroy <addon>Destroy an add-on. Destructive.

Add-on Backups (Valkey, ClickHouse, generic)

Section titled “Add-on Backups (Valkey, ClickHouse, generic)”
CommandWhat it does
watasu addons:backups <addon>List backups.
watasu addons:backups:capture <addon>Capture a manual backup.
watasu addons:restore <addon> <backup-id-or-file> --name <new>Restore into a replacement add-on.
watasu addons:promote <addon>Promote a restored add-on into the original’s attachment role.
CommandWhat it does
watasu pg --app <app>Show database info (alias pg:info).
watasu pg:wait DATABASE_URL --app <app>Block until the database is ready.
watasu pg:psql DATABASE_URL --app <app>Open an interactive psql session.
watasu pg:follow DATABASE_URL --app <app> --name <new> --plan <plan> --region <region>Create a follower (read replica).
watasu pg:backups --app <app>List PostgreSQL backups.
watasu pg:backups:capture --app <app>Capture a manual PostgreSQL backup.
watasu pg:backups:restore <backup-id-or-file> DATABASE_URL --app <app> --name <new>Restore PostgreSQL into a replacement database.
watasu pg:promote <new> --app <app>Promote a restored database.
CommandWhat it does
watasu valkey:cli --app <app>Open an interactive Valkey session.
watasu redis:cli --app <app>Compatibility alias for valkey:cli.
CommandWhat it does
watasu clickhouse:cli --app <app>Open an interactive ClickHouse session.

Most commands accept --app <name>. Inside a Git repo with the watasu remote, you can usually omit it.

For scripts and CI, always pass --app explicitly. See Authentication → How the CLI chooses an app.

Where commands take a plan, the format is <service>:<plan>:

Terminal window
watasu addons:create postgresql:standard-0 --app my-app
watasu addons:create valkey:hobby-1 --app my-app

The full plan catalog is in Add-on Plans.

When an app has more than one of the same service:

Terminal window
watasu addons:attach reporting-db --app my-app --as REPORTING

The alias prefixes the exported env vars (e.g. REPORTING_DATABASE_URL).

PostgreSQL commands use the env var name (not the URL itself) to identify which database to operate on:

Terminal window
watasu pg:psql DATABASE_URL --app my-app
watasu pg:psql REPORTING_DATABASE_URL --app my-app

This works whether the var came from DATABASE_URL (default) or an alias like REPORTING_DATABASE_URL.