Delegation
When one agent needs a specialist, it uses agent-send. The exchange is internal until the coordinator replies to you.
PM → specialist pattern
You → main: "Draft a PR description and ask backend to open the PR" main → writer: draft description main → backend-bot: create_pr with that text main → You: "PR #42 is open"
Each target agent runs a full turn with its own persona, skills, and memory. It does not see your full chat history, so the coordinator must pass enough context in the delegation message.
Allow lists
agent-send is opt-in per agent. You configure which other agent IDs or titles each agent may invoke. Dashed arrows in the Team tree view show these permissions.
Goals and subgoals
When a Goal is active, delegations can create assigned subgoals with owner, due date, expected output, status. The assignee sees the task in mission context; you track progress on the goal tree.
How delegation is handled
| Case | Handling |
|---|---|
| Conversation memory | Each target agent has continuity across repeated calls, so follow-up delegations can build on earlier internal conversations. |
| Auto-routing | A coordinator can use auto selection when linked teammates have clear skill matches; Pasture chooses among allowed agents. |
| Blocked target | If an agent is not in the allow list, the call is rejected and the coordinator should explain the boundary instead of retrying. |
| Loop prevention | Delegations cannot message themselves or agents already in the current chain, and depth/per-turn limits cap runaway loops. |
| Group chats | agent-send is disabled in groups so shared conversations do not trigger hidden multi-agent work. |
Good delegation prompts
The target agent does not see the full user conversation. Main should pass the goal, relevant constraints, files or links, expected output, and deadline. A weak delegation says "look into this"; a strong one says what to inspect and what answer format is needed.