← All CLI releases

Rush CLI 0.2.40

The CLI becomes a thin cloud client. 31 commands removed across four waves of PHNX-3839 — implementations deleted, not hidden — plus two new cloud commands. Surface: 52 to 23 top-level, 189 to 97 commands, ~21,000 lines gone from the binary. See the Added / Changed / Removed entries below for the detail; this section is the summary and the version stamp.

A minor bump rather than a patch because commands were removed: build, dev, plugin, skill, connector, registry, extension, agents, list, view, uninstall, import, send, sync, tool, host, profile, artifact, session, connection, trash, init, verify, unpublish, publish, eval, deploy, capability, computer, inspect, setup.

rush install is unchanged and still required: prix/factory execs rush install <ref> --yes inside a cloud pod (pod-agent.ts:1392) to materialise a registry agent before running it. Local agent authoring moves upstream; agents/GUIDE.md carries a banner saying so.

This release also supersedes 0.2.40, which was stamped in this file but never reached the registry (PHNX-3922). Its content is included here.

Install

macOS / Linux

curl -fsSL https://cdn.getrush.ai/install.sh | bash

Windows

irm https://cdn.getrush.ai/install.ps1 | iex

Homebrew

brew install phnx-labs/tap/rush

Debian / Ubuntu

sudo apt install rush-cli

Already installed?

rush upgrade

Added

  • rush cloud logs --new — what happened since you last looked (PHNX-3839). Prints only the log that has appeared since this machine last read the run, then exits. One-shot for live and finished runs alike: the question has an end, and following would just be logs -f. The read position is a byte offset stored per run under ~/.rush/cursors/ (0600 in a 0700 dir), so this adds no API surface. A blob shorter than the stored offset means the log was truncated or rotated, which is reported rather than silently mis-sliced; a missing or corrupt cursor degrades to showing everything.

  • rush cloud list --repo / --agent / --since. --repo takes owner/name or a bare name (case-insensitive); --agent is a substring, so claude finds claude-code; --since takes 30m/12h/7d or an absolute date. Applied client-side — the endpoint takes only limit and status today — which the flag help states outright, and the empty state names the active filters so a narrow filter is not mistaken for an empty account.

Changed

  • GET /cloud-runs/:id/logs reports truncated. The Loki read is a single non-paginated query_range capped at 5000 entries, so a run past that many lines stops growing while the pod keeps working — previously with no signal. Without it, --new would have reported "nothing new" forever on exactly the chatty runs it exists for.

Removed

  • Thin-client trim, wave 4 — the local-runtime and Store surfaces are gone from the binary, not just from --help (PHNX-3839). 46 files, ~16k lines. Waves 1-3 took the surface 52 → 39 top-level, but twelve of the survivors were merely Hidden = true — still compiled, still maintained, still shipped. This deletes the implementations.

    • Removed: build, dev, plugin, skill, connector, registry, extension, list, view, agents, uninstall, import, send, sync, tool, host, profile, artifact (singular), session (singular), and the connection group.
    • Surface, read from the built binary: 52 → 23 top-level, 189 → 97 commands, 28 → 16 visible in rush --help.
    • install stays. prix/factory execs rush install <ref> --yes inside a cloud pod to materialise a registry agent before running it (pod-agent.ts:1392); deleting it breaks cloud dispatch of registry agents. The factory's full rush surface is run / serve / install / daemon, and those four are a production contract. Its interactive catalog browser is gone — the pod invocation is non-interactive — so rush install now requires a named agent.
    • rush/app's IPC was deliberately not treated as a constraint: AGENTS.md already directs the app off Store, installed agents, and local execution, and the app is being rewritten. Earlier waves treated app IPC as a hard blocker; that was wrong.
    • Local agent authoring moves upstream. agents/GUIDE.md carries a banner: its agent.yaml, prompt, tool, and UI-component content is still accurate — only the rush build validation loop is gone.
  • Thin-client trim, wave 1 — 7 Go-harness commands (PHNX-3839). rush trash, init, verify, unpublish, publish, eval, and deploy are gone, with their tests and docs. These belonged to the local .rush build-and-publish pipeline that the always-cloud client retires. The trash helpers (moveToTrash/listTrash/restoreTrash/purgeTrash) stay — rush session delete still soft-deletes through them. Surface: 52 → 45 commands.

  • Thin-client trim, wave 2 — capability, computer, inspect, setup (PHNX-3839). All four are local-runtime surfaces with no caller in rush/app or prix/factory. Surface: 45 → 41 commands.

    • rush capability — install-into-Rush asset manager. rush skill install and rush connector install are unchanged, and the prix/catalog/capabilities/ tree stays because the skill walker reads SKILL.md files nested under it.
    • rush computer — registered a machine as a cloud compute target, part of the local device-execution path being retired. Machines registered before this release keep working: the daemon still auto-loads ~/.rush/computer.yaml on start (internal/daemon/daemon.go:91-98). There is no supported way to register a new machine until the relay is re-exposed on the cloud surface — see rush/app/native/computer-win/docs/INSTALL.md.
    • rush inspect — inspected a local .rush container.
    • rush setup — onboarding wizard for the local runtime. The internal/setup package stays: the daemon still serves GET /setup/status (internal/daemon/api.go:70), which the Rush app's Settings → Setup tab reads.
    • formatBytes and relativeTime moved out of the deleted files into internal/cli/display_format.go; the artifacts picker and the cloud account/host views still use them.
  • Thin-client trim, wave 3 — the duplicate list and view shortcuts (PHNX-3839). rush list and rush view were top-level aliases that shared their RunE with rush agents list / rush agents viewrush agents --help advertised the overlap explicitly (rush agents list ↔ rush list). Nothing is lost: the noun-group form is unchanged and is now the single home. Surface: 41 → 39 commands.

    • rush agents list inherits the side_effect: read / auth: required annotations that lived on the deleted listCmd. Agents read side_effect to decide whether a command is safe to run unattended, so leaving them behind would have silently reclassified listing as unsafe (it is one of 164 commands that carry no annotation today).
    • rush agents list also inherits the full flag help and examples (--source, --remote, --local, --system, --json) — the flags were already registered on it, only the documentation lived on the shortcut.
    • The interactive picker's header now reads rush agents list; it rendered the removed command name on every invocation.
    • Neither shortcut had a caller in rush/app, prix/factory, or any script (rush install/uninstall/run/sessions do, and are untouched).

Added

  • Cloud runs carry the dispatched harness's local skills (PHNX-3867). When RUSH_CLOUD_MEMORY_SYNC=1, rush cloud run bundles the harness's own home skills — ~/.claude/skills (claude-code), ~/.codex/skills (codex), ~/.opencode/skills (opencode) — keyed to the dispatched account, credential-shaped files (.env, *.pem, auth.json, …) filtered out, and the factory materializes them into the pod's harness home so a cloud run has the same skills as that account's laptop. Codex skills are additionally mirrored into the agents-cli version home the codex shim actually reads (HOME is rewritten for codex). The bundle is capped safely under the per-process transport limit and fails loud (never a silent skill-less run) above it. Plugin sync (needs marketplace/config registration, not just files on disk) and large-bundle streaming are tracked follow-ups.

Fixed

  • Re-cut from main so the full 0.2.39 surface actually ships (PHNX-3885). The published 0.2.39 binary was built from a checkout that predated PR #2090, so rush cloud artifacts <run-id> [name] was documented in the 0.2.39 CHANGELOG but absent from the shipped artifact — rush cloud --help and rush meta commands did not list it. No command changed: 0.2.40 is a straight rebuild from current main, which carries internal/cli/cloud_artifacts.go, so rush cloud artifacts — and every other 0.2.39 entry below — is present in the binary users download.

Downloads

PlatformBinarySHA-256
macOS · Apple Silicondownload
macOS · Inteldownload
Linux · x64download
Linux · arm64download
Windows · x64download
Windows · arm64download

Checksums are published for the current latest release. Verify older binaries against rush --version after install.