Skip to main content
Managed Agents lets an Agent act as a coordinator to manage and delegate tasks to other Agents, enabling multi-agent collaboration. The coordinator Agent can create child agent threads, send messages, and await results, breaking complex tasks into multiple independent subtasks for parallel or sequential execution.

Core concepts

Managed Agents is built on the Session Thread model. A single Session can contain multiple threads, each bound to an independent Agent snapshot with its own conversation history and execution context.

Configure managed agents

To enable managed agents, set the multiagent field in the Agent configuration:

multiagent field reference

agents array elements support three formats:
When configuring multiagent, tools must include an agent_toolset_20260401 entry. The system automatically injects create_agent, send_to_agent, list_agents, and Agent control tools at runtime.

Coordinator control tools

When the Session’s Agent has multiagent configured and the current thread role is coordinator, the following tools are automatically injected:

create_agent

Create a new child Agent thread and send an initial task. Returns immediately with the thread ID without waiting for the child Agent to complete. Return example: "Created agent thread: sthr_019f..."

Agent

Delegate a focused task to a child Agent and synchronously wait for its result. This is a blocking tool — the coordinator’s turn pauses until the child Agent completes (calls send_to_parent) or is interrupted.

send_to_agent

Send a follow-up message to an existing child thread. Return example: "Message queued for agent thread: sthr_019f..."

list_agents

List all child threads in the current Session along with their statuses, pending message counts, and the available Agent roster. No parameters required.

Child control tools

When the thread role is child, the system automatically injects one tool:

send_to_parent

Send a result, status update, or question to the coordinator. The child thread transitions to idle status after this call.

Session thread lifecycle

1

Create session

Client creates a Session referencing an Agent with multiagent configured.
2

Start turn

Client sends a user.message event. CAS automatically creates a coordinator thread (role: coordinator).
3

Coordinator delegates

The model calls create_agent or Agent tool. CAS creates a child thread and enqueues the task message to the mailbox.
4

Child executes

The CAS scheduler dispatches the mailbox message to the child thread. CAW loads the child’s Agent snapshot and executes independently.
5

Child reports result

Child calls send_to_parent. The message is routed back to the coordinator via the mailbox. The child thread transitions to idle.
6

Coordinator continues

The coordinator receives the child’s report, synthesizes results, and continues processing or initiates new delegations.
7

Session idle

When all running threads have stopped, the Session transitions to idle status.

Thread events

In managed agents scenarios, the following new event types appear in the event stream: All events include a session_thread_id field identifying the thread. You can use the List Thread Events and Thread Event Stream endpoints to filter events by thread.

Limits

Next steps

Configure multiagent

Set the multiagent field on Agent creation.

Agent schemas

multiagent and agent entry field reference.

List session threads

View all threads in a Session.

Session Thread object

Thread object fields and lifecycle.