Skip to content
All Docs pages

Squads

Squads overview

One orchestrator that is itself an agent, driving several worker agents in their own worktrees, delivering one branch and one pull request.


A squad is one orchestrator session driving several worker sessions. Every one of them is a full Fleet session in its own git worktree with its own branch. Nothing about it is simulated.

The difference from running four sessions side by side is hierarchy. The orchestrator is an agent, not a scheduler: it reads the repository, decides the shape of the work, writes the briefs, reviews what comes back, merges it, and hands you one pull request.

The shape

you  ──▶  orchestrator  ──▶  agent  (own worktree, own branch)
                         ──▶  agent
                         ──▶  agent
                              │
                              └─ merge_agent ──▶ orchestrator's worktree ──▶ one pull request

Work flows one way

An agent's output reaches the orchestrator only through a merge into the orchestrator's own worktree. Never onto the base branch, and never into another agent's worktree.

That is what makes the parallelism safe. Two agents cannot conflict in a shared directory because there is no shared directory, and nothing reaches your base branch until the orchestrator has built and tested the combined result and opened a pull request for it.

Instructions flow one way too

An agent's view has no composer. The text field is absent rather than disabled, and that is deliberate: prompting an agent directly puts two bosses on one branch, and leaves the orchestrator planning around a brief its agent has already been talked out of. You type to the orchestrator.

Two things stay in an agent's view, because they are not instructions:

  • Stop, since interrupting is not the same as directing.
  • Permission cards and questions, because only you can answer one, whatever the agent's role.

An agent that asks for review stops

When an agent finishes, it commits, calls for review with a summary of what it did, and stops. It stays idle until the orchestrator answers, which is what keeps a squad cheap between rounds: idle agents cost nothing.

The corollary is that an unanswered agent is a stalled one, so the board shows exactly who is waiting on whom.

Status in a squad

An agent waiting for review is stopped and waiting, but it is waiting on its orchestrator, not on you. So it is not amber, and its label names the orchestrator.

Waiting is not the test. Whose turn it is, is. Amber means blocked on you, and it wore amber here once, which made the board read "waiting for your answer" at the single state you can do nothing about.

Cost

A squad is several agents doing real work, and it costs accordingly. The board shows the current round's cost and the squad's whole life separately, because those answer different questions. There is a cap on how many agents one orchestrator may spawn, it is a preference, and it counts the round rather than the squad's whole life.

Next