# What Does the Claude Agent-Handoff Plugin Do? A 3-Stage Workflow Explained

> Discover the Claude agent-handoff plugin's plan-execute-verify workflow. Learn how it persists AI coding agent state to disk, preventing context loss for seamless task resumption.

- Repository: [Anthropic/claude-plugins-community](https://github.com/anthropics/claude-plugins-community)
- Tags: how-to-guide
- Published: 2026-09-09

---

**The agent-handoff plugin enforces a strict plan‑execute‑verify workflow for AI coding agents, persisting task state to disk so that downstream agents can resume work without context loss.**

The **agent-handoff** plugin, catalogued in the `anthropics/claude-plugins-community` repository, solves the reliability problem of multi-agent coding sessions by formalizing a rigorous handoff protocol. Unlike standard agent loops that transition directly from planning to execution without oversight, this plugin mandates explicit verification and maintains a durable audit trail in local JSON files.

## The Three-Stage Workflow Architecture

The plugin divides every coding task into three distinct, sequential phases designed to prevent errors and reduce token waste.

### Plan Stage

During the **plan** phase, the agent generates a detailed specification for the task, outlining required inputs, expected outputs, and discrete implementation steps. This plan is serialized and stored as JSON, establishing an immutable contract that subsequent stages must fulfill.

### Execute Stage

In the **execute** phase, the agent carries out the plan, performing code generation, file edits, or command invocations. All actions are logged to the persisted state file, creating a transparent record of what was modified and when.

### Verify Stage

The final **verify** phase validates execution results against the original plan. The plugin runs test suites, linting rules, or custom validation scripts to ensure no regressions were introduced. If verification fails, the plugin aborts further execution and surfaces discrepancies, prompting manual correction.

## Disk-Backed State and Cross-Context Continuity

According to the plugin metadata in [`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json) (lines 529‑531), the handoff state is written to `.claude/handoff/<task-id>.json` on local disk. This persistence mechanism enables **cross-context continuity**: a session can terminate after the execute phase, and a new agent—potentially on a different machine—can later resume the workflow by reading the stored plan, logs, and verification status.

The state file contains:
- The original plan JSON
- Execution logs and timestamps
- Verification results and test outputs

Because the data lives in the repository’s `.claude/handoff/` directory, it shares the same version control context as the codebase itself, ensuring that handoffs remain synchronized with the code state.

## Command Reference and Usage Examples

When installed in Claude Code, the plugin exposes three primary slash commands that map to the workflow stages.

```yaml

# 1️⃣ Create a handoff task (Plan)

/agent-handoff create \
  --name "Add authentication middleware" \
  --plan-file "./plans/auth-middleware.yaml"

# 2️⃣ Execute the plan (Execution)

/agent-handoff execute \
  --task-id "a1b2c3d4" \
  --run-id "run-01"

# 3️⃣ Verify the outcome (Verification)

/agent-handoff verify \
  --task-id "a1b2c3d4" \
  --tests "./tests/auth-middleware.test.js"

```

The `create` command initializes the task and returns a unique `task-id`. The `execute` command processes the plan and updates the JSON state file. Finally, `verify` runs the specified test suite; upon passing, the handoff is marked complete, while failures trigger safety guards that halt the pipeline.

## Technical Implementation and Source Code

The upstream implementation resides at `https://github.com/WillowRyu/agent-handoff.git`, which contains the Python-based CLI wrappers, state management utilities, and verification hooks. The marketplace entry in `anthropics/claude-plugins-community` points to this repository, providing the descriptive metadata that defines the plugin’s strict handoff semantics.

Key technical features include:
- **Verification hooks**: Configuration fields in [`handoff.yaml`](https://github.com/anthropics/claude-plugins-community/blob/main/handoff.yaml) allow users to inject custom validation scripts (e.g., `pytest`, `eslint`) that the plugin invokes during the verify phase.
- **Safety guards**: Atomic state updates ensure that partial executions cannot be confused with complete ones; if the verify phase detects drift between the plan and the executed code, the task state remains "incomplete" and requires user intervention.
- **Resume capability**: The CLI checks for existing state files before starting a new run, automatically offering to resume from the last completed stage.

## Why Strict Handoffs Reduce Errors

By decoupling planning, execution, and verification into discrete, inspectable stages, the agent-handoff plugin eliminates the "jump straight to execution" anti-pattern that often leads to hallucinated changes and wasted tokens. The disk-backed audit trail provides forensic clarity: developers can inspect exactly what was intended (plan), what was done (execution logs), and how it was validated (verify results) before merging any changes.

## Summary

- **Three-stage workflow**: Plan, Execute, and Verify phases enforce a clear contract between agent actions and intended outcomes.
- **Disk persistence**: State files in `.claude/handoff/<task-id>.json` enable workflow resumption across sessions and machines.
- **Verification hooks**: Configurable test and lint integration ensures code quality gates are met before handoff completion.
- **Error reduction**: Explicit verification steps and safety guards prevent partial or incorrect executions from propagating downstream.

## Frequently Asked Questions

### What repository hosts the agent-handoff plugin source code?

The canonical implementation lives at `WillowRyu/agent-handoff`, while the marketplace entry and metadata reside in `anthropics/claude-plugins-community` under [`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json) (lines 529‑531).

### How does the agent-handoff plugin persist state across sessions?

The plugin writes handoff data—including the plan JSON, execution logs, and verification results—to `.claude/handoff/<task-id>.json` on local disk. This allows any subsequent agent or session to read the file and resume from the exact stage where the previous agent stopped.

### Can verification logic be customized in the agent-handoff plugin?

Yes. Users can configure verification hooks via the plugin’s configuration schema, specifying test commands (e.g., [`./run-tests.sh`](https://github.com/anthropics/claude-plugins-community/blob/main/./run-tests.sh)) or static analysis tools (e.g., `pylint`, `tsc`) that the plugin executes during the verify phase to validate execution results.

### What happens if verification fails during the handoff process?

If the verify phase detects discrepancies between the plan and the executed code—or if configured tests fail—the plugin aborts further execution, surfaces the specific failure details, and leaves the task state marked as incomplete. The user must then amend the plan or fix the code before retrying verification.