One person.
A whole
fleet of agents.

Conductor — a harness around Claude Code agents

Describe an app. Conductor names it, scaffolds it, and puts a lead agent and its workers on it — in a tree you can see, with a review gate before anything lands.

Nothing to buy and no date promised. One email if it ever opens up, and nothing else — ever.

Running today on one Mac. Not released.
Conductor backend
SYNCCY
Persist the mutation queue
lead · offline-modeTask
schema-migrationEdit
Replay on reconnect
sync-queueBash
Conflict resolution
5h window62%

No feature selected

Sessions

ACTIVE — 5

lead · offline-modeTaskrunning
$0.412
schema-migrationEdittool-running
$0.188
sync-queueBashtool-running
$0.241
watchdogReadrunning
$0.064
conflict-resolveridle
$0.157

COMPLETED — 3

gate-statuscompleted
$0.093
docs-passcompleted
$0.071
nudge-policyerrored
$0.121
macOS
  • The tree, the docking host and a real VT terminal per agent
  • The link map, the review queue, the attention inbox
  • Menu-bar dashboard, Finder and Quick Look extensions
iPhone & iPad
  • Four tabs, a live terminal, a keyboard bar with esc and ⌃C
  • Live Activities, time-sensitive decision pushes, App Intents
  • QR pairing with the Mac; iPad gets the split shell
One backend

Everything below is the real app.

Not screenshots and not a mock-up: every screen on this page is rebuilt in the browser at the device's real point sizes, from the SwiftUI source. The Mac window is 1000 × 620 pt on a 16-inch display; the phone is an iPhone 393 × 852.

A .NET backend on one Mac, clients on macOS, iPhone, iPad and Apple Watch, and a SignalR connection carrying every agent's output live to all of them.

Nothing here is faked. Where a control does not exist in the app, it is not drawn.

Describe it

One paragraph in. A named, scaffolded app out.

You do not create a group, then an application, then features, then tasks. You write what you want. The orchestrator names it, builds the tree, provisions the repo and spawns a lead agent that decomposes the rest.

“Conductor decides” lets it work out how many workers the build needs. Set a maximum instead and it will not exceed it — the cap is 8.

The model is not a choice here on purpose: the field is left off the request so the backend always uses its current default.

The tree

Every agent has an address.

Group, application, feature, task, agent. An agent is never “running somewhere” — it is bound to a task, under a feature, inside an app. That is what makes eight of them at once survivable.

Pick a feature and its tasks unfold underneath it, with the agents on each task one level deeper again.

A task that has finished waits at awaiting_review with an accept and a reject button right there in the tree.

The fleet

One lead. Its workers. All of it on one board.

Pick a scope and the map filters to the agents inside it. The crown is the lead — the one that decomposed the work and can be told to change course. Everything under it is a child it spawned.

The ring around each agent is the supervisor talking: solid for running, orange dashed for “this one has stopped moving”, red dashed for “a cascade kill has accepted it”. The pill on the right is how much of its context window is gone.

The map is four columns — groups, applications, features, agents — because a fleet with no addresses is a fleet you cannot steer.

The terminal

Not a log. A stream you can filter.

A Claude Code session is not one pipe of text — it is typed events. Conductor keeps the type on every line and gives you a switch per type, so “show me only the errors and what it decided” is one menu, not a grep.

The field at the bottom talks to the agent that is running, mid-run. On a lead it is a conversation; on a worker it is a one-off intervention, and the app labels it as such.

Seven types, seven colours — the same seven TerminalPaneView defines. Try switching them off.

The panes

Split it until it fits your head.

The detail column is a docking host, not a terminal. Every leaf has its own tab bar, every tab is one of eight kinds, and any pane splits right or down — so three agents, a shell and the link map can all be on screen while they work.

⌘\ splits right, ⌘⇧\ splits down, ⌘` walks the panes. The tabs drag between them.

The review gate

Finished is not the same as landed.

With the gate on, a task whose agents are done does not complete. It parks at awaiting_review and shows up here, fleet-wide, with the diff it produced and the result of building it.

Accept and the task completes. Reject and it goes back to in-progress with your note attached, so the agent knows what to change.

The order on the card is deliberate: what it claims, what to test, whether it built — and only then the Accept button.

The inbox

What needs you, in one list.

Pending decisions, tool approvals nobody has answered, agents that errored, constraint violations, tasks waiting on review — five different tables in the backend, one ranked list in front of you.

⌘⇧A anywhere in the app. The toolbar button carries the count, so an empty inbox is visible without opening it.

On your phone

The Mac runs it. The phone runs you.

The backend is headless by design — it lives on a Mac that need not have anyone in front of it. So the phone is not a viewer: it is the control surface, with a real VT terminal attached to the live session and a key bar for the things an iOS keyboard has no key for.

Four tabs, because the design rules cap it at four: Sessions, Decisions, Dashboard, More.

The second tab was called Inbox once. It was renamed to Decisions, because that is what is in it.

Decisions

It asks. You answer from anywhere.

When an agent hits a fork it cannot take alone, it stops and asks — and the question arrives as a time-sensitive push, not a line in a log you were not reading.

A destructive option is styled as one. “Deny”, “Drop”, “Stop”, “Cancel” and “Reject” get the destructive treatment automatically, so the dangerous button never looks like the safe one.

Answer it and the agent picks up where it stopped. Two taps, from a phone, with the Mac at home.

The Island

One agent, one Live Activity.

Not an aggregate “3 agents running” — one Activity per agent, so the one you are watching is the one on your screen. It carries the status, the tool it is in right now, and the feature's own colour.

When it needs approval the Activity says so, and the push that carries it is marked time-sensitive so it comes through a Focus.

Tap the pill to open the agent. Long-press expands it — that is what the Expand chip does here.

What it is for

You describe it. They build it.

Conductor is the part in between: the tree that holds the work, the agents that do it, and the gate that stops any of it landing before you have looked.

Before you sign up

What it is not.

This page shows the real screens of a tool one person built for their own work. Here is the other half of that sentence.

  • It is not multi-tenant, and will not be.

    One user, one machine. Multi-tenancy is explicitly out of scope, so there is no org, no seats, no sharing — the tenant machinery that exists in the backend is hygiene, not a product direction.

  • It is not a hosted service.

    Conductor is a .NET backend plus SwiftUI apps that run on their author’s own Mac. There is nothing to sign up for, nothing to download, and no cloud to point at.

  • It has never been released.

    No App Store listing, no installer, no price. The waitlist exists in case that changes; nothing on this page is a commitment that it will.

  • It does not write the code by itself.

    Every agent is a Claude Code CLI in a real shell. Conductor decides who runs, where, under what constraints, and what happens when they finish — it is the harness, not the model.

  • Nothing lands without you.

    With the review gate on, a finished task parks at awaiting_review with its diff and its verification results until you accept it. That is a deliberate stop, and it is the last step of every run.

  • It costs real money to run.

    Every agent spends against a Claude subscription; the app shows the running cost per agent and throttles new spawns as the five-hour quota fills. A fleet is not free just because it is parallel.

Eight agents finish.
Then it asks you.

Nothing to buy, no date promised. One email if it ever opens up.