Agent teams
Agent Teams lets one chat work as a small team: Oda leads, creates named teammates, gives them work, passes messages between the members and keeps one shared list of tasks. A team forms only when you ask for one, and it works inside the chat you asked in.
Turn Agent Teams on
The Agent Teams bundle comes switched off. Plugins and bundles covers the Plugins page; for this bundle:
- Open Plugins in the sidebar and find the Agent Teams bundle.
- Switch it on.
- One switch turns on both the team tools Oda uses in the chat and the Team panel in Activity.
- On the bundle's card, the Team Tools row is described as
Give agents tools to coordinate members, exchange messages, and manage shared tasks.
- While the bundle is off, Oda cannot create teammates.
Ask Oda for a team
Teams form only when you ask for one. The chat's agent, Oda, is the Lead of the team, and each helper is a teammate that Oda names and works with.
- Oda creates a teammate only when you ask for one; it never forms a team on its own.
- A teammate's name is unique: lower case words joined by hyphens, at most 64 characters. A name is never
lead, and once it is taken it stays taken, even when that teammate fails to be created.
- Each teammate is created with a description of its job, at most 200 characters, and runs on a preset and a model from the ones available to you. A preset or a model that is not available is refused rather than guessed.
- A teammate either starts fresh, with no history, or continues from the completed turns of your chat.
- A new teammate is
provisioning until it is ready. After that it is running while a turn is working, inactive when no turn is executing, and failed if it could not be created.
- Oda keeps working alongside the team and waits for its results before it finishes the job.
Messages between members
- Every member of the team can message any other member. A message is stored before it is delivered: a send answers
accepted when it arrives at once, or queued when it waits for its teammate.
- A queued message is kept safely and must not be sent again. Messages are never lost and never delivered twice.
- Refusals name what happened: a member cannot message itself (
a Team member cannot message itself), a full mailbox reads teammate "<name>" has <n> pending messages, and an oversized message reads team message exceeds <n> bytes.
- In a teammate's conversation, a message from another member starts
Team message <id> from <name>:, so the sender is always named.
Interrupting and waiting
- Oda can stop one teammate's current turn. Stopping does not delete that teammate's queued messages, and the tasks it owns keep their owner. Only the Lead stops teammates, and it cannot stop itself.
- When Oda needs the team to move on, it can wait for the next change in the team: a member's status, a message or a task.
- A wait with nothing to watch ends at once and reports that there is no progress, instead of hanging.
- If you send Oda a message while it waits, the wait ends early so that Oda answers you first. The teammates keep working, and Oda can wait again afterwards.
The shared task board
- The team keeps one board of tasks. A task carries a title of up to 200 characters, a fuller description, an owner, the tasks it waits for, and file hints for the files its work is expected to touch.
- The team's agents create the tasks and move them along. Where people see the board, in the Activity panel, it is read-only; Ctrl+Alt+B (Cmd+Alt+B on a Mac) takes you to it. Team tasks covers the rules, and The Team panel in Activity covers watching it.
- The moves are: take a task (claim), give it up (release), edit it, change what it waits for, complete it, reopen it, move it to another teammate, and delete it.
- A task can be claimed only when everything it depends on is complete. A claim before that is refused with
team task "<id>" is not ready to claim.
- Only a task that is in progress can be given up; otherwise the release is refused with
only an in-progress task can be released. Moving a task to another teammate is the Lead's call, refused otherwise with only the Team Lead can reassign tasks.
- A task that becomes ready does not start its own work; a member still takes it up.
- Every change to a task is checked against the copy it started from. An out-of-date change is refused and names both revisions:
stale team task "<id>" revision <expected>; current revision is <current>. Read it as: someone changed the task first; read the task again and retry.
- A task's file hints are advice, not locks. Overlapping hints are flagged and name the other task, and they never block work.
- The board holds up to 256 active tasks. A deleted task leaves the board and keeps its record in the team's history.
Limits at a glance
| What | Limit |
|---|
| Teammates one task can create | 16 by default, up to 64 |
| Pending messages per member | 64 |
| Size of one message | 64 KiB (65,536 bytes) |
| Active tasks on the board | 256 |
| Teammate name | 64 characters at most, lower case with hyphens, never lead |
| Teammate description | 200 characters at most |
| Task title | 200 characters at most |
- The teammate limit counts every teammate ever created for the task, finished and failed ones included, and it is checked every time a teammate is created.
- Set it under Settings > Agent presets, on the Agent Teams card, as Maximum teammates per task: a whole number from 1 to 64; a value outside that range is refused with
Enter a whole number from 1 to 64. A change applies to the next teammate a task creates. Agent presets covers that settings area.
- When the limit is reached, the refusal reads
This Team already created <created> of <limit> allowed teammates. Oda is then told to reuse the teammates it has instead of creating more.
What comes back after a restart
- The team belongs to the chat that asked for it, and that chat's record is the team's source of truth. After a restart the teammates and their tasks are back from it, and a different chat has its own team and its own board. A teammate created with its own preset or model comes back on them; a teammate created without that choice follows the chat's own preset and model.
Questions, answered
Does Oda start a team on its own?
No. Oda creates a teammate only when you ask for one, and the team works inside the chat you asked in. A job that does not ask for a team is done by Oda alone.
Why did Oda say it cannot create another teammate?
The task has reached its teammate limit, and the refusal reads This Team already created <created> of <limit> allowed teammates. The limit counts every teammate ever created for that task, including the finished and the failed ones. It is 16 by default and can be raised to 64 under Settings > Agent presets. At the limit, Oda is told to reuse the teammates it already has.
Can two teammates have the same name?
No. Teammate names are unique: lower case words joined by hyphens, at most 64 characters, and never lead. A name stays taken for the team's whole life, even when the teammate that got it failed to be created; no name is reused.
What happens to a teammate's queued messages when Oda stops it?
They stay. Stopping a teammate's current turn does not delete its queued messages, and the tasks it owns keep their owner. Only the Lead stops teammates, and it cannot stop itself.
What does inactive mean for a teammate?
No turn is executing at that moment. It is not a failure and not a finish: the teammate can work again when the team sends it something. In the Activity panel the same state reads stopped.
If I send Oda a message while it is waiting for the team, does the team stop?
No. The wait ends early so that Oda answers you first; the teammates keep working, and Oda can wait again afterwards if it still needs them.
How do I turn a team off?
Switch the Agent Teams bundle off on the Plugins page. While it is off, Oda cannot create teammates, and the team tools and the Team panel go with it.
Where is the team's work recorded?
In the chat that asked for it. That chat's record is the team's source of truth: after a restart the teammates and their tasks are back from it, and a different chat has a different team.
How is a teammate different from a subagent?
A teammate is a named member of the team, with its own inbox that survives between turns; other members message it, and it appears in the Team panel. A subagent is a helper Oda hands part of a task to, with its own conversation you can follow; Subagents and the Activity panel covers that side.