Subagents and Agent Teams

DataMind Oda can hand parts of a task to helper agents, and a chat can work with a team of durable teammates. This page is the developer reference for that delegation layer: how a delegation tool is set up, which tools the team adds and who holds them, and what a team guarantees.

How a delegation tool is set up

A delegation tool hands work to one target, and a chat can hold several such tools at once, one per target it can delegate to. The user-facing side of a call is on Delegating work to subagents.

The limits around delegation, how deep and how wide it may run, are edited in the app; Subagent settings covers the surfaces.

The team tools

The team layer adds the tools a team works with: spawn_teammate starts a teammate, and send_message, interrupt_agent and list_agents carry the messages, stops and listings between the team's agents.

How a team is started, and who can create a teammate, is on Agent teams.

How a team is organised

Beyond a single delegated run, the team layer fixes three things: who the root is, how messages travel, and where the work is tracked.

What ships and how it is turned on

Questions, answered

Why do I see subagent in one chat and subagent_codex in another?

Each delegation target registers its own tool, and the name is settled when the tool loads: the shipped tool registers as subagent, and a tool for another target carries that target in its name. The fork variant is not renamed by the setting, and a tool exists only while its target does (Delegating work to subagents).

Which controls does a delegation tool carry?

Three, beside its name: whether a delegation may choose a model for the child, the child's shape (one-shot or continuable), and whether the run-in-background option is offered at all. The limits around them, how deep and how wide delegation may run, are edited in the app (Subagent settings).

Why does my chat show no team tools?

The team layer is an optional bundle, and the shipped set keeps it switched off. Turn it on in the Plugins page, in the Official group: find Agent Teams and flip its switch. Until then the team tools are not there, because a chat can only use the tools its deployment carries (Built-in plugins).

Who holds the team tools?

The team's Lead and its durable teammates. The Lead is the chat's own agent, so a chat leads its team without being set up as one, and a subagent does not hold the team tools.

Is the Lead a teammate?

No. It is the chat's own agent: the root the teammates hang from, with no row of its own (The Team panel in Activity).

What happens to a message sent to a teammate that is not running?

It waits in the teammate's mailbox and is taken up when the teammate next works. Team messaging is durable: the message is kept for its recipient, and a teammate that is mid-turn receives it at its nearest step.

Are team messages the same as subagent follow-ups?

No. Team messages are durable and go between the team's members; a subagent follow-up travels only between neighbours in the tree and is not stored when it cannot be delivered (Follow and control Subagents).

How does the team keep its tasks in order?

With dependencies. A task waits for the tasks it depends on, and Oda checks the set as a whole, refusing a change that would make a task wait for itself or tie tasks in a loop (Team tasks).