Changelog

What each update brings. The app delivers these through Check for Updates.

Version 1.1.0

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.

Version 1.0.61

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.

Version 1.0.60

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.

Version 1.0.59

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.

Version 1.0.58

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.

Version 1.0.57

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.

Version 1.0.56

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.

Version 1.0.55

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.

Version 1.0.54

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.

Version 1.0.53

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.

Version 1.0.52

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.

Version 1.0.51

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.

Version 1.0.50

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.

Version 1.0.49

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.

Version 1.0.48

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.

Version 1.0.47

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.

Version 1.0.46

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.

Version 1.0.45

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.

Version 1.0.44

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.

Version 1.0.43

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.

Version 1.0.42

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.

Version 1.0.41

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.

Version 1.0.40

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.

Version 1.0.39

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.

Version 1.0.38

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.

Version 1.0.37

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.

Version 1.0.36

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.

Version 1.0.35

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.

Version 1.0.34

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.

Version 1.0.33

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.

Version 1.0.32

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.

Version 1.0.31

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.

Version 1.0.30

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.

Version 1.0.29

Settings, Agents now has an Identities section: one click opens each agent's personality file, or the worker covenant, in your own editor.

Version 1.0.28

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.

Version 1.0.27

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.

Version 1.0.26

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.

Version 1.0.25

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.

Version 1.0.24

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.

Version 1.0.23

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.

Version 1.0.22

Settings now shows your license: activation status, the last characters of your key, who it is licensed to, and when this Mac was activated.

Version 1.0.21

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.

Version 1.0.20

Terminal text no longer gets clipped by the panes' rounded corners.

Version 1.0.19

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.

Version 1.0.18

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.

Version 1.0.17

After an update, a simple what's-new card greets you with what changed. One OK and you're back to work.

Version 1.0.16

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.

Version 1.0.15

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.

Version 1.0.14

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.

Version 1.0.13

Sending a bug report now shows a confirmation that stays until you close it.

Version 1.0.12

Bug reports can include screenshots and screen recordings.

Brand polish: square workspace markers and indicators throughout.

Version 1.0.11

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.

Version 1.0.10

Setup now shows a tick for ElevenLabs voices when a key is configured.

Version 1.0.9

Agent commands that open panes or the browser now confirm they actually happened before reporting success.

Version 1.0.8

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.

Version 1.0.7

Spoken replies without an ElevenLabs key no longer freeze the app, and you can interrupt them mid-sentence.

Version 1.0.6

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.

Version 1.0.5

Setup asks for microphone access at the right moment, and if access was denied it opens the exact Settings pane to fix it.

Version 1.0.4

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.

Version 1.0.3

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.

Version 1.0.2

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.

Version 1.0.1

In-app updates: Merlin checks quietly at launch and updates in one click.

First release with the signed, notarized universal build.