
Agent Handoff
A single agent doing one job never hands off. The moment work spans specialists, a triage agent, a coding agent, a review agent, something has to carry the work from one to the next. That transfer is the agent handoff. Done well, the next agent picks up with full context and keeps moving. Done badly, context drops at the boundary and the receiving agent guesses or starts over.
Overview
Handoff is the edge between agents, the point where one finishes and another begins. It sits underneath task decomposition and orchestration: decomposition splits a goal into subtasks, orchestration decides which agent runs when, and the handoff is how the output and context actually move across each join. Without it, a multi-agent system is a set of strangers, each re-reading the original request because nothing was passed forward.
The word comes from support and incident response, escalate to a specialist and pass the case file, and it became a named primitive in multi-agent frameworks as teams moved from one agent doing everything to many specialized agents. The design question is always the same: what crosses the boundary, and how. Forwarding the whole conversation is simple but grows expensive with each hop. Carrying a typed packet of just the outputs and fields that matter is leaner and more reliable. In Overcut, handoffs are usually event-mediated rather than direct calls: an agent finishes and emits an event carrying its structured output, and the next workflow picks the work up, with the shared state living in the control plane and every handoff written to the audit trail.
How it works
A handoff carries work across the boundary between two agents. Four properties decide whether it holds:
One agent finishes its part
A handoff happens at a boundary between specialized agents. A triage agent classifies a bug, a planning agent drafts an approach, a coding agent writes the change. When one agent's job ends and the next begins, the work has to cross over rather than start again from the raw request.
Context crosses as structured state
The receiving agent needs more than "your turn." It needs the outputs so far, the task state, and the relevant context. Passing the whole transcript is simple but costly; a typed packet of just the fields that matter is leaner and what holds up as the number of handoffs grows.
Control moves, it does not return
A handoff transfers control to the next agent, unlike calling a sub-agent as a tool and getting a result back. The first agent steps out, the second takes over. That is what lets a chain of specialists run without one agent babysitting the whole flow.
The boundary is where work is lost
Most multi-agent failures happen at the handoff: a field that never crossed, stale context, an output the next agent cannot parse. Declaring what transfers, and recording each handoff, is what keeps the chain honest.
Example in practice
A bug report lands and a triage agent works it: it classifies the issue, sets severity, and narrows the cause to a function whose API response changed shape. It does not hand the raw ticket thread to the next agent. It emits a structured summary, the suspected cause, the affected files, the severity, and an implementation agent picks that up. Because the context crossed as state, the implementation agent does not re-read the thread or re-derive the cause. It writes the fix, adds a test, and opens a pull request, then hands the PR to a review agent that checks it against the team's standards. Each boundary is a handoff, the work moves forward without a person relaying it, and the audit trail shows exactly what was passed at each step.
What is Agent Handoff?
An agent handoff is the transfer of control, context, task state, and outputs from one agent to another, so the receiving agent continues the work with what it needs instead of starting over.
Comparison: Agent handoff vs. the Agent-as-tool call
An agent-as-tool call borrows a specialist and gets control back; a handoff passes control on; and both replace the manual handoff where a developer re-explains the work to the next tool by hand.
Move work between agents without losing the thread
Overcut passes context, state, and outputs across each boundary as structured state on an event, so the next agent starts ready and every handoff is recorded, no human re-explaining the work.
Get a demoRelated content

Build vs Buy Your SDLC Orchestration Layer: The Legacy Clock Starts at Commit One
Why homegrown AI orchestration becomes legacy infrastructure from the first commit, and why your engineering attention belongs on the product instead.

Agentic SDLC Orchestration vs. Synchronization
Why centralized workflow engines fail AI-driven engineering teams, and how modular SDLC orchestration enables agent autonomy and event-driven agility.

The Plateau at Level Three
Why most AI-native teams stall at level 3 of agentic development, what it takes to climb to level 4, and where the road leads after that.