H-19Agent Handoffs

/harnesses/agent-handoffs

One agent transfers control of the conversation, with whatever history it chooses to pass, to another agent that takes over from there.

Step-by-step walkthrough2 variants · 14 steps

Handoff

  1. A request arrives at the front door: a triage agent.
  2. Triage classifies it. It routes; it does not try to solve.
  3. It decides what history travels with the handoff — often a filtered slice rather than the whole transcript.
  4. Control transfers. The billing agent now owns the conversation, carrying the slice.
  5. The specialist talks to the user itself. Nothing relays its replies.
  6. The slice is all the specialist knows. Drop the account ID and the user gets asked for it twice.
  7. One owner at a time, no relay: each turn costs one agent, not a supervisor plus a worker.

Agent as tool

  1. Same request, different shape: it goes to a supervisor.
  2. The supervisor calls the billing agent with a scoped task, like any other tool.
  3. The specialist works in its own context and returns a result. Control comes back.
  4. Need a second specialist? Another call. The supervisor can combine several.
  5. The supervisor writes every reply itself.
  6. Every delegated turn pays for two agents, and the supervisor’s context grows with each result it relays.
  7. One owner, one voice, one place to enforce policy — which is what a handoff gives up to save the hops.
Key insight

A handoff moves ownership; calling a subagent as a tool only borrows its work. Hand off when the specialist should talk to the user itself; call it as a tool when one agent must keep the voice, the policy and the final say.

Failure mode

A thin slice. The receiving agent knows only what was packed for it, so a dropped fact means re-asking the user, or quietly guessing.

Further reading

Elsewhere in the atlas