Skip to main content
A handoff changes which agent executes the current run. The specialist works in the same conversation/run context rather than returning an ordinary tool result to a parent.

Configure a handoff

With specialist already created, add this to the router’s AgentConfig:
Enable prompts.ResolveHandoffs in the router’s instruction provider, usually through prompts.DefaultResolvers(), so the prompt describes the transfer options.

Continue with a specialist

StickyHandoff controls whether subsequent runs entering through the original agent continue with the last specialist. Configure it deliberately and preserve conversation history for continuity. Build the handoff graph before starting durable workers; AddHandoffs updates the stored configuration as well as the local agent. Keep tool authorization consistent across the agents that can own a conversation. Transferring control is not permission to cross a namespace or expand the user’s access.

Choose the right composition

Use a handoff for a support conversation that moves from a general router to a billing specialist. Use an agent tool when a parent asks a specialist a question and then incorporates its answer. Use an explicit workflow when routing must follow application-defined conditions rather than model decisions.