Mercury CLI
Documentation

Releases

1.0.0-beta.28

published 6 October 2026

  • Added a /health row for the managed policy: an invalid lock value, an unknown surface name or an unreadable policy file warns with its fix
  • Changed the automatic motion setting over a slow terminal link (ssh, a console host, a slow pipe): idle motion drops to reduced the way it does on a slow machine, with the same patience before dropping and before coming back, and the status line says reduced · slow link while the link is the reason
  • Changed the launch animation: it sends about a fifth of the bytes it did, frame for frame the same
  • Changed the frame band while the model thinks: it shows how long the think has stood and when the stream last spoke (◐ thinking 4m · ↻3s)
  • Changed the ? sheet's deck-chip legend: the trace count is this session's, not repo-wide
  • Changed /health's prompt row: it names the session, coordinator and crewmate contracts with their sizes
  • Changed the transcript's tool rows: each starts with its tool's mark, which takes the tool's colour when the call settles, turns red on an error and reads ✕ when denied; notices keep their dot
  • Fixed the critter showing a second, thinner pupil at the top of each eye in Terminal.app, and the enter screen's head showing a thin line of the lower pixel's colour above its two-colour cells
  • Fixed an image or sprite shown in Terminal.app carrying a thin line of the lower pixel's colour above each two-colour cell
  • Fixed a crewmate's view showing the lead's "compacting context" row under the crewmate's transcript while the lead compacts
  • Fixed a long conversation stopping for good after its automatic compaction failed three times: the summary call is given the wire's own patience instead of a two-minute cut, the recovery's prune step counts what it cleared so its retry goes out, and the pause message says what works: /compact by hand, and the next message makes a fresh automatic attempt
  • Fixed a GLM session or agent stopping on a Z.AI error the moment its conversation carried an image (a screenshot, a picture read from disk): the image reaches a text-only GLM model as an [image] note, and Z.AI's wording for an image it refuses is understood, so the next request goes out without the image instead of failing again
  • Fixed the chat repainting rows that had not moved: settled tool groups, the per-turn cost rows and the session roll-up line stay put on every landed record and thinking tick
  • Fixed the crew rail showing a crewmate only after its first reply; it shows it from the moment it is launched
  • Fixed Tab into the left rail on an idle cockpit showing no caret until the first ↓
  • Fixed the single-rail cockpit dropping the last-prompt card one row before it had to
  • Fixed a new session's TRACE panel listing every tool call on the machine under a "repo" count; it starts empty and lists this session's own
  • Fixed /status, /deck and /trace counting the whole repository's tool calls; they count the focused session's own, as the trace rail does
  • Fixed rows you had clicked open closing again after a switch between the lead and a crewmate view
  • Fixed a stray letter or digit nobody typed landing in the composer after a view switch, a split key, a mouse report or a terminal reply
  • Fixed the effort notice after a model pick from the composer's picker naming a word the status line did not show
  • Fixed a model picked through the composer's picker not becoming the saved default its header promised; the receipt says it was saved
  • Fixed a terminal that loses a startup reply delaying the session's terminal upgrades forever
  • Fixed the width probe guessing: it measures the terminal's real text advances once per session, so emoji, flags and East-Asian text land where the terminal puts them
  • Fixed /exit from the chat drawing the shell prompt on the first row over the old screen in a console host
  • Fixed a session's saved title or tag being replaced by text from a tool call's input that happened to carry a field of the same name
  • Fixed a session's title keeping the printable remains of control bytes from its first prompt
  • Fixed resuming a session whose removed rows pointed at one another never finishing the open
  • Fixed the editor's session list showing no tag for a session that has one
  • Fixed a display-only row riding a GPT, GLM, Gemini or local request as if the model had said it
  • Fixed the coordinator on Claude forgetting its own earlier replies between turns
  • Fixed resuming a session whose saved assistant text arrived as plain text failing the next GPT, GLM, Gemini or local request outright
  • Fixed a GLM turn with thinking off being sent in a shape Z.AI refuses; GLM prices follow Z.AI's current page
  • Fixed a lifecycle "run once" hook running again on every firing; it retires after its first run, like a tool hook
  • Fixed a lifecycle hook answering with another event's output shape being accepted in silence; it is refused with a loud error naming both events
  • Fixed the SessionStart hook input carrying no model on a startup or a resume
  • Fixed outside edits going unnoticed after a full file read
  • Fixed an Edit in a file with mixed line endings rewriting the edited line's ending to the file's majority ending
  • Fixed Glob answering "No files found" for a pattern with a slash, such as sub/*.txt under a path, when the session stood in another folder
  • Fixed Grep's context lines showing a\b\c where the file holds a/b/c and spelling their path absolute beside a relative match line
  • Fixed skill listings being lost to compaction, to a child's resume handoff or to a directory discovered during collection
  • Fixed boot recording its route only after the first frame and input were ready, including a plain-world launch
  • Fixed a session born on a warm runner coming back from a crash in the runner pool's permission posture instead of its own
  • Fixed /config reading this session's permission mode as the saved default; the row names both when they differ
  • Fixed /usage showing no "This session" tally: the active billing slot of each provider lists the session's tokens and cost, one row per model, with the scheduled and advisor shares on their own lines
  • Fixed /usage showing one week figure in its header and another in its Anthropic block; the header follows the block's refresh
  • Fixed /monitor and the deck showing $0.00 and diff +0/-0 for a session that had edited files; they read the session's own spend and line counts
  • Fixed auth status and /health's model row naming an Anthropic model for a home whose only sign-in is OpenRouter; auth status routes to OpenRouter and exits 0
  • Fixed /health in the cockpit saying FAULT, with a remedy for a cause that did not exist, while mercury health said CAUTION; a live catalogue one process has not fetched yet is a timing gap, and Edit outcomes count the session's own edits
  • Fixed a timed-out health check leaving its gate-tree folder in the temp directory on Windows
  • Fixed the Edit tool's schema reading replace_all as required and saying nothing of its four shapes; the schema names them in its own words
  • Fixed compaction failing on a conversation too big to summarise in one request; compaction runs in parts, and one plain warning says when a conversation's size is what makes its requests fail
  • Fixed compaction stopping on a model's refusal of its first request; it says so and retries once with the conversation handed over as text
  • Fixed a /compact line wearing "held" for a beat after the runner had taken it
  • Fixed a headless /compact's rows carrying an earlier failure as a second command_output row
  • Fixed a headless run that could do nothing exiting 0; a run that ends blocked on the operator exits 1 with the blocker on its outcome row, and a run that delivered still exits 0
  • Fixed a runner restart delivering a finished agent's notice a second time, or calling a finished agent stopped, when the notice had reached the model second in a combined input or mid-turn as an attachment
  • Fixed the status line sitting on a frozen token count for a long think, with nothing to tell it from a dead stream; while a think streams it reads how long ago the last byte arrived and how many thinking blocks have come
  • Fixed the concourse board saying running Glob for minutes after the Glob had finished; the NOW cell reads the session's live phase and names a tool only until its result lands
  • Fixed an Eval cell labelled Starting kernel… for its whole run; the row says running with the elapsed once the kernel has the cell
  • Fixed the thinking label starting to shimmer the moment a think begins later in a turn; every think holds its label still for its first three seconds, as a turn's first think does
  • Fixed the advisor interval choices in /config: 2 and 5 minutes join 10 · 20 · 30 · 45 · 60
  • Fixed a background helper that had handed over keeping the daemon lock for fifteen seconds after an update or rollback; it leaves at its first idle read