Skip to main content
This guide is migration-fenced. Its publish and deploy steps use the retired AgentRelease/AgentDeployment API. Use the coordinator shape in Agents; an Agent update now creates the immutable Version automatically. Session launch returns when the CMA Session slice lands.
This guide starts with two compatible, already-published leaf agents. It writes one coordinator Agent, creates one use_agent PermissionAssignment per roster member, publishes the coordinator so the roster freezes, deploys it, and starts one Session.
1

Create the coordinator Agent

Use the same harness, SandboxProfile, Runner pool, lifecycle hooks, and memory mounts as the member releases. The model routing profile may differ.
Save the returned id as COORDINATOR_AGENT and its version as COORDINATOR_RESOURCE_VERSION.
2

Authorize the coordinator

Create a live use_agent PermissionAssignment from the coordinator to every member:
Assign the coordinator its runtime resources:
Finally, authorize the invoking Principal on the coordinator:
3

Publish and freeze the roster

Publication resolves bare member ids and atomically guards every selected AgentRelease:
A successful response identifies the immutable coordinator AgentRelease; save its version as COORDINATOR_RELEASE_NUMBER.
4

Deploy the coordinator

Sessions admit against the deployment, so publish its first revision from the release:
Save the returned id as COORDINATOR_DEPLOYMENT. Publishing the deployment revision also resolves the authored roster into exact member AgentDeploymentRevisions, so every member’s deployment must already exist in this Workspace.
5

Start one coordinator Session

This creates one top-level Session. The coordinator decides which roster members to invoke and Checkfu records their child-thread work under it.

Multiagent coordinators

Roster resolution, publication, and authority boundaries.

Multiagent threads

Persistent child threads, shared files, and lifecycle.