agent_delegate lets one Agent hand a task to another Agent in the session. The delegate is a persistent, full member with its own workspace, memory, skills, and sessions; it answers within its own environment, and the result returns to the caller rather than being sent to the user directly.
This is the underlying capability behind Agent team collaboration. For how a team is formed and how the lead Agent decides to delegate in a group chat, see the team documentation.
agent_delegate appears only in a team session, that is, when the session has two or more enabled Agents. It is not visible in a single-Agent deployment.Differences from Sub-Agents
Use a sub-Agent when you need to parallelize your own work. Use delegation only when the task genuinely belongs to someone else, that is, the Agent that owns that codebase, that knowledge base, or that customer relationship.
Synchronous Execution
Delegation hands off the task, waits for the other Agent to answer, and then returns the reply. The call blocks until the other Agent finishes or the time budget runs out, so there is no status to poll and no handle to track.Who Can Be Delegated To
The eligible targets are the members of the current session. Delegation is always confined to the session and never hands a task to an Agent outside it, even if the allowlist would otherwise permit it. If the target is not a session member, the tool rejects the call and lists the targets that are actually available.Parameters
Boundaries
Delegation happens between full Agents, so it comes with boundaries:Configuration
An Agent configured with an empty array, like
"research" above, can be delegated to but cannot delegate further.