Commands Reference
Use this reference after the CLI workflow. Use slipway --help to list commands on your installed CLI. In the unreleased next CLI, slipway <command> --help shows command-specific flags without authentication or prompts, including for aliases. Earlier clients show global help instead. Unknown commands and options in the next CLI exit 1, with structured stderr when a machine-output flag is requested.
Most commands require saved credentials and a linked .slipway.json project. --env selects an environment; it does not select a server. --project is supported by the next operational commands listed below, including logs and run; older commands still use a linked project. --server belongs to login only.
Release compatibility
This reference describes the inspected CLI source. The npm CLI version and server version are independent. Live app logs, remote command execution, app inspection/restart, doctor, cancellation, history, arming, private receipts, and their machine flags below require the unreleased next CLI and server, beyond server v0.0.86. Earlier app logs, run, and terminal print Docker instructions. See Updates.
Use slipway --help (-h) and slipway --version (-v) for global help and version. Next-release command flags are parsed separately; db:create --version selects a database version. Flags listed below are command-specific.
Authentication
login
Authenticate with your Slipway server.
slipway login [--server <server>]logout
Clear stored credentials.
slipway logoutwhoami
Show current authenticated user.
slipway whoamiDisplays saved identity; it does not check the credential against the server.
Projects
projects
List all projects.
slipway projectsproject:update
Update a project.
slipway project:update <slug> [--name <name>] [--description <description>] [--repo <repo>]init
Initialize a new Slipway project.
slipway init [--name <name>]link
Link current directory to an existing project.
slipway link <project>Environments
environments
List environments for the current project.
slipway environmentsenvironment:create
Create a new environment.
slipway environment:create <name> [--production] [--domain <domain>] [--from <from>]environment:update
Update an environment.
slipway environment:update <slug> [--name <name>] [--domain <domain>] [--production]Deployments
push
Push source code without deploying.
slipway pushUploads source only; there is no --env option. In a Git repository, packages committed HEAD.
slide
Push and deploy the current project.
slipway slide [--env <env>] [--app <app>] [--message <message>]Aliases: deploy, launch. Watches the deployment; verify the final state and app health.
--env defaults to production.
readiness
Inspect server-owned deployment readiness for the current source.
slipway readiness [--env <env>] [--app <app>] [--json]Required readiness failures produce a nonzero exit. Recommendations do not block deployment.
--env defaults to production.
deployments
List recent deployments.
slipway deployments [--env <env>] [--limit <limit>]--limit defaults to 10.
Variables
env
List environment variables.
slipway env [--env <env>]Masks values using name-based heuristics. Review output before sharing it.
--env defaults to production.
env:set
Set environment variables (KEY=value).
slipway env:set <pairs...> [--env <env>]--env defaults to production.
env:unset
Remove environment variables.
slipway env:unset <keys...> [--env <env>]--env defaults to production.
Services
services
List all services.
slipway services [--env <env>]db:create
Create a new database service.
slipway db:create <name> [--type <type>] [--version <version>] [--env <env>]--type defaults to postgresql. --env defaults to production. The next CLI correctly parses --version as a database option. Earlier clients intercept it as the CLI version flag; use dashboard service creation on those clients.
db:url
Get database connection URL.
slipway db:url <name> [--env <env>]Prints a credential-bearing connection URL; keep output private.
--env defaults to production.
service:review
Review a private custom image before creation.
slipway service:review <image> [--env <env>] [--name <name>] [--port <port>] [--app <app>] [--definition <definition>] [--json]Returns a redacted review. Protect local definition files containing credentials.
--env defaults to production.
service:create
Create exactly the previously reviewed custom service.
slipway service:create <review-id>Creates the previously reviewed service; review again after a definition change.
Backups
backup:create
Create a manual database backup.
slipway backup:create <service-name> [--env <env>]--env defaults to production.
backup:list
List backups for a database service.
slipway backup:list <service-name> [--env <env>]--env defaults to production.
backup:restore
Restore a database backup.
slipway backup:restore <backup-id> [--writes-paused]Requires --writes-paused. Polls the restore operation; keep writers paused until the database is verified.
--writes-paused defaults to False.
Administration
audit-log
View audit log entries.
slipway audit-log [--page <page>] [--limit <limit>]--page defaults to 1. --limit defaults to 20.
Logs and command execution (unreleased)
logs
slipway logs [--project <slug>] [--env <slug>] [--app <slug>] [--tail <n>] [--follow] [--deployment <id>] [--json] [--ndjson]Environment defaults to production; tail defaults to 100 and accepts 0–10000. Short forms: -p, -e, -a, -n, -f, -d. Use one of JSON or NDJSON; following requires human output or NDJSON. --deployment reads stored build and deploy logs for an actual deployment ID.
run
slipway run [<command...>] [--project <slug>] [--env <slug>] [--app <slug>] [--stdin] [--file <path>] [--write-arm-file <path>] [--receipt-file <path>] [--json] [--ndjson]Alias: exec (next CLI). Environment defaults to production. Short targeting forms: -p, -e, -a. Provide one command source: positionals, stdin, or a file. The command source is bounded to 64 KiB. Every production command requires a valid exact-command/deployment arm; review and request it explicitly with run:arm. --receipt-file exclusively creates a private local metadata snapshot before submission, without command source, output, or arm tokens.
Read the workflow for completion receipts, structured errors, exit codes, and unconfirmed interruptions. There is no automatic replay, idempotency option, durable execution lookup, or resume command. run:cancel requests confirmed cancellation of an owned active execution; run:history returns retained metadata, not execution lookup.
App and command operations (unreleased)
The following commands accept mutually exclusive --json and --ndjson, each producing one JSON result on stdout and structured errors on stderr. Their environment defaults to production; target short forms are -p, -e, and -a. app:inspect, app:restart, run:history, and run:arm require an explicit app. Unknown apps fail rather than falling back.
doctor
slipway doctor [--project <slug>] [--env <slug>] [--app <slug>] [--json] [--ndjson]Checks server health and saved CLI authentication. With a selected project, also checks deployment readiness; readiness succeeds only when canDeploy is true. Any failed check exits 1. This does not prove app availability.
apps
slipway apps [--project <slug>] [--env <slug>] [--app <slug>] [--json] [--ndjson]Lists app metadata and resource limits without environment variables or credentials. --app filters one exact app.
app:inspect
slipway app:inspect [--project <slug>] [--env <slug>] --app <slug> [--json] [--ndjson]Inspects one explicit app, omitting environment variables and credentials.
app:restart
slipway app:restart [--project <slug>] [--env <slug>] --app <slug> --approve-target <project/env/app> [--json] [--ndjson]Requires exact target approval and calls the synchronous restart endpoint. A lost response produces RESTART_UNCONFIRMED; inspect before retrying.
run:arm
slipway run:arm [<command>] [--project <slug>] [--env <slug>] --app <slug> --approve-target <project/env/app> --output <private-file> [--stdin] [--file <path>] [--json] [--ndjson]Requests an owner/admin-approved, exact-command/deployment write arm. Command input is bounded to 64 KiB and uses one of positionals, stdin, or file. Exclusively creates a mode-0600 file; refuses existing files and symlinks. Tokens are never printed. The configured expiry is 60 seconds; the token is single-use. A failed request can leave an empty private file. See the production workflow.
run:cancel
slipway run:cancel <execution-uuid> [--json] [--ndjson]Exits 0 only for server-confirmed termination (cancelled: true). A false result exits 1 and does not distinguish unknown, completed, unavailable, unowned, or unconfirmed executions. Server live lookup is process-local.
run:history
slipway run:history [--project <slug>] [--env <slug>] --app <slug> [--json] [--ndjson]Lists retained per-user app command metadata with executionLookup: false. Row IDs are not execution UUIDs. Source, output, and results are omitted; history does not provide a durable ledger or replay.
Manual container connection
terminal
slipway terminal [--env <slug>] [--app <slug>]This command does not open an interactive session. It looks up the container and prints a Docker instruction to use on the server. Do not treat it as a working remote terminal.
Operations outside the CLI
Use the dashboard for lifecycle controls beyond the next CLI restart command, rollback, team management, and tool-specific Dock and Quest operations. A command name is available only when it appears in your installed CLI help. Deployment --dry-run, --no-cache, --canary, global --server, and profiles are not supported by this contract.