All pages
The pilot CLI
One static binary with no runtime. The groups below are the ones
pilot --help prints, in the same order, so what you read here is what the
binary says about itself.
Install and upgrade
curl -fsSL https://pilots.run/install.sh | sh
npm install -g pilots
Either form gets the same binary. pilot upgrade replaces it in
place afterwards. The quickstart covers signing in.
Every command carries its own help, written as what it is for, when to reach for it, and worked examples rather than a list of flags.
pilot --help
pilot machine create --help
Run something now
| Command | What it is for |
|---|---|
machine
| Create and drive machines. Aliased to m, and machines. |
exec
| Run a command on a machine and get its output. Aliased to x. |
console
| An interactive shell on a machine. Aliased to c. |
attach
| Reconnect to a console session that is still running. |
session
| The console sessions a machine has open, and killing one. |
process
| The processes running inside a machine. Aliased to ps. |
file
| Copy files in and out of a machine, or edit one in place. |
proxy
| Forward local ports to ports inside a machine. |
claude
| Claude Code inside a machine, signed in from this terminal. |
machine fork
| A new machine from a machine or one of its checkpoints. |
Ship it
| Command | What it is for |
|---|---|
deploy
| Build a directory and run it as a service. |
promote
| Turn a sandbox into a durable service, keeping its URL. |
service
| Inspect and change services. Aliased to s, and svc. |
add
| Add a database to this project’s compose file. |
db
| Database operations, recovery above all. |
url
| Show a URL and who may reach it, and change that. |
builder
| The build machines pilots runs for your organization. |
See what is happening
| Command | What it is for |
|---|---|
status
| This organization’s machines, by state. |
logs
| Every replica’s logs, each line prefixed with the replica. |
metrics
| What a database engine says about itself. |
usage
| What this organization has used, and what it cost. |
egress
| The addresses this organization’s outbound traffic leaves from. |
tui
| Your machines and services as a dashboard you leave open. Aliased to ui. |
State that outlives a machine
| Command | What it is for |
|---|---|
volume
| Durable storage that outlives a machine. Aliased to vol. |
secret
| The values a secret reference resolves to, on this machine. |
domain
| Attach your own hostnames to services. |
Fleet, keys and context
| Command | What it is for |
|---|---|
login
| Authenticate with GitHub and store an API key. |
logout
| Remove the stored credentials. |
whoami
| Which key, fleet and organization every other command uses, and where each came from. |
org
| Which workspace commands act as. |
use
| Make a machine the default for this directory. |
For agents
| Command | What it is for |
|---|---|
init
| Copy the pilots skill into a repository and register the MCP server. |
mcp
| Run the pilots MCP server on stdio, and install it into a harness. |
skill
| Manage the pilots agent skill. |
Agents and MCP is what these three are for.
Help and troubleshooting
| Command | What it is for |
|---|---|
api
| Make an authenticated call to the fleet API. |
doctor
| Check this machine’s pilots setup and say what to fix. |
upgrade
| Upgrade this binary to the latest release. |
version
| Print the CLI version. |
completion
| The autocompletion script for your shell. |
Global flags, and scripting
| Flag | What it does |
|---|---|
--json
| Print the answer as JSON on stdout, and errors on stderr. |
--api-key
| The key to authenticate with. Wins over the environment. |
--api-url
| The fleet to talk to. Wins over the environment and the credentials file. |
-o, --org
| Act as this organization. |
-s, --select
| Pick the machine from a list instead of naming it. |
-y, --yes
| Answer yes to every confirmation. For scripts and agents. |
pilot --json status
pilot -y machine destroy scratch
PILOT_API_KEY=... pilot service ls --json
PILOT_API_KEYandPILOT_API_URLare read when the flags are absent.pilot whoamisays which source won.--jsonprints the server's body unchanged on an error, so a script can branch on the errorcoderather than on wording (errors).