> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mutagent.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Sub-agents

> Start sub-agents in parallel, watch each one live in the fleet list, and steer any of them by typing at it.

> [!NOTE]
>
> **Early Access.** Commands and behavior can change between releases.

Architech hands parallel work to sub-agents: the model calls the `Agent` tool, the agent runs in
the background, and the session keeps going. Messages flow both ways: the session can steer a
running agent and read its result, and agents send findings back. You watch and steer all of it
from two places: the fleet list and the agent viewer.

In the full Architech session (`architech`), the orchestrator starts sub-agents when work needs a
specialist or can run in parallel. In agent mode (`architech agent`), your agent has the same tools,
and you can ask it for parallel work directly.

The `/agents` roster includes **developer**, **llm-whisperer**, **architect**, **general-purpose**
and **explore**. See [orchestrator and agents](https://docs.mutagent.io/architech/agents.md) for their responsibilities, and
[system agents](https://docs.mutagent.io/architech/features/framework-agents.md) for which definitions are read-only.

## The fleet list

Dispatched agents appear under your prompt:

```
↑↓ select · 1-9 open · enter view · x remove · esc back
  ⏺ 1 ✓ explore          Inspect API routes     18s · ↓ 72.3k tokens
  ◯ 3 ⠸ general-purpose  Check build setup — running command…   ↻1 · 11s
  ◯ 5 ⏳ architect      queued
                                                            + 2 more
```

Each row shows the agent type, a short label for its task, and live time and token counts. The
list shows three or four rows, depending on your terminal's height; the rest are counted as
`+ N more`, never dropped. **An agent keeps its number while it is in the list**: removing one
never renumbers the others. Once an agent leaves the list, a new agent can take its number. Check
the row before you open a number you used earlier.

| Key | Does |
| - | - |
| `↓` or `←` (at an empty prompt) | Select the list; `↑`/`↓` move, `Enter` opens, `Esc` returns to the prompt. |
| `1`–`9` | Open that agent directly, from an empty prompt or while the list is selected, including an agent counted under `+ N more`. |
| `x` | Remove the selected row from view. A running agent keeps running and still delivers its result. |

Finished agents fade from the list after one second. If you have an agent open in the viewer, its
final transcript stays readable after its row is gone. The list hides while a picker such as
`/model` is open.

## The agent viewer

Open an agent and its conversation **replaces** the chat; it is not a split pane. The transcript
looks like the main session: tool calls are cards, and markdown, diffs and errors render the same
way. It updates live while the agent works.

The input box at the bottom works like the main chat, and **whatever you type steers the agent you
are watching**. If a message can't reach the agent, your text stays in the box with the reason; you
can't steer an agent that has finished. `Esc` closes the viewer and returns you to the main
conversation; the agent keeps running.

## Resume a sub-agent

A sub-agent's result ends with its id:

```text theme={null}
agent id: 0f3a91c2-… (pass as resume)
```

Later in the session, Architech can resume that sub-agent with its earlier conversation intact,
instead of starting a new one. Ask in plain words (*"resume the explore agent and have it check the
tests too"*), or name the agent. To resume a sub-agent or message it, use any of:

* the full id from the end of its result;
* the short ref shown in the agent list;
* a unique prefix of the id, at least four characters long.

If a prefix matches more than one agent, Architech refuses it and lists the matches so you can
pick one. When a sub-agent resumes, the fleet list shows its new description.

## Which model a sub-agent runs on

A sub-agent runs on the model its definition or harness model setting names. Otherwise it runs on
the model of the session that started it. Architech can also ask for a size instead of a model:
`large`, `medium` or `small`.

If none of a requested size's models is configured on your machine, or the model its definition
names isn't configured, the sub-agent still runs, on the session's own model. You and the model
both see a warning naming the model it runs on instead. If a request names a specific model that
isn't configured, Architech refuses it; it never swaps models silently.

## Failures report as failures

If an agent never reached the model (no tokens, no tools, no output), you get an error with the
reason (model availability, provider credential, rate limits), not a finished agent with an empty
transcript.

A sub-agent that stops for inactivity reports a failure and how long it was inactive. A resumed
sub-agent never returns its previous result as if it were new.

## Questions from background sessions

An Architech session can start another session in the background. When that background session asks a
question, the question goes to the session that started it:

| The starting session | Who answers |
| - | - |
| has a person at it | You see the question and your answer goes back. |
| runs without a person (for example `architech -p`) | That session's agent answers it. |
| is gone, or nobody answers in time | The background session is told to decide for itself and continue, instead of waiting forever. |

A detached background session waits 10 minutes by default when a person answers, and 5 minutes
when an agent answers. Teammates in panes work differently: their questions wait for you with no
timeout, and a model never answers them.

## Agent teams in terminal panes

Agent teams are **experimental and off by default**. With teams on, the orchestrator can start
full interactive teammates in iTerm2 panes, not only detached background sessions.

| Command | Does |
| - | - |
| `/teams status` | Show this session's team setting. |
| `/teams on` | Enable teams for this session; the choice survives resume. |
| `/teams off` | Disable new team launches; existing teammates continue. |

Teams need iTerm2 with its Python API enabled. tmux panes are not supported. If no pane backend is
available, a teammate can run detached, and the session tells you why. A teammate can't start
another team.

> **[Orchestrator and agents](https://docs.mutagent.io/architech/agents.md)**
>
> The software-engineering roles behind the fleet.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.