Every agent CLI you run, on one control surface.
23 coding-agent CLIs ship as built-in adapters, a generic shell adapter covers the rest, and your own adapter is a TOML file. All of them get live status, profile environments, and a queue that runs worktree → agent → review while you do something else.
Adapters are config, not code
Each built-in adapter knows how to launch its CLI, how to read its screen, and how to tell running from waiting. A generic shell adapter covers anything that isn’t built in, and an adapter of your own is a TOML file in a config-sibling adapters/ directory — picked up by the app, the muster CLI, the MCP server and the daemon alike. No release cycle between a new CLI and you driving it.
Sharing an adapter is sending the file: Settings → Agents imports one from a local file or an https URL, validates it before anything is written, asks before replacing an existing id, and has it live in the picker with no restart.
A malformed adapter is named and isolated. It doesn’t take the other 22 down with it, and it doesn’t fail silently.
Status you don’t have to poll
Every surface carries live needs-input / running / review status, derived from per-adapter detection rules — so a logged-out CLI is caught before it stalls a task, not after you’ve waited ten minutes on a dead prompt.
Desktop notifications on macOS, Linux and Windows fire when an agent blocks, finishes or fails, configurable per state, with or without sound. You can walk away from a long run and still hear first.
Task rows and the closed-task history carry each task’s elapsed time, plus token and cost totals where the CLI itself reports them (only one CLI prints usage lines today — the docs name it) — nothing is estimated, so a CLI that prints no usage shows time only.
Closing a task isn’t losing it: the closed-task history reopens any task any time, and if its worktree was cleaned up in the meantime, Muster rebuilds it from the branch.
Set up inside the profile, not on your machine
One-click CLI installs land in the selected profile’s isolated environment, and signing a CLI in from inside Muster runs the login there too. The credential never touches your real HOME — which is what makes two AI subscriptions on one machine boring instead of dangerous.
Resume and model overrides, where the CLI allows
Seven of the 23 built-in adapters resume a session. Where the CLI records its sessions on disk, Muster finds the session id — inside the profile’s isolated config dir, never your real HOME — and re-attaches to that exact conversation; the others open the CLI’s own session picker or its most recent session for that directory. The rest start a fresh session inside the task’s worktree.
16 of the 23 adapters accept a model override at launch, per agent and per profile.
The queue runs the loop
Line up the evening’s tickets: each entry carries its own prompt, agent and profile, and concurrency is yours to set from 1 to 8. Muster opens each worktree, feeds the prompt, and moves the task to review when the run ends. A failed run retries in place, with nothing to retype.
muster queue run spawns into the keep-running daemon, so queued agents outlive the command that started them.
Drive the running app from a terminal
The muster CLI talks to the live app: list, status, wait, spawn (which also starts the agent), attach, close, reopen and resume tasks, stream events, inspect and apply permission policies, and drive the queue — enqueue, cancel, remove, retry, clear, or work it headlessly. Scripts get the same control surface you do.
More in agents.
See it on your own repo.
$39 once, per device. A perpetual license, no subscription, nothing that renews. Your code, data and credentials never touch our servers.
Rather try it first? Start the 7-day trial — card up front, $0 charged today, and cancelling before day 7 means you pay nothing. The key appears on screen, ready to paste into Muster.