Put four agents to work overnight and wake up to verified work.

Not four reports saying everything went fine.

Muster runs Claude Code and Codex side by side on your code, keeps each agent inside its own files, and lets your test command, not the agent, decide when a task is done. A desktop app for macOS and Windows.

Download for macOS Download for Windows 14-day trial. Everything included. No card.

Works with Claude Code and Codex. You bring the CLI and your own account.

The problem

  1. You leave an agent running and come back to Done. All tests pass.
  2. You run the tests. Two fail. One suite never ran.
  3. The agent wasn't lying. It was guessing, and nothing checked.

How it works

Three rules, enforced by the app, not by asking the agent nicely.

1 · In plain sight

Many agents at once, all on screen.

Tabs for workspaces, a grid of panes with no upper limit, every session a real terminal you can read and type into. Nothing runs in the background where you can't see it. An automation that edits your repository without showing you is exactly what Muster refuses to be.

A grid of agent panes across two workspaces, one pane focused
2 · Lanes

They don't trip over each other.

Each agent works in a role, and each role owns a lane of paths. A task starts only if its paths don't overlap a task that is already running. If you declare the lanes badly, work runs one task after another. It never degrades into two agents editing the same file.

time → backendsrc/api/** frontendweb/src/** teststest/e2e/** T1 retry 429 in client src/api/client.ts T3 rename error types src/api/errors.ts T2 empty state, queue screen web/src/Queue.tsx T4 queue e2e test/e2e/queue.spec.ts ● T3 was ready at the start. Its path is in the backend lane, held by T1, so it waited and started when T1 closed. T2 and T4 ran in parallel.
3 · The gate

No agent closes its own work.

The agent works, then hands the turn back. What decides whether the task is done is the exit code of a test command you approved, not the agent's summary. No command means no verdict: the task stops and waits for you instead of pretending it's finished.

agent session works, then hands back ACCEPTANCE COMMAND npm test -- src/queue runs outside the agent ✓ verified (exit 0) task closed, next one runs ✕ blocked (exit 1) output attached to the task ● needs human review no acceptance command

The queue

Audit the project, approve a list, and let it run.

This is the part that works while you're asleep. Muster turns an audit of your repository into a queue of tasks, each with its own acceptance command, and runs them one task per fresh agent session.

beforeThe list

An audit you read before anything runs.

An agent reads the project and proposes tasks. Each comes back with a title, the paths it will touch, and the command that proves it's done. You edit, reorder or delete. Nothing runs until you start the queue.

task Split runner.ts into admit / run / close paths src/queue/runner.ts, src/queue/admit.ts accept npm test -- src/queue task Remove the v1 settings migration paths src/settings/** accept none · needs human review
The task queue right after an audit, before anything runs
duringThe fronts

Several tasks moving, none sharing a file.

Muster admits tasks whose paths are free, gives each one a fresh session, and holds the rest. Every session is a pane you can watch or interrupt. When an agent hands back, the acceptance command runs, and the next task that fits is admitted.

The queue running: sessions active in different lanes, one task held
afterThe verdict

Closed by proof, or handed back with the error.

In the morning each task is in one of three states, and each one tells you what happened in its own words.

✓ verified (exit 0)

The command passed. The task is closed.

✕ verification failed (exit 1)

Blocked, with the command's output attached. Read it, fix or re-queue.

● needs human review

No acceptance command. The work is there; the verdict is yours.

The finished queue: most tasks verified, one blocked with its test output

One task, one session

Every task starts in a fresh agent session, so one task's context can't leak into the next.

Blocked is a result

A blocked task with its output attached is more useful than a finished one you can't trust. It's also the most common result on a first run.

It stops on its own terms

When the queue can't continue, it stops and tells you why instead of retrying forever.

What it doesn't do

Muster is deliberately small.

  • It isn't a code editor.Keep your editor. Muster runs and watches agent sessions; you read diffs where you already read diffs.
  • It doesn't sync anything to a cloud.Sessions, history and settings stay on your machine. There is no Muster server holding your code.
  • It makes no LLM calls of its own.Every token is spent by the CLI you already use, on your own account and plan.
  • It isn't collaborative.One developer, one machine, one set of agents. No shared workspaces, no seats.

It's not for occasional use either. If you use an agent now and then on one project, your terminal is enough and Muster is dead weight. It starts paying for itself when you already have six to twelve terminals open and want to stop babysitting them.

Pricing

Try it for 14 days. Then one price, once a year.

US$ 89per year
R$ 299per year, in Brazil

The trial is the whole product. Every feature, no card to start. There's no free plan because the moment that sells Muster is watching a task close on its own with the verification passing, and any limit that delays that moment only delays the decision. In 14 days it happens on the first or second.

What the subscription pays for: keeping Muster in step with two CLIs that change every week. It is not rent on software already sitting on your machine.

Buy the annual license US$ 89R$ 299 a year, renewing. Or start the 14-day trial first — no card.

Download

Muster for macOS and Windows

Install, point it at a project, open your first session. The first ten minutes are one page.

System
macOS 12 Monterey or later · Windows 10 or later
Chip
Apple Silicon or Intel on macOS · x64 on Windows
Agent CLI
claude (Claude Code) or codex installed and on your PATH
Account
Your own plan with the CLI's provider