August 30, 2026
Rush CLI 0.2.38
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 upgradeChanged
rush loginnow uses Phoenix ID, the same human identity as agents CLI and prix.dev (PHNX-3546). Every login uses the RFC 8628 device flow atid.byphoenix.com: the terminal prints a short code and a URL that works from any browser or phone, including SSH/headless hosts. After approval, Rush stores the opaque Phoenix bearer directly as the session in~/.rush/user.yaml— no exchange step, no refresh token, and no local expiry. prix-api verifies the bearer per request against Phoenix ID (PHNX-3543), and the daemon serves the stored non-expiring bearer (expires_at: 0) without ever attempting a Supabase refresh. The former direct Supabase Google/localhost/paste-code OAuth paths — and the--no-browser/--callback-port/--paste-code/--deviceflags, deprecated in the prior release — are removed, eliminating the second user-facing identity flow.- Depends on prix-api Phoenix-bearer acceptance (PHNX-3543) being deployed to the target environment before this ships there: until then
api.prix.devreturns 401 for a raw Phoenix bearer. Verified end-to-end against liveid.byphoenix.com(device approval →pid_…bearer stored withexpires_at: 0, accepted by Phoenix/api/v1/auth/me).
- Depends on prix-api Phoenix-bearer acceptance (PHNX-3543) being deployed to the target environment before this ships there: until then
Fixed
rush cloud accounts addaccepts the compliant API-key providers the Prix API already requires (PHNX-3597).--provider claude-api-keyand--provider openai-api-keynow pass CLI validation and reachPOST /api/v1/cloud-accounts, matching the server contract and the remediation commands printed by failed cloud dispatches. Help/examples list all four account-provider literals; unsupported values still fail before the CLI reads a credential.- Daemon-less auth works with a Phoenix bearer (PHNX-3546 follow-up). The CLI-side session fast path (
GetValidAuthConfig,EnsureSessionTokenFresh) judged freshness by parsing the token as a JWT — which an opaquepid_…Phoenix bearer never is — so it always missed and forced every session read through the daemon, failing outright where no daemon runs (cloud pods, RUSH-1310). Freshness now spans both shapes: a JWT is judged by itsexp, an opaque bearer by the storedexpires_at(0 = non-expiring), matching the daemon's ownisFresh. Regression tests cover the opaque-bearer fast path with no daemon.
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.