Get started
The CLI in two minutes
Install rush, sign in once, start a run on a repository and steer it from your terminal while it works in the cloud.
rush is a client of the same API as the console. Every run it starts works in Rush Cloud, in its
own sandbox; your terminal only starts it, follows it and steers it. Close the terminal and the run
keeps going.
Install and sign in
On macOS or Linux:
curl -fsSL https://cdn.getrush.ai/install.sh | bash
On Windows, in PowerShell:
irm https://cdn.getrush.ai/install.ps1 | iex
Homebrew works too: brew install phnx-labs/tap/rush. Then sign in with Phoenix ID:
rush login
rush whoami shows who you are signed in as. A run on a repository needs the Rush GitHub App
installed there; rush connections add github installs it, or use Settings → Integrations in
the console.
Start a run
rush run claude -r acme/web "Fix the flaky checkout test and open a PR"
The first argument is the harness (claude, codex or opencode) or the name of a saved agent.
-r names the repository; leave it out inside a checkout and rush uses its GitHub origin and
prints which one. For a long task, -f task.md reads the prompt from a file.
rush run follows the run live and prints its final status. Two flags change that:
| Flag | What it does |
|---|---|
--keep |
Keeps the sandbox after the task, so you can pause, resume and send follow-ups |
-d |
Prints the run id and returns instead of following |
Without --keep, the sandbox is torn down when the task finishes. Other flags: -m picks a model,
-e an effort, --pr 42 starts from an open pull request's branch, and --project runs in a saved
Project.
Follow and steer it
| Command | What it does |
|---|---|
rush runs |
Lists your runs; --status running filters them |
rush logs <run> |
Picks the live stream back up; --new prints only what is new since you last looked |
rush send <run> "..." |
Sends a follow-up; mid-turn, a text message queues until the turn ends |
rush pause <run> |
Parks a --keep run's sandbox with its disk and memory |
rush resume <run> |
Wakes it where it left off |
rush attach <run> |
Opens an interactive shell in the run's sandbox |
rush stop <run> |
Stops the run; --turn stops only the current turn |
rush open <run> pr |
Opens the pull request it produced; without pr, the run's console page |
rush artifacts <run> |
Lists the files it saved; --get downloads them |
rush transcript <run> |
Prints the captured transcript |
Leave out the run id in a terminal and the command offers a picker.
Any API call
rush http calls the API with your signed-in session, so you never copy a token by hand. A path
starting with / goes to https://api.prix.dev:
rush http GET /o/acme/agents/available
rush http POST /o/acme/api-keys -d '{"name": "ci"}'
Set RUSH_API_KEY to an org key and rush http, and every other command, sends the key instead of
your session. That is how a CI job runs rush without a person signed in.
rush --help and rush <command> --help show the exact surface of the version you have installed,
and rush upgrade installs the latest.
Next
- Hand off from the terminal walks a long run from start to pull request with your laptop closed in between.
- Runs and sessions explains turns, follow-ups and parked sandboxes.