What each update brings. The app delivers these through Check for Updates.
Fixed: anything an agent wrote before using a tool disappeared from the thread, leaving only its closing lines. Every part of a reply now stays visible, in order, around the tool activity rows.
Replies that previously disappeared were never lost. They reappear in their threads after this update.
Fixed: an agent pausing to use tools could leave an empty message bubble with a flashing typing cursor stuck in the thread. Those ghost rows no longer appear, and any turn's end now clears every typing indicator.
The board side panel now names its scope, "Board · Studio", so it is clear you are seeing one workspace's cards; the full board across everything stays on the board button.
Board sections collapse. Click a status header to fold it; Done and Blocked start folded so finished work never buries what's live. Your choices are remembered.
Tool activity folds away. A run of tool calls now shows as a single collapsible row, "Alex took 6 steps", that expands when you want the detail; while she works, only the current step is visible. No more towers of boxes between messages.
The plan-limit warning shows once per exchange instead of repeating.
Updates now reach Merlin's engine, not just the app. The runtime daemon ships inside the app, and when the running engine is older than the app itself a gold Finish update button appears in the top bar. Clicking it, twice deliberately, restarts the engine on the new version; running terminals close and conversations resume on their next open.
This also repairs today: the engine had been left behind by every update since the morning, which quietly kept the memory injection and reply-style improvements out of live conversations. After updating, click Finish update once and everything shipped today actually switches on.
Agents now know the session start time, so no more Morning Paul at seven in the evening.
Switch a thread's model mid-conversation. A Model button in the thread header moves the whole conversation onto Fable, Opus, Sonnet or Haiku without losing a word; each thread remembers its own choice, and everything else follows the Settings default.
Agents can search your earlier threads. When you refer to a past conversation, they can look it up by keyword across your chat history and quote what was actually said instead of guessing.
Agents now write for scanning, not studying. Substantial replies open with the bottom line, keep to one fact per sentence, put key figures and dates on their own labelled lines, default to the short version with depth on offer, and end with at most one question.
Homes are now simply folders of conversations. A home is never a conversation itself: open one and you land on its latest thread, start as many threads inside it as you like, and each stays its own conversation with the home's memory behind it. Your existing home conversations became the first thread in each home, nothing lost.
Threads name themselves. A new thread takes its title from your first message, exactly as you would expect from claude.ai, and you can rename any thread from its right-click menu.
Fixed: starting a new thread inside one home could silently land you in a different one, with the wrong name in the breadcrumb. New threads now open where you made them and stay there.
The breadcrumb now tells the whole story: agent, home, then the thread's own name.
Long replies now breathe. Paragraphs get proper spacing even when an agent writes them on single lines, and agents are asked to structure bigger answers with short paragraphs and lists rather than one solid block.
Homes can hold many conversations. Start a fresh thread inside a home whenever the current one gets long; each new thread arrives already knowing the home's topic. Right-click a home and choose New thread.
Threads can be deleted, not just archived. Right-click a thread, choose Delete, and click once more to confirm. The session's own record remains, but the thread leaves the app everywhere.
The running-now list reads like English: "Life with Alex" and "Terminal 4 in Studio" instead of names joined by dots.
The sidebar's pin and expand icons are bigger and easier to read.
Your agents now arrive knowing where things stand. Every conversation loads that agent's own memory when it starts, focused on the thread's topic: the Cambodia thread knows about Cambodia, Finances knows the numbers. Memory refreshes whenever a conversation wakes back up.
Half-written messages are safe. Text you have typed, and anything attached, stays in the box when you click away, follows you between Home and the agent's space, and clears only when you send.
The sidebar keeps your shape. Agents you expand stay expanded until you collapse them, with a small arrow on each row, and the layout survives restarting the app.
Photos and files you send now appear in the conversation as the pictures and files they are, instead of long file paths.
Every file dropped into a conversation is kept by Merlin from the moment you drop it, wherever it was dragged from, so agents can always open it.
Dropping a file into a conversation now works from anywhere, including the floating screenshot thumbnail. Merlin keeps its own copy of anything dropped from a temporary location, so your agent can always read it, even after macOS tidies the original away.
Conversations now have homes. Each agent's sidebar starts with pinned, named places that never expire: Life, Cambodia and Finances for Alex, Learning and Sessions for Ada. Add your own with new home.
A home keeps its full history for as long as you keep it, even when the session behind it ends. Reopen it any time and carry on; a fresh session starts behind the scenes and the whole conversation stays on screen.
Homes are yours to manage. Rename them, reorder them, add new ones, or unpin one back to an ordinary thread. Nothing is deleted and the history stays.
Ordinary threads now tidy themselves away after a quiet fortnight, moving into the archived section where they remain available. Homes are never archived.
Conversations start faster. Agents no longer re-read everything they know before saying hello, so first replies arrive quickly and stay conversational.
Threads now tell you when something goes wrong. A failed turn shows a clear message with a Resume button, and hitting your Claude plan limit shows a notice with the time the window resets. No more endless thinking dots.
When an agent reads a long file in several passes, threads and worker timelines now show one tidy row, like "read notes.md, 3 parts", which expands to the detail when you want it.
The identity editor in Settings now opens the identity document your agent actually uses and shows exactly where it lives. When the real document is not reachable, it shows the fallback copy and says so.
Cmd F now behaves properly everywhere. It opens search even while you are typing, finds text inside a conversation with highlighted matches and Enter to cycle through them, and tells you when there is nothing to search yet.
Dropping a file into a conversation now works wherever you can type, including the composer on Home, with a clear highlight while you drag. Pasting images works in the same places.
Merlin has a new shape. A sidebar holds Home, Work and your agents, and the app now opens on Home, a feed of everything that happened while you were away.
Charlie, Alex and Ada are now real conversations. Each agent has persistent threads that survive restarts, with streaming replies, full markdown rendering, and activity indicators that only move when something is actually happening.
Terminals now outlive the app. Panes run in a background service, so quitting Merlin no longer ends your sessions; reopen it and everything is exactly where you left it.
Dispatched workers run through the same service, with a live timeline of everything they do. Reviewing a card shows each Done means check next to the worker's actual evidence, with accept, bounce and block a click away.
Risky actions now stop and ask. Deploys, pushes to main, destructive deletes, secret access and outgoing messages wait in Home for your Approve or Deny, and holding an approval holds it for as long as you like.
Settings are reorganised into Runtime, Agents, Notifications, Workspaces and Appearance, with three notification tiers you can tune.
The old conversation panel, in app voice input, the guided tour and the bug reporter are retired.
Every Claude session you open in a pane now knows it is inside Merlin. At launch it learns the control API, the dispatch board and the dispatch protocol automatically, so the session you are already working with can act as a supervisor.
Any pane can now dispatch work itself. The session claims a card by writing its pane number into the card's new supervisor field, opens worker panes as the task needs, and supervises and reviews them, all without a drag on the board.
Claimed cards never spawn a duplicate supervisor. Follow ups for a claimed card, like a worker finishing or stalling, are routed back to the pane that claimed it instead of opening a new one.
Worker panes are marked as workers, so a dispatched worker never inherits the ability to open panes of its own.
Dragging a card to queued works exactly as before, and still opens a supervisor pane when nothing has claimed the card.
The dispatch board no longer makes git commits when cards change. Your board folder is plain markdown files, and whatever backs up that folder owns its history.
A card can now name its workspace however you think of it. Either the short key or the display name works, in any capitalisation, so a card that says "Studio" finds the same workspace as one that says "system". Before this, only an exact match counted, and a card that named the workspace the way it appears on your tabs quietly never ran.
Cards captured remotely now get their brief written for you. A card sent in from Discord arrived with placeholder text where its brief should be, and nothing ever filled it in, so it reached the worker with "define runnable checks at grooming" as its success criteria. Merlin now recognises those cards and drafts the real brief before you queue them.
Drafted briefs follow the same structure as every other card on the board: intent, context, the work, a scope guardrail, autonomy, grounded claims and a Done means list of checks that can actually be run.
A card naming a workspace that isn't set up on this Mac now says so on the status line instead of sitting quietly in the column.
Terminal-only mode now runs the dispatch board properly. Move a card into Queued and Merlin opens a supervisor pane that reads the brief, starts a worker in a pane of its own, checks the finished work against the brief's "Done means" list and moves the card to Review. Previously a queued card sat there and nothing happened, because the picking-up agent only existed in the conversation panel.
When a dispatch starts, the app switches to Fleet view, so you can drop a card and watch the whole run without clicking anything.
Cards you move by hand now dispatch straight away instead of waiting up to twelve seconds for the next check.
Panes opened by a dispatch are labelled Supervisor or Worker, so two agent panes side by side are easy to tell apart at a glance.
Workers now start in auto mode. They no longer stop partway through a task waiting for a permission answer that nobody is there to give.
The highlight pill on the active workspace tab now tracks the tab exactly through every layout change, instead of drifting when branch text or pane counts appeared.
Branch names on tabs are now consistent: every git workspace shows its branch at every window size, folders without git never do, and the tab row scrolls when space runs short. No more branch text appearing and disappearing as you click around.
Finished replies now call you back too: when Merlin is in the background and Claude completes a turn in any terminal, macOS shows a notification, the same as when it needs your input. Walking away means trusting you will know either way.
⌘⇧U now works from anywhere: while a terminal is waiting for you, pressing it in any app brings Merlin forward and lands you on that pane. Merlin only holds the shortcut while something is actually waiting, so it never blocks ⌘⇧U elsewhere the rest of the time.
With many workspaces, the active tab now always shows its branch; only the other tabs tuck their branch text away when space runs short. Before this fix a full tab strip hid every branch.
Each agent's personality file can now be read and edited right inside Settings under Agents. It is the standing brief the agent loads every session; edit it and the agent works that way from its next start or roll, no external editor needed.
A brand new conversation panel now explains itself: how to talk, how to type, and how to switch agents, instead of sitting blank.
Workspace tabs now answer "what is the state of everything" at a glance: each git workspace shows its current branch and a small dot when there are uncommitted changes, refreshed in the background and the moment you switch to it.
Hovering a tab shows the full picture: folder, branch, how many files are uncommitted, and how far ahead or behind the remote you are.
When tabs get tight the branch text steps aside and the dot stays, and in Fleet view each pane carries its workspace's branch too.
Cards in review now show evidence: the branch the worker ended on, a summary of what changed, and the changed files themselves. Click a file to open it, or copy a ready-made diff command for your own terminal.
Approving means seeing, not hoping: the evidence stays visible on done cards, and cards whose folder is not a git repository say so plainly instead of showing nothing.
New command palette on ⌘P: type what you mean and jump anywhere. It finds actions, workspaces, open panes, board cards and settings sections, and shows each action's shortcut so you learn them as you go.
Works from anywhere, including while a terminal is focused; Esc closes it.
New to Merlin? After setup it now offers to run its first task while you watch: a worker fixes a tiny sample page and a guided walkthrough narrates every stage live, from queued to done, so the board's flow makes sense from minute one.
The walkthrough is skippable at any point with Esc, only offers itself once, and can be replayed any time from Settings under About.
Merlin now calls you back. When Claude in any terminal needs your input or finishes a turn while you are looking elsewhere, that pane gets a soft gold ring and its workspace tab shows a gold dot, so you can walk away and trust you will know.
If Merlin is in the background when a terminal needs your input, macOS shows a desktop notification. You can turn this off in Settings under General.
Press ⌘⇧U to jump straight to the pane that needs you. Press it again to visit the next one; visiting a pane clears its ring.
Cards can now be assigned to Ada, the studio's teacher, from the board dropdown, and @ada in a new card title routes it to her.
Fixed a harmless upstream error appearing in the status banner when using mouse side buttons.
Dropping an image onto a terminal now lands in the pane under your cursor, not the first one. This was broken on Retina displays with multiple panes open.
When you have more workspace tabs than fit the window, you can click and drag the tab row to scroll through them, and a soft fade with a chevron shows which way there's more.
Fleet view now restores after a restart: all your panes come back in the same order and sizes, still in Fleet mode.
Workspace tabs show their full names and scroll sideways when there are many, so names no longer get cut off.
Terminal-only mode is now fully silent, and your media keys no longer replay the assistant's voice or take over your music controls.
You can now resize, rearrange and grow panes in Fleet view too, not just inside a single workspace.
Terminal-only mode now shows a clear "Terminal only" status in the top bar.
Small polish to the top bar: the version moves to the left and the Merlin wordmark is centred.
Resizing and rearranging panes is now smooth and reliable: grab any pane edge to resize, or drag a pane's title bar onto another to swap them.
When your grid has an empty gap, you can drag a pane's edge into that space to extend it there, and adding a pane fills the space back in. Your layout is remembered per workspace.
You can now resize and rearrange your terminal panes. Drag the gap between two panes to give one more room, or drag a pane's title bar onto another to swap them. Your layout is remembered per workspace and comes back when you reopen.
New Terminal-only mode in Settings: switch the conversation agent off completely for a quieter, panes-only Merlin. Your terminals and the board keep working, and the whole window goes to your fleet.
Shift+Enter in a terminal now starts a new line instead of sending, so you can write multi-line prompts.
Bug report screenshots and recordings now upload faster and more reliably.
Clicking a workspace tab while the board is open now closes the board and takes you straight there. Same for the Fleet button. No more toggling the board off first.
Dragging a board card no longer highlights text along the way. A card dropped outside a column springs back to where it came from, and a real drop settles into place instead of vanishing.
Cards in the Running column now show a soft pulse next to the title while a worker owns them, so you can see work happening at a glance.
Optional interaction sounds, off by default (Settings, General): a soft tick when you dispatch a task, a warm note when a card lands in Done, a chime when an update arrives, and gentle press and release cues on the talk key. All synthesized live, no audio files.
Smaller touches: the update chip shows a spinner while downloading, the Saved confirmation in Settings slides in instead of blinking, and the agent meters in the status bar flash softly when their numbers change.
Settings got a motion pass. The sidebar's active highlight now glides between panes with the same spring as the workspace tabs, and the "Bill to an API key" checkbox is now a proper toggle switch.
While Merlin is working (thinking, transcribing, dispatching), the status marker becomes a small spinner in place of the square, so busy states read at a glance.
Modals now open with a subtle spring pop instead of a flat fade.
The update chip breathes a soft gold glow when an update is waiting.
As before, all motion respects the system Reduce Motion setting.
The workspace tab highlight now glides between tabs with real spring physics, stretching to fit the tab it lands on. Switch quickly and it redirects mid-flight instead of snapping.
The status readout in the titlebar breathes a soft glow while Merlin is listening, thinking, or speaking, so you can tell at a glance when something is live.
The focused terminal pane is now marked by a light in the workspace colour sweeping around its border, one pane at a time.
Workspace colour moved from a stripe on the pane's left edge to a clean rule under the pane header, next to the workspace name.
All of the new motion respects the system Reduce Motion setting.
Dragging cards between board columns works again. It had been silently broken since image drops arrived in 1.0.60: the system layer that catches dropped image files was also swallowing card drags, leaving the panel as the only way to change status. Cards now use their own drag that the system layer cannot touch, with the same feel: drag to move, click to open.
Restarting Merlin no longer pays a hidden cost to wake your agents. Resumed conversations skip the warmup ping, which was re-reading the entire restored history on every boot: slower startup, and real money on API billing. Agents now wake instantly and the first thing billed is your first real message.
When a restored conversation carries a lot of context, the transcript now says so: "resumed your last session, 53% context, memory intact. Roll for a fresh start." The context meter is honest from the moment the app opens.
The board's brief editor now warns before saving over a card that changed while you were editing, so a worker writing its result mid-edit is never silently lost. Save again to overwrite deliberately.
After a restart, a running card whose worker pane no longer exists has its pane number cleared automatically once flagged, so the watcher can never mistake an unrelated new pane for the old worker.
Fixed a worker pane opened in a workspace you had not visited yet being lost when the app restarted. The workspace's saved panes now load first and the new pane joins them, so everything comes back after a relaunch.
When Merlin is routed through a model provider, the title bar now says so, for example "via OpenRouter", with the details on hover. Routing changes where requests go and how they are billed, so it is always visible while it is on, never something to discover later in Settings.
OpenCode panes now come back after a restart, the way Claude panes do. If a pane was running OpenCode when you quit, it reopens and continues that session. Claude panes are unchanged.
Removed the OpenCode button and its setting from the last release. To use OpenCode, Claude, or any other tool in a pane, open a pane and run it there. Nothing more is needed.
Model provider guardrails. The model list now only offers models that can actually run these agents. Conversation agents and workers drive tool-using Claude Code, so with a provider set you only see Anthropic and OpenAI models, which handle that reliably. Models that cannot (image models, and ones like GLM that stall on tool calls) no longer appear, so you cannot pick one that never replies. Any previously chosen model that no longer qualifies is cleared for you.
Fixed the model picker when a model provider is set. Choose OpenRouter and the model menus now show OpenRouter's own models, searchable by name, and only let you pick one that exists. Choose Claude and you get the Claude models as before. The menu is scoped to whichever provider you selected.
Model provider: pick any model from your provider's full catalogue. With OpenRouter selected in Settings, the model menus now fill with every model it offers and you can type to search by name. Also fixed provider model names being rejected, so models like the GLM family work.
New: bring your own model provider. Merlin can now route Claude Code through OpenRouter or any Anthropic-compatible endpoint, so you can drive other models with your own key instead of your Anthropic plan. Set it up in Settings, under Billing, then Model provider: pick OpenRouter, paste your key, and choose a model. Leave it on Claude for the usual experience. Nothing changes unless you turn it on.
Fixed the stray characters and broken borders that could appear in terminal panes, in tables, dividers, and the input box. Fast output was occasionally splitting a character in half as it arrived; panes now render Claude Code's output cleanly.
Terminal panes render more cleanly. They no longer leave stray characters behind or fail to clear the input line during fast redraws, so Claude Code's thinking spinner, streaming output, and tables come through without the visual glitches some sessions were showing.
Merlin steps up to 1.1, a clean version for launch. It rolls up the recent run: images you can drag or paste into any terminal pane or the conversation, and Merlin's own home on the web at trymerlin.app.
Merlin has its own home on the web now, at trymerlin.app. Updates keep arriving automatically, exactly as before, so there's nothing for you to do.
Images in the terminal. Drag an image onto any terminal pane, or paste one with Cmd+V, and it drops in for Claude to read, the same way dragging a file into a terminal has always worked.
Images in the conversation. Drag or paste an image into the chat to send it to your agent, with a small preview chip so you can see what's attached before you send.
Dragging an image onto the window no longer blanks the app.
A quick tap of the talk key can no longer send anything. Before, tapping it instead of holding it could re-send your previous voice message to an agent, which then acted on it. A tap now does nothing but remind you to hold the key, and each recording starts fresh so an old one can never be reused.
The conversation now renders formatting. Bold, italics, inline code, and links in an agent's reply show as formatted text instead of raw asterisks and backticks.
Settings tidy-up: the settings button now shows a proper cog icon, and the settings panes are reordered to open on About, then General, then Workspaces, Agents, and Billing.
Model and effort, your way. The model menu now offers the model families (Fable, Opus, Sonnet, Haiku) rather than fixed version numbers, so picking Opus or Sonnet always gives you the newest model in that family, including ones released after this version of Merlin. A Custom field still takes an exact model id.
New effort setting for both the conversation agents and dispatched workers (low, medium, high, xhigh, max). Higher effort means deeper reasoning; the default is your account's own. Changing either the model or the effort for the conversation agents applies live, memory intact, no restart.
Switch models freely, mid-session. Change the conversation model in settings and your agents move to it right there: same conversation, full memory, no roll, no restart. An agent that is mid-reply finishes its sentence and switches the moment it goes idle, and each agent notes the switch in the transcript.
Changing the agents' model in settings now works the way the docs promise: Roll picks up the new model immediately, and the Saved message says plainly that running agents keep their old model until they start or roll.
A reply that dies silently (for example when a model hits its usage limit) no longer leaves the agent stuck looking busy forever. After a few quiet minutes the agent frees itself and says so, and Roll works again.
Rolling a session now checks that the handoff note was actually written before letting the old session go. If it wasn't, Merlin says so honestly instead of the new agent discovering an empty file.
An internal restructuring release: the app's front end is now organised into focused modules instead of one large file. Nothing changes in how Merlin looks or behaves; future fixes and features get safer and faster to build.
Pane search grew up: every match is highlighted in gold with a marker on the scrollbar, a live 3/17 readout shows where you are, and next and previous work by button or Enter and Shift+Enter.
Switching workspace tabs faster than a restore can finish no longer flashes the previous tab's panes into the new view.
Sending an agent several messages in a row now keeps it marked busy until the last one is answered, so background task pickups wait their turn.
A card whose header accidentally lists the same field twice now moves columns correctly instead of appearing to ignore the drag.
A polish pass across the app. Saved API keys can now be removed from settings (Backspace on the empty field, confirmed). Shortening the transcript retention window applies immediately. Turning on API billing without a saved key now says the agents stay on your subscription.
Stop now also cancels a sentence that was still being prepared, instead of letting it speak after the silence. The spoken macOS fallback uses your own system voice. The elapsed-time counter next to Thinking works again.
The board notices every outside edit to a card, dispatch hand-offs that fail are retried instead of silently skipped, quiet workers are checked for permission stalls before being treated as finished, and links in briefs that point at runnable files ask you to open them yourself.
An update offer no longer disappears if a later check fails offline, and updating or deactivating saves your workspace state before restarting.
Setup wording tidied: voice ID fields say blank means the macOS voice, and cards edited on Windows (CRLF line endings) parse correctly.
Pane session resume now works in bash as well as zsh, with the same window titles and prompt-jump marks.
Dispatched workers resumed after a relaunch keep their permissions and board access, so they no longer stall asking for approval on work they were already trusted to do.
Editing a card no longer risks overwriting a change a worker made in the same moment: the board reads the file fresh before every write.
The website hosts its own fonts now, so visiting it tells Google nothing.
Agents no longer talk over each other. When both reply at once, one speaks at a time and the other waits its turn, so speech and the transcript stay coherent.
If an agent's process dies mid-session, it now resumes itself with its memory intact and says so, instead of sitting silent until you press Stop.
Signing in to Claude during setup now brings the agents to life immediately when they had failed to start, no relaunch needed.
Dispatching a task to a workspace tab you haven't opened yet no longer erases that tab's saved panes and sessions.
After a relaunch, in-progress task cards from the previous session are flagged for review instead of being matched against unrelated new panes.
Quitting right after starting Claude in a pane no longer forgets that the pane was running Claude.
The talk key picker only accepts keys that are safe to hold (modifiers, F-keys, numpad), so a letter can no longer break typing.
Clear history now also clears the agents' resumable sessions, so cleared conversations stay cleared.
If your license is deactivated remotely, the activation screen now tells you why. Offline activations verify in the background during the session, not just at the next launch.
A typo in a custom model id no longer blocks your other settings changes from saving, and settings now picks up edits made directly to the config file.
Old pane session records are cleaned up automatically, and the what's-new notice survives macOS clearing the app's web storage.
Setup got a final polish pass. Workspaces you define during setup appear the moment you finish, instead of after the next launch. Quitting halfway through setup no longer marks it as done, so it opens again next time. Pressing Esc now asks before skipping the whole thing, and renaming your agents applies immediately, with the voice step asking for your chosen names rather than the defaults.
On the license screen, pressing Enter twice in a row can no longer spend two of your key's Mac activations at once.
An ElevenLabs key added in setup or settings works straight away, no relaunch needed. And without a key, your conversations are never sent to ElevenLabs at all: the built-in macOS voice handles everything locally.
Stop now silences both agents, not just the one you last spoke to.
When an agent can't start, the full guidance shows in the conversation instead of being cut off mid-sentence, and mic problems show in red in the title bar so they are visible when you need them.
The board dispatches re-queued cards reliably, two cards with the same title on the same day no longer overwrite each other, and a board folder written as ~/something now works. If a card can't be created, Merlin says so instead of doing nothing.
Closed panes and stopped agents no longer linger as dead processes, and a claude alias in your shell no longer breaks pane session tracking.
On small windows, the conversation panel no longer gets clipped off-screen when the browser pane is open.
Your pane layout and workspace state now live in a plain file alongside the rest of your data, instead of the app's web storage, which macOS can clear under disk pressure and silently reset your layout. Existing layouts move over automatically on first launch.
Editing a card on the board can no longer touch the card's body text in the rare case where the body quotes card fields like status.
Pane session resume finally works the way it should, for every way you start Claude. Merlin now tracks the live session in each pane directly from Claude itself, so it no longer matters whether you typed claude, picked a session from the list, resumed one by hand, or a worker was dispatched there: quit and reopen, and each pane drops straight back into its own conversation. The session list only appears when a pane genuinely has nothing to resume.
Pane resume is now accurate about which sessions it can bring back. A pane only remembers a session its Claude actually started, a restored pane keeps remembering its session across every future restart, and a session that no longer exists on disk goes straight to the session list instead of showing an error first.
Restoring several Claude panes at once now works. A long-standing bug meant only the first restored pane remembered it had been running Claude; any others came back as plain shells. All of them come back into their sessions now.
Workspaces you didn't visit before quitting no longer forget their Claude panes. Their saved state is left alone instead of being wiped by the quit.
Terminal panes now reopen into their own Claude session. Before, a pane that was running Claude came back to a picker listing every session in that folder, and the right one wasn't always obvious. Each pane's Claude now carries its own session, so after a restart the pane resumes exactly the conversation it was in. The picker only appears as a fallback when there's nothing to pin down.
Your agents now survive a restart. Quit Merlin and reopen it, and Charlie and Alex pick the conversation back up with their memory intact, instead of starting over from a summary of what was last on screen. Update restarts get the same treatment.
Stopping a stuck reply no longer wipes the conversation. The agent comes back with its memory, minus the turn you cut off.
Setup steps that restart the agents, like connecting memory mid-wizard, keep the conversation now too.
Worker terminals stay readable. When a worker ran in a workspace you were not looking at, its terminal could come up scrambled when you switched over: overlapping lines, broken boxes, prompt text mashed together. Panes now start at the exact size they will appear at, so what a worker draws in the background looks right the moment you open it.
Resizing the window no longer scrambles terminal output. Terminals now settle once at the final size instead of redrawing at every step of the drag, which could leave stray fragments in the scrollback.
Agent messages no longer break apart around their actions. When an agent spoke and then did something in the same breath, the sentence could split across the tool line, leaving half above and half below. Each sentence now finishes before the action line appears, so the conversation reads cleanly.
Terminal panes render in full colour again. Claude Code, syntax highlighting, coloured diffs and anything else that uses colour now show their real colours instead of greyscale. If your panes had gone flat and grey, they will look right again after this update.
Task briefs now render their formatting. Bold, italic, links, checklists, bullet and numbered lists, quotes and code blocks all show properly in the brief panel instead of as raw markdown full of stars, backticks and brackets. Checklists get real tick boxes and code shows in a monospace box.
Dispatched workers stall for approval far less often. A worker can now read its instructions and update its own task card without stopping to ask, so dispatches run further on their own before they need you.
Your agents no longer stall when you hand them a task. Asking one to read something, plan, or check the board now runs to a real result in the same turn instead of stopping at "on it". They still keep replies short and spoken; only the stopping-too-early behaviour changed.
Connecting Clawtex memory now checks for Node.js first, since the memory service runs through it. If Node is missing it offers to install it for you (or tells you where to get it), instead of appearing to connect and quietly not working.
Fixed your agents not being able to reach locally-run tools (MCP servers started with npx or node, such as Clawtex memory). They now find your Node install wherever it lives, so connected tools work the same as when you run Claude in a terminal.
Task briefs now end with a Done means list: the exact checks that prove the work is finished. Agents draft it, workers prove every item with real output, and reviews verify the evidence item by item. Vague criteria are treated as not ready.
Workers now use your repo's Claude Code skills when they exist, and suggest new ones when they build a repeatable check by hand.
Relaunch now checks for live work first. If panes, Claude sessions or dispatched tasks are running, it names them and asks for a second click before restarting; an idle app restarts immediately.
A pass over every message in the app for consistent, house-style copy.
The workspace relaunch prompt now explains that relaunching is safe: panes respawn and Claude sessions offer to resume where they left off.
Dispatched workers now verify with real command output and end every result with a Doubts line: assumptions made, anything that felt off, anything noticed but not acted on. The supervising agent reads it and asks itself what could go wrong before signing off. If you never edited the worker covenant it updates itself; edited covenants are yours and stay untouched.
The model lists reflect current availability. A pinned model your plan stops serving falls back automatically for conversation agents, and any model id still works through Custom with API billing.
An update offer that no longer applies now clears itself from the status bar and Settings.
Tidied the API key settings: the non-functional Show buttons are gone. Keys are write-only and kept in your macOS Keychain; paste a new one any time to replace it.
Updated after skipping a few versions? The what's new card now shows everything you missed, version by version, with a link to the full changelog.
Found an update from inside Settings? The Check for updates button now becomes the update itself: it downloads and restarts right there, in step with the gold chip in the status bar.
Settings, Agents now has an Identities section: one click opens each agent's personality file, or the worker covenant, in your own editor.
The dispatch board is redesigned. Cards now carry a proper structure: title with an actions menu, dates, a ruled strip for workspace, pane and priority, and who owns the task with a live time marker.
Columns keep a comfortable width and the board scrolls sideways (trackpad, or click and drag on empty space) instead of squashing when the window shrinks. Dragging a card shows exactly where it will land.
Clicking a card opens a right-hand panel instead of a popup, and it is the card's full control surface: change status, priority, workspace, assignee, pane and created date right there, and edit the brief in place. A search box filters the board live.
New cards keep the exact title you typed instead of a lowercased file name.
Dispatched workers now start with an editable operating covenant (~/.merlin/agents/worker.md): stay on the brief, work on a branch, verify before claiming, report results to the card, stop cleanly when blocked.
A consistency pass over Settings: every section, row and hint now sits on one spacing rhythm, hints line up with their fields, and checking for updates no longer nudges the rest of the About page when the result appears.
Fixed a stray "Update available" button that could linger in the status bar even when you were already on the latest version, and restored its proper styling.
The interface now holds together when you make the window small. The top bar and status bar stay on a single line, labels shorten gracefully instead of wrapping, and the workspace and view controls stay reachable at any size.
Name your agents. Pick any names for your two agents during setup or in Settings under Agents, and the whole app follows: voice routing, the conversation panel, the board and the tour.
Your agents now remember the recent conversation after a restart or an update, instead of starting blank while the chat history sits on screen.
Your API keys now live in the macOS Keychain instead of a file, moved across automatically. Conversation transcripts are readable by your account alone, and Settings under General adds a retention window plus a Clear history button.
Moving to a new Mac or reinstalling? Deactivate this Mac in Settings under About frees your license seat first, so you never burn one on a wipe.
Can't reach the license server on first launch? Merlin now retries, and can unlock for 72 hours while it verifies your key in the background. Clearer guidance when a key reaches its Mac limit.
The speech model download now spots a dropped connection, can be retried, and verifies the file before installing it, so setup can't hang forever on flaky wifi.
A hardened app shell: stricter content security inside the window, and file access from the interface is pinned to Merlin's own folders.
Settings and license saves are now crash-safe. An interruption at the wrong moment can no longer lose your workspaces.
Updates now have a backup delivery route, so a hosting hiccup can't strand your install without updates.
Setup and the docs now say plainly what your agents can do on your Mac, and the docs explain how to remove Merlin completely.
The app identifies itself as Merlin to system tools like process lists and app cleaners, instead of an internal project name.
Settings has been redesigned around a sidebar: Workspaces, Agents, Billing and keys, General, and About, each on its own page.
Everything saves as you change it. The Save button is gone, and a quiet tick confirms each change.
Workspace edits show exactly when they take effect, with a Relaunch now button right there.
Workspace colours are picked from a swatch instead of typing hex codes.
You can now add or replace your ElevenLabs key in settings at any time.
Settings now shows your license: activation status, the last characters of your key, who it is licensed to, and when this Mac was activated.
Merlin now asks for your license key the first time it runs. Your key arrives in your purchase email, covers three Macs, and activates once. After that Merlin works fully offline, no account needed.
Terminal text no longer gets clipped by the panes' rounded corners.
Agents can now drive the app itself: toggle fleet view, open and close the task board, and switch workspaces on request. Every action confirms it visibly happened before the agent reports success.
Workspaces added during setup are kept even if the key field is left blank. Keys now fill themselves in from the name.
Agents can close panes on request, not just open them.
Push-to-talk can no longer get stuck on Listening if the app loses focus mid-hold.
Clearer expectations while connecting Clawtex.
After an update, a simple what's-new card greets you with what changed. One OK and you're back to work.
Updates now tell you what's in them: hover the update button for the notes, and after updating, the app tells you what changed. The full history lives at the website's changelog page.
The browser pane now tells you when a site refuses to be embedded (Google and most login pages do), with a one-click way to open it in your browser instead. Dev servers and previews render in the pane as always.
If two copies of Merlin are running, the app now tells you which one your agents are controlling, takes back control automatically when the other copy closes, and agents verify before claiming an action worked.
Sending a bug report now shows a confirmation that stays until you close it.
Bug reports can include screenshots and screen recordings.
Brand polish: square workspace markers and indicators throughout.
New: Report a Bug in the Merlin menu. You see exactly what's sent before sending, and you can attach your email for a reply.
Model settings are now dropdowns with validation, so a typo can't break your agents.
Layout and copy polish in Settings.
Setup now shows a tick for ElevenLabs voices when a key is configured.
Agent commands that open panes or the browser now confirm they actually happened before reporting success.
One push-to-talk key covers everywhere: function keys and numpad keys work even when Merlin is in the background, and your key no longer types into terminals.
The version in the titlebar now always matches the app.
Settings got clearer sections and an Updates section with a manual check.
Spoken replies without an ElevenLabs key no longer freeze the app, and you can interrupt them mid-sentence.
Fixed the microphone permission never appearing: macOS now asks properly the first time you use push-to-talk.
The red close button now hides the window while your agents keep working. Click the Dock icon to bring it back; Cmd+Q quits.
Setup asks for microphone access at the right moment, and if access was denied it opens the exact Settings pane to fix it.
Signing in to Claude closes its window by itself when you're done.
Clearer feedback when the microphone hears nothing.
Your plan usage appears as soon as agents are ready.
Setup can install Claude Code for you with one click and walks you through signing in.
Check for Updates lives in the Merlin menu.
A sharper app icon on macOS 26.
First run reaches setup properly on a Mac without Claude Code installed.
Fixed global shortcuts and the window close button.
Closing the browser window during a Clawtex sign-in no longer freezes the app.
In-app updates: Merlin checks quietly at launch and updates in one click.
First release with the signed, notarized universal build.