Bots and teams
Mascot bodies, redrawn. Seven of the ten bodies are now Ferrox Labs' own artwork, built with Blob Studio: Circle, Blob, Capsule, Drop, Star, and the two that were called Shield and Hexagon, now named Cone and Polygon. A body you chose in 0.1.54 stays chosen. The Body picker in Settings → bot → Avatar is one row of ten on a desktop card, two rows on a phone.
Delete archived bots. The Archived panel now offers Delete on each bot and "Delete all", behind the usual type-to-confirm dialog, which states what goes (the bot, its conversations, files, memory and skills) and what stays (every channel it sat in, with every message). Deleting was already possible from the sidebar; two things about it are fixed: a channel whose lead had been deleted silently swallowed later messages, and a backup taken after a delete could not be restored. A delete that fails part-way leaves the bot whole.
Bots are told what they can do. Every bot gets an accurate, short account of what this install lets it do this turn: which tools it has, whether it can see images, whether its working folder was checked, that a tool call can pause for your approval, and that a refusal is final. It no longer tells a specialist to hand work around its team leader, or a Chief of Staff the opposite of its own instructions.
Bots can look Murage up. A bot with Murage's tools can answer "how do I do X in Murage?" from Murage's own documentation, offline, with nothing billed. The built-in Concierge profile uses the same lookup.
Models and engines
Engine selector. The Engine control in the model picker shows each engine once, with its icon; it used to read "Claude / Claude" with no icons. Settings → Engines no longer doubles the name either.
Price bands and capability icons. Model rows show a five-step price band from $ to $$$$$, from published rates, with the exact per-million figures in the hover; before, most rows said "Price unavailable". A model with no published rate still says "Price unavailable", set apart so it cannot be read as cheap. Vision and tools are shown as icons. One dated note under the list says the bands are approximate. Flux Auto shows a range ($–$$$) because it picks a model per turn.
Model list order. The list now reads: the Flux Router tiers (Auto, Fast, Standard, Reasoning, cheapest first), then anything you have starred, then the engine's own models, then Flux pinned models, then other providers. When the engine already offers a Flux tier, the Flux Router connection's copy of it is no longer listed a second time. If you have saved more than one Flux account, each account's tiers are still shown.
Proper names. Models that appeared under a raw id, such as flux-auto beside "Flux Auto", now carry their names. flux-voice and flux-image are no longer offered as chat models.
Local models
Tailnet and LAN names. You can add a local server by name over plain http: a single-label name such as gpubox, or anything ending in .ts.net, .local, .lan, .internal or .home.arpa. Murage resolves the name when you add it, before a tool test, and again before each request; plain http is allowed only while every address it resolves to is loopback, private LAN, tailnet or IPv6 ULA. The addresses and names cloud providers use to hand out credentials are refused.
Chat with any local model. A local model that fails the tools test can now be picked on the OpenAI-compatible engine, which never sends tools. Local servers appear in that engine's list, marked "Chat only", and the Local models card points you there for a model that cannot run agents.
A server you cannot reach is named. Instead of fetch failed, the chat says which host did not answer and what to check.
A dropped connection keeps what arrived. If a server streams half an answer and then drops, the text you already read stays, marked incomplete, instead of being replaced by "could not be reached".
Images
Inline images reach every engine that takes them. Attached and reference images are now sent inline to bots on Claude, Codex and every ACP engine, not only Fuigo. Before, those bots were handed a file path and left to open it.
A text-only model is told it cannot see. A bot whose model has no vision is told to ask you for a description rather than to open the file, and dragging an image onto it says "cannot be shown an image" instead of quietly attaching a path. An image referenced by path but not attached to the conversation is still delivered as a path, and the bot is told it has a path, not a picture.
A fixable image error no longer costs the attempt. Asking for a picture with no image connection configured used to spend the turn's one image attempt. When the image provider cannot be reached, the card says which wall the request hit: lookup, refusal, deadline, dropped connection or certificate. An image approval you walked away from no longer wedges the turn after a restart.
Approvals
"Always allow" is remembered for the bot, not one task. In 0.1.54 an always-allow answer applied only to the task you were in, and pressing it on a card in a channel failed. It now applies to the bot: every task it starts from now on, and cards it raises in channels, honour it. Tasks that already exist keep their own list. What a grant covers is unchanged: the destructive and sensitive checks added in 0.1.54 still run first, questions are never grantable, and unattended runs still ask.
Your computer
Cua Driver 0.28.2 is bundled on macOS (was 0.20.0).
A stop for a bot on your screen. While a bot's turn is using this computer, the Computer panel shows "Stop <bot> using this computer". It takes the screen back first, then ends the turn, and tells you which of the two happened. Choosing "Off" for the bot's computer while it is on your screen does the same; before, on the default Auto setting, it changed the label and the bot kept going. The stop also now covers bots left on Auto, which it used to skip while reporting success, and it reports which bots it stopped. macOS and Linux; Windows bots never use the host desktop.
One browser per bot. Two bots could end up sharing one browser session and cookie jar when a browser profile was named after a bot's id. They no longer can.
Stopping, restarts and plain errors
Stop keeps the answer so far. Pressing Stop mid-reply keeps the text already streamed and leaves a "Stopped by you" line. It used to throw the whole answer away.
Interrupted turns are marked after a restart. A 1:1 turn that was running when Murage closed now gets "Murage closed while this was running, so there is no answer." A message queued behind a running turn is put back in its thread with the same note. Nothing is re-sent for you.
Plain wording. Developer text is gone from the window: no package-manager commands, no internal codename, no instructions to edit a config file by hand. A rejected key shows a sentence written for you, with the provider's own text under Technical details. "That address answered, but not with a model reply" and "The model returned an empty answer" are told apart instead of both blaming the network.
First run
A refused first message is not lost. If your first message is refused because no model or provider is set up yet, the text stays in the composer. The refusal says what is missing and where in Settings to fix it, and the empty model picker says what to do next instead of "0 compatible chat models".
Engine sign-in status is honest. Qwen and OpenCode Go showed as signed in whether or not anyone had logged in. Settings → Engines now says so, and a new bot's default engine prefers one that is signed in.
Tool calls
Chips name the real tool, and a failed tool says why. On engines that route every call through one general tool, every chip read the same name; chips now show the tool that ran and a short read of what it was asked to do. The reason a tool failed appears on the chip, with the technical part in the usual expandable block.
Checkpoints, backups and memory: please read
Several guards compared folder paths as text, so one folder spelled two ways (a different case on Windows or a Mac, a trailing slash, a Windows short name) counted as two folders. That is fixed everywhere it mattered:
Per-turn checkpoints are never taken in your home, Desktop, Documents, Downloads or Pictures folders, because a restore cleans untracked files. Those folders are now found where they really are: under OneDrive when Windows has moved them there, under iCloud Drive when "Desktop & Documents" sync is on, wherever Linux's user-dirs file says, and under localized names. ~/Library, volume roots and other users' home folders are refused too. A folder that merely sits next to a protected one keeps its checkpoints.
A folder opened under two spellings had two checkpoint histories, so "no checkpoints exist for this folder" could appear over a history that was there. It now has one. Existing checkpoints stay where they are.
A backup destination or recovery key placed inside the Murage installation is refused however it is spelled.
A project memory scope typed with a different spelling used to create a second scope, and memories stopped surfacing. Each folder now has one scope. The first time 0.1.55 sees a scope stored under an older spelling, it keeps that scope and its memories under the folder's real name. If you already have two scopes for one folder, both stay; nothing is merged.
Also
Corrected documentation. The local computer help page used to say that turning on local control does not give it to any bot. On a Mac that was wrong: a bot left on Auto, the default, uses this computer once the driver is installed. The page now says so. Set a bot's computer to Off if it should never touch your screen. On Linux, a bot gets this computer only when you choose This computer for it.
Known issues:
Stop does not abort a desktop action already in flight; it prevents the next one. An action already handed to the computer driver completes, with a 60-second backstop. Check the screen before retrying.
"Tasks queue for busy resources" (0.1.54) does not cover this computer. If two bots want your Mac at once, one acts and the other is told "Another computer action is in progress." This is deliberate: a queued click would land after you had moved on.
Stopping a bot in the middle of a browser task can leave its next turn's browser calls refused. Start a fresh task to clear it. A fix is planned for the next release.
Flux Router pinned models may show "Price unavailable" until Flux exposes their pricing.
The legacy Composio connection is capped at 2,000 calls a day and retires on 2026-11-10; connected apps through Flux Router are the supported path.
Intel Macs still have no local semantic memory.
Bundled Fuigo on Linux needs glibc 2.39 or newer.
The phone apps still show the flame mascot for every bot.