1.0.0-beta.24
published 30 September 2026
- Added ten more tools loaded in full on every cloud model from the first request: ChangeSet, AstSearch, AstEdit, LSP, Test, Git, Debug, Monitor, Checkpoint and Rewind ride beside the tools already loaded instead of waiting in the deferred drawer, LSP is on wherever a language server is reachable: headless and daemon sessions included: and each of the ten says when to choose it over the usual tool; a local model's tool set is exactly as it was
- Fixed the first request being held under a size ceiling: its size is reported, never bounded, a connected MCP server's tool descriptions and schemas reach the model whole, and nothing is trimmed to fit a limit
- Fixed the advisor spending its whole budget thinking and answering with no text: its call has the model's own output ceiling and no clock of its own, an empty answer is asked for once more, and when the advisor still has nothing the chat shows a muted [advisor] row saying so instead of silence
- Added a separate Advisor for crewmates switch in /config, off by default: turning on Advisor for the main chat leaves crewmates off until you also turn on their switch
- Fixed a hosted connection that sends its headers and then nothing being waited on to the ceiling: on every hosted provider the wait for the first byte is sized to the prompt and named in the notice, a dead connection is noticed sooner and retried, and a thinking model is never cut
- Fixed a reply cut mid-stream over HTTP/2 ending the turn on a raw error: it is the cut connection it is: the stream-cut notice shows, and the reply is reissued once on a fresh connection; and Mercury now speaks HTTP/1.1 to the provider on purpose: the HTTP library had turned HTTP/2 on by default and the provider took it, which is how a reply came to be cut that way
- Added tool deferral on Kimi's K2 coding model: a request carries only the tools it needs, and a newly opened tool joins without disturbing the prompt cache, as on K3
- Fixed a new session on an OpenAI model reading nothing from the provider's prompt cache: it now reads the tools and system prompt it shares with the project's other sessions from the cache: 87.8% of a new session's first request, from 7.7%: because the cache key no longer changes with the conversation or the session
- Added a stop for a headless session repeating a tool call that fails the same way: after eight identical failures in a row the turn ends and says why, with no clock and no token count
- Fixed a long image-heavy session being refused once it holds more than twenty images: every image is sized to the API's limit when the request is composed, the refusal names the case, and a session refused before carries on at its next send, across a model switch, with no /clear
- Fixed the session lists naming the conversation that is already open: after a direct resume the rail's recent sessions, the session tabs and /sessions leave it out
- Fixed a model choice being saved as a family word: every model picker shows each model's full id and saves the id it shows, and a family word already saved keeps resolving as before
- Fixed typing after a pasted image putting the letters out of order: the cursor ends after every letter typed
- Fixed a session started with a slash command carrying the command's markup as its name: the view header, the sessions strip and /sessions name it after its first real prompt
- Fixed the background board's name: it is the runs board, its title reads runs, /runs opens it and /tasks still does
- Fixed text a monitor delivers into the chat drawing as a command row or not at all: it is always a muted [Monitor]: row, whatever markup it carries
- Fixed a prompt that quotes command markup drawing as another row or not at all: it draws as the operator's row, however long it is, so a long pasted prompt is never skipped in the chat
- Added JevEval taking a file or a table of evidence directly: a file path: a table becomes one item per row under the header's names, a text file one item: or an inline table, instead of pasting every item; the size rule is stated in the tool and refuses plainly above it, never trims
- Fixed a session taken back on a warm runner carrying prompt sections it never had: a resumed session's prompt is exactly its own record's, or the live world's when it has no record
- Fixed the opus-warning and sonnet-warning mock scenarios warning no one: /mock-limits opus-warning warns an Opus model of the Opus limit and sonnet-warning a Sonnet model of the Sonnet limit, in that model's own words, and no other model
- Fixed the copy receipt on Linux and over SSH being cut mid-sentence beside the way-back hint: it reads as a whole sentence at every width, says how the copy went, and shows that way's advice only where the row has room; the macOS receipt is unchanged
- Fixed a crewmate's report not waking a background lead: a message to a lead idle between turns reaches it through the crew's live store and starts a turn for it the way a task notification does, in the background session shape too
- Fixed a crewmate stopped from the crew view losing its transcript: r on its row continues it from where it was, its work before the stop in its context, under a new row with the same name
- Fixed a message to a crewmate that was stopped or had ended being refused: SendMessage resumes it from its transcript with the message as its next turn, under the same name; a crewmate that failed stays refused, never started again to carry the message
- Fixed LiveComms reading a working crewmate as idle: a crewmate mid-turn reads busy, and idle means waiting between turns
- Fixed a crewmate that failed at its spawn or later coming back into the crew roster as a live member: a failed crewmate leaves the roster for good, and LiveComms never lists it as working
- Added Claude Sonnet 5.5 to the catalogue: claude-sonnet-5-5, "Sonnet 5.5", the sonnet55 alias with its 1M twin, priced at the vendor's tier and named on the splash; sonnet: and a saved "model": "sonnet": now means it, as opus means Opus 5.5, and Sonnet 5 and Sonnet 4.6 keep their own rows under it
- Fixed Claude Sonnet 5's price: its turns are priced at the vendor's standard $2 in, $10 out instead of the withdrawn $3 and $15, in the spend views and the picker's price string
- Fixed a new session on a Claude model the account can run being refused before its catalogue row lands: it starts from every way in: the boot face, /clear, --model, a saved setting, the crew, workflow and advisor picks: the way it does in the REPL, the wire deciding, and stays so for future Anthropic models
- Fixed the npm package's repository address: mercury-tech-cli names github.com/Whq02/MercuryCLI in the form npm reads
- Fixed a daemon older than the deployed build deciding for a new session: when the deployed build moves under a running daemon, new sessions are born on the new build while everything live keeps running
- Fixed a headless lead stalling for the rest of a closed usage window on a command that is not yet due: it wakes only for a due command
- Added one way to start a crewmate, wherever it is started: a name, a working folder, an optional git worktree cut from that folder's repository, and the model named for it; a named crewmate now runs in the folder it was given, where before a named helper could not take a folder at all
- Added one crew roster: the daemon's named crewmates sit in the crew view's one list beside every other crewmate, and each row carries where it runs and what it runs on
- Fixed a crewmate's end removing its worktree: every leftover is kept and the receipt reminds the lead of it with its age and the day the seven-day cleanup would take it, and that cleanup removes a leftover only when nothing would be lost: all changes committed and reachable, no stray file
- Added /crewmates, which opens the crew view, with /teammates still working as the old name; every screen says crew and crewmate
- Added the crew page in the docs, with every page that named teams reworded; a transcript written before the crew still displays
- Added LiveComms, live communication between agents: the crew's messages, tasks, file claims and who is busy in one live store every crewmate and the lead read and write, where a write shows to the next read anywhere in the crew with no restart; the tool that used to hand back a one-off brief opens that store, and the coordination server's tools read and write it too
- Fixed a message to a crewmate being dropped: every message rides the crew's live store, with SendMessage's words, addressing and delivery timing exactly as they were
- Added crewmate messages carried by the crew's live store from the sender to the reader: the lead and every crewmate read and write the store directly, a crewmate's message reaches the lead's chat the moment it is sent, and an older transcript still opens with its message rows painted as before
- Fixed stop and resume differing by the kind of crewmate: a stopped crewmate keeps its history, and r on its row or a message to it continues it from where it stopped, under the same name and model, a daemon-hosted crewmate included
- Fixed a crewmate that hits a usage limit being marked failed: it pauses instead, and starts again at the stated reset or as soon as you sign in on another account
- Added file claims, roles and the runs board for crewmates: a claim marks a file as one crewmate's, visible live to the whole crew; a second crewmate that tries to edit a claimed file is stopped before the write and told which crewmate holds it, and a release or the holder's end frees the file; a crewmate's role and the runs board's rows come from the crew's roster and its live store
- Added a crew in every session from the moment it starts: the first helper you start, the first message and the first roster read all find it, with no create step before them
- Added the teams saved by earlier releases becoming crews on the new build's first start, with every member, its model as saved, its worktree, and every message and handoff kept as history; nothing in them is deleted
- Added the crew's names through everything Mercury reads, saves and shows: the settings keys, the hook names, the environment names, the command-line flags, the keybindings, the records and the tools' words all say crew and crewmate, and everything an older build saved: settings, hooks, environment names, command-line flags, transcripts, agent records, rosters, keybindings and the /teammates command: keeps working under the crew spelling