Rush CLI 0.2.50
Install
macOS / Linux
curl -fsSL https://cdn.getrush.ai/install.sh | bashWindows
irm https://cdn.getrush.ai/install.ps1 | iexHomebrew
brew install phnx-labs/tap/rushDebian / Ubuntu
sudo apt install rush-cliAlready installed?
rush upgradeAdded
rush delete-account— self-service account erasure from the CLI. The console's Delete account card and the CLI now drive the same resource,GET/POST/DELETE /me/deletion. Bare, it reports an already-scheduled deletion or asks for confirmation and queues one;--statusreads the pending request,--cancelwithdraws it,-yskips the prompt and--jsonprints the raw document. Nothing is deleted immediately: the purge is scheduled 30 days out and cancellable until it runs.--organd a remembered organization (PHNX-3751 slice 3 Track 3). Projects, agents and the GitHub installation list live under/o/{org}in Rush Cloud now, so the CLI needs to know which org it is working in. It resolves one, once:--orgwins, then the org saved in~/.rush/user.yaml(org:), then your personal org from the org list — which it then saves, so later runs cost no extra call.internal/apistays transport-only and asks for the handle through anOrgSource, the same shape as the existingTokenSource.
Changed
-
The upgrade channel reads the CDN, not the API (PHNX-3751 slice 3 track 1).
rush upgradeand the background upgrade-banner check now fetchhttps://cdn.getrush.ai/releases/rush-cli/latest.jsoninstead ofhttps://api.prix.dev/api/v1/releases/rush-cli/latest. The manifest is the same R2 object either way; reading it from the artifact host means no future API rename can strand installed CLIs on a 404 the way this one would have. The publishedinstall.sh/install.ps1and the release scripts read the same URL. The API still serves the document atGET /releases/rush-cli/latest. -
scripts/upload-release.shuses the renamed publish verbs. Presign isPOST /internal/releases/rush-cli/versionsand finalize isPATCH /internal/releases/rush-cli/latest; the deadAPI_URLconstant for the retired multipart/uploadendpoint is gone. -
rush httpexamples in the docs use a live path (POST /internal/admin/jobs/catalog-rebuild) rather than the removed/api/v1/admin/regenerate-catalog. -
Every Rush Cloud path the CLI calls moved under the org. Projects are
/o/{org}/p[/{project}](a project is addressed by its handle, so the separate?name=resolve call is gone); agents are/o/{org}/agents, with the catalog at/o/{org}/agents/available; the GitHub installation list isGET /o/{org}/github. The old/api/v1/*spellings 404 against a deployed Rush Cloud from this release's API onward, so 0.2.49 and earlier cannot dispatch against it. -
Both hand-built GitHub installation requests are gone. Repo resolution on dispatch and the interactive repo picker call
Client.ListGitHubInstallationsinstead of assembling their ownhttp.Request(AGENTS.md: a command file builds no requests). -
Account API calls follow Rush Cloud's PHNX-3751 slice 3 track 2 rename.
rush login/rush whoami's server-side validity check now callsGET /me(was/api/v1/auth/me); session refresh reads Supabase config fromGET /auth/config(was/api/v1/auth/config);rush connect/accounts/disconnectnow callPOST/PATCH/DELETE /me/agent-accounts[/:id](was/api/v1/cloud-accounts, and the single-keygrok/cursor/copilotpath merged into the samePOST /me/agent-accounts, was/api/v1/cloud-account-tokens);rush agents new's Connections tab callsPOST/GET /me/connections[/:id](was/api/v1/auth/connection-operations[/:id]) and lists connections fromGET /me/connections(was/api/v1/auth/connections). No CLI-visible behavior changes — only the wire paths, ahead of the Rush Cloud deploy that retires the old ones. -
ListOrgsnow callsGET /me, notGET /api/v1/orgs/me(Track 3 → Track 2 hand-off, agreed at review). Track 2's Account rename folds the org-membership read intoGET /me'sorgs[](personal-first, same{id,name,slug,kind,role}shape); the CLI'sinternal/api/orgs.gopicks that path up now that both tracks have landed, instead of shipping a call to a route Track 2 already retired. -
rush artifactsreads the org store (PHNX-3751 slice 3 Track 5).listandviewcall/o/{org}/artifacts[/{artifact}], resolved through the sameOrgSourceas every other cloud verb, solistis now "what my organization has" rather than "what I uploaded". -
rush artifacts sharesets a visibility instead of minting a share. A share IS an artifact visibility in Rush Cloud now, so the command is aPATCH /o/{org}/artifacts/{artifact}carrying{"visibility": …}and takes--visibility private|org|public(defaultpublic). Publishing printshttps://share.getrush.ai/a/{slug}-{id}; the slug comes from the title and is ignored on read, so retitling never breaks a link.--visibility privateunpublishes and prints the new visibility rather than a link that would 404 for its recipient. -
rush loginopens the Phoenix approval page in your default browser (PHNX-4053). When this host has a desktop session (macOS, Windows, or a Linux display) the CLI opens the direct approval link itself and says so; the URL and short code still print, so a headless host or approving from a phone works as before. It uses the same opener asrush open.
Removed
rush artifacts share --privateand--file(PHNX-3751 slice 3 Track 5).--privateminted an unlisted, expiring capability link; that object no longer exists, so the flag is deleted rather than silently reinterpreted as--visibility private(which means "not shared", not "shared secretly").--fileselected one file of a multi-file share, which the artifact-is-the-share model has no equivalent for. Theapi.Sharetype is gone with them.- The hidden alias layer is gone (PHNX-4054). 0.2.49 kept every old spelling
registered but hidden; this release deletes them.
rush cloud <anything>(run, list, view, logs, cancel, message, transcript, artifacts, pause, resume, accounts, agents, warmup, computers, login, whoami, attach),rush ssh,rush agents create|list|view| archive,rush connect codex,rush connect view|status,rush accounts list|ls| status, and the--keyflag onconnect grok|cursor|copilotare unknown commands now.connect grok|cursor|copilotare visible and take the key from the--api-keyprompt or stdin, likeconnect anthropic|openai; a key is never a command-line argument. The implementations behind the top-level verbs are unchanged:rush run,ps,logs,send,attach,stop,pause,resume,open,artifacts,transcript,agents new|show|edit|rm,accounts,connect,disconnect, and the hiddenrush httpall work as in 0.2.49.rush agents newno longer has--copyor--idempotency-key(they werecreate's); pass the whole definition with-finstead. Per-run detail (harness version resolved, capture state, PR URL) is the viewrush psopens from its picker, or the console pagerush openlands on.
Fixed
rush psand the run detail decode again. Rush Cloud's PHNX-4050 changed a run'sstarted_byfrom a name string to{name, avatar_url}(or null), so everyGET /cloud-runsread failed withcannot unmarshal object into Go struct field cloudExecution.executions.started_by of type string—rush ps, the run picker, and 0.2.48'srush cloud listall broke against production. The CLI now reads the object and shows the starter's name where it did before.
Changed (PHNX-3751 slice 3 Track 4)
- Every session/run path moved under the org and project.
rush run,ps,logs,send,attach,stop,pause,resume,open,artifacts, andtranscriptnow call/o/{org}/p/{project}/sessions/...(a resolved--project, or the reserved_segment for a repo-less/direct-repo dispatch) instead of the flat/api/v1/cloud-runs/*;rush sessionsand its picker call the org-wide/o/{org}/sessionsinstead of/api/v1/sessions*. The old/api/v1/*spellings 404 against a deployed Rush Cloud from this release's API onward, so an installed CLI predating this release cannot dispatch against it. - Dispatch accepts
202, not200. A cloud run's creation response is now the full session detail (additivekind/org_id/project_idfields alongside the unchangedexecution_idand the rest of the shape). - Cancel/pause/resume are one
PATCHwith a status body, replacing three separatePOST .../cancel|pause|resumecalls. The CLI's own--reasonflag onrush stopis unchanged, but the value is no longer sent to the API — the new endpoint rejects any body field beyondstatus.
Downloads
| Platform | Binary | SHA-256 |
|---|---|---|
| macOS · Apple Silicon | download | — |
| macOS · Intel | download | — |
| Linux · x64 | download | — |
| Linux · arm64 | download | — |
| Windows · x64 | download | — |
| Windows · arm64 | download | — |
Checksums are published for the current latest release. Verify older binaries against rush --version after install.