---
slug: "Handoff"
name: "Handoff"
type: "Protocols"
layer: "Society"
ref: "Handoff#1323"
sema_id: "sema:Handoff#mh:SHA-256:1323eea000780c4fc715bcc90b5ea28d6353c780ad561e86aeff723855650ab5"
tags: ["Society","Protocols"]
updated: 2026-11-11
mindscape: "bootstrap"
index_url: https://mindscape.pages.dev/bootstrap/index.json
url: https://mindscape.pages.dev/bootstrap/Handoff/
related: ["Context","Responsibility","Task","Delegate","Agent","State","Endsettle","Successiongift","Endsettle#d716","Successiongift#5f2b"]
---

# Handoff

Transfer control and context between agents

Layer: Society · Category: Protocols

## Mechanism

Transfers control from one [Agent](https://mindscape.pages.dev/bootstrap/Agent.md) to another along with relevant [Context](https://mindscape.pages.dev/bootstrap/Context.md). The sending [Agent](https://mindscape.pages.dev/bootstrap/Agent.md) explicitly yields authority, passing conversation [State](https://mindscape.pages.dev/bootstrap/State.md), [Task](https://mindscape.pages.dev/bootstrap/Task.md) [Context](https://mindscape.pages.dev/bootstrap/Context.md), and any agent-specific instructions. Used in swarm architectures where specialized [Agent](https://mindscape.pages.dev/bootstrap/Agent.md)s handle different aspects of a [Task](https://mindscape.pages.dev/bootstrap/Task.md). It extends [Delegate](https://mindscape.pages.dev/bootstrap/Delegate.md) by transferring full [Responsibility](https://mindscape.pages.dev/bootstrap/Responsibility.md) and authority to the receiving [Agent](https://mindscape.pages.dev/bootstrap/Agent.md).

## Invariants

- [Context](https://mindscape.pages.dev/bootstrap/Context.md) fully transferred
- [Responsibility](https://mindscape.pages.dev/bootstrap/Responsibility.md) atomicity (neither or both hold it briefly, never none)

## Preconditions

- [Agent](https://mindscape.pages.dev/bootstrap/Agent.md) A active
- [Agent](https://mindscape.pages.dev/bootstrap/Agent.md) B ready

## Postconditions

- [Agent](https://mindscape.pages.dev/bootstrap/Agent.md) A released
- [Agent](https://mindscape.pages.dev/bootstrap/Agent.md) B in charge

## Failure modes

- [Context](https://mindscape.pages.dev/bootstrap/Context.md) Loss: Critical information not passed in handoff.
- Authority Ambiguity: Unclear which [Agent](https://mindscape.pages.dev/bootstrap/Agent.md) now owns the [Task](https://mindscape.pages.dev/bootstrap/Task.md).
- Handoff Loops: [Agent](https://mindscape.pages.dev/bootstrap/Agent.md)s keep passing [Task](https://mindscape.pages.dev/bootstrap/Task.md) back and forth.

## Builds on

- [Context](https://mindscape.pages.dev/bootstrap/Context.md) (Infrastructure; Accepts)
- [Responsibility](https://mindscape.pages.dev/bootstrap/Responsibility.md) (Society; Accepts)
- [Task](https://mindscape.pages.dev/bootstrap/Task.md) (Infrastructure; Accepts)
- [Delegate](https://mindscape.pages.dev/bootstrap/Delegate.md) (Society; Composes with)
- [Agent](https://mindscape.pages.dev/bootstrap/Agent.md) (Mind; References)
- [State](https://mindscape.pages.dev/bootstrap/State.md) (Infrastructure; References)

## Used by

- [Endsettle](https://mindscape.pages.dev/bootstrap/Endsettle.md) (Mind; References)
- [Successiongift](https://mindscape.pages.dev/bootstrap/Successiongift.md) (Society; References)

## Identity

- Sema ID: `sema:Handoff#mh:SHA-256:1323eea000780c4fc715bcc90b5ea28d6353c780ad561e86aeff723855650ab5`
- Ref: `Handoff#1323`
- Supersedes:
  - `sema:Handoff#mh:SHA-256:38775e2344d8b78c6ff7385c47b247e0f94767c5dfb08aa6b9b7ef8ec1072d20`
  - `sema:Handoff#mh:SHA-256:648a58c900cb37b9321e4f35a6d06fd1e38d65ee9661f288d23aa567293d476e`
  - `sema:Handoff#mh:SHA-256:4e0fac0fb6328d9aa18ea61e3dc4c7eb01d3ac1b8a6a4705c3e897811f5bd52a`
  - `sema:Handoff#mh:SHA-256:9b60bd153be76279a960e7e17283ba86c9ee41ffb031033aaf800c66a2e336e0`

## Links

- [Pattern page](https://mindscape.pages.dev/bootstrap/Handoff/)
- [View in the interactive graph](https://mindscape.pages.dev/bootstrap/#Handoff)
- [JSON](https://mindscape.pages.dev/bootstrap/Handoff.json)
- [Index of all patterns](https://mindscape.pages.dev/bootstrap/index.json)
