CLI Update Notice

  • Desktop, mobile and web
  • All plans

What it does

Agent CLIs announce their own updates when they start ("Update available! 0.152.0 -> 0.152.1, run brew upgrade --cask codex"), at the one moment you cannot update them because they are running. AgentsRoom remembers that banner and offers the update where the CLI is not running: a card in the project's empty panel on the desktop, a banner on a stopped agent on the phone. Two ways out: Update runs the command in a guided terminal, or copy the exact command and run it yourself. The command comes from the CLI itself, so it matches how that CLI was installed on this machine (Homebrew, npm, native installer). A second surface handles the opposite case: the CLI was updated on disk while a session was still running the old build, and a banner offers to restart that session without losing the conversation.

Where to find it

  • Desktop, project view with no agent open: the CLI update available card ("0.152.0 → 0.152.1") with Update, a copy button and Not now.
  • Desktop, above the composer of a running agent whose CLI changed on disk: "{provider} has been updated. This session still runs the previous version." with Restart and Later.
  • Mobile, console screen of a stopped agent: "{provider} update available" with Update on my computer and the manual command.

How to use it

  1. When the card appears, click Update. The guided installer opens on a short path (no audit, no sign-in step) and runs the update command in a visible terminal.
  2. Or click the copy button and run the command in your own shell.
  3. Start the agent again. The card disappears by itself once the installed version has caught up.
  4. For a session still on the old build, click Restart on its banner: the CLI restarts and picks the conversation back up. Later dismisses it for that version.

From the phone: tap Update on my computer; the desktop runs the same guided installer, and the agent you were looking at restarts on its own once the update completes.

To update a CLI that shows no card (it printed no banner, or you want to move to a new major line such as OpenCode v2): open the guided installer (⚡ menu > Add or update providers, or Install a CLI on an agent's provider picker) and tick the CLI in the list even though it says Installed. The badge turns to Reinstall and the plan runs the provider's current install command, which is the update. AgentsRoom asks the manager that owns the binary first, so a CLI installed with Homebrew is upgraded with Homebrew rather than overwritten.

Settings

  • cliUpdateNotices (global, read-only over MCP): the pending "newer version exists" verdicts per CLI binary (current version, latest, command, dismissed version). Machine-local, never synced to the account, expire on their own.
  • Simulation for testing the surface: Settings > Advanced (admin builds).

Agent tools (MCP)

  • settings_get cliUpdateNotices: read which CLIs have a pending update and the suggested command. Read-only.

Providers

Every provider whose CLI prints an update banner at startup (Codex and the update-notifier family used by most Node CLIs among them). A CLI that prints nothing has no card, with no degradation. Not to be confused with the "CLI out of date" banner of CLI Doctor, which blocks a launch because the CLI is below the minimum version AgentsRoom requires.

Mobile

Present from day one, same versions, same command, same words. The phone only sends the provider id; the command is resolved on the computer that runs it. Restarting a session that is still on an old build is desktop-only (the phone has no restart action yet).

Limits

  • The scraped command is never run blindly: only whitelisted package managers and <cli> update-style commands, with no shell metacharacters, are offered as a button. Anything else shows the versions only, and the manual line is left out.
  • Installers that are a script piped into a shell are not offered as a button either.
  • Dismissing is per version: "Not now" on 0.152.1 does not hide 0.153.0.
  • Detected only during the launch window of the CLI, attributed to the binary that was launched; an npm outdated printed by an agent later in a session never creates a card.
  • The stale-runtime banner is not shown in a detached terminal window.

Common questions

  • I updated the CLI but the agent still runs the old version. A running process keeps its old build. Use Restart on the banner above the composer, or restart the agent; no need to restart AgentsRoom.
  • No card, but I know a new version exists. The card only appears for CLIs that announce their update themselves. Tick the CLI in the guided installer's list to reinstall it in its latest version.
  • The update stopped on EEXIST: File exists on my Mac. That was an update falling back to our npm install line on a binary Homebrew owns, Codex above all. On macOS and Linux, when the CLI's own banner gives no usable command, AgentsRoom now asks Homebrew whether it owns that binary and upgrades with Homebrew; only a binary Homebrew does not know about goes through npm.
  • Why does the card say brew upgrade when I installed with npm? The command is the one the CLI itself printed, so it should match your installation; if the CLI was installed twice, prefer the one on your PATH.
  • The card is gone but I did not update. AgentsRoom re-checks the installed version and drops notices the binary has caught up with, for example after an update from your own shell.
  • Can I update from my phone? Yes: Update on my computer runs the update on the desktop and restarts the agent when it is done.