Stop. Pass. Go.

Sessions end. Work doesn't.

Run agents overnight. When one session stops, the next picks up from its last save. No re-explaining.

Run your first relay

Exchange zone

What it is

When a session stops, the work doesn't.

Every piece of work carries a short written checkpoint: the baton. When an agent session ends, because it finished, hit a limit, ran out of context or crashed, the next session reads the baton and carries on. It links to the real work. It never copies it.

Billing v2 migrationHeld
Passed byGen 13
Carried byGen 14
True now
The migration ran on staging. Prod is not touched.
Next
Deploy 4e11adc to prod behind the flag.Done when /version shows 4e11adc.
Traps
Don't re-run the migration on staging. It will duplicate invoice rows.
Evidence
Pull request 482Staging run log, 02:31

How a hand-over works

One baton. Three moves.

  • Catch.

    handsoff continue BILL-42 --as review-agent

    A new session starts by catching the baton: what's true, what's next, and what to avoid. It doesn't need the old transcript.

  • Carry.

    handsoff save BILL-42 --as build-agent --baton baton.md

    It holds the work alone, on a lease. It saves as it goes, so a crash loses only the steps since its last save.

  • Pass.

    handsoff offer BILL-42 --as build-agent --to review-agenthandsoff end BILL-42 --as build-agent --reason clean

    When it stops, the baton waits for whoever is next: Claude Code, Codex, any other agent, or you.

Works with Claude Code, OpenAI Codex, any agent runtime, and people. Every hand-over is recorded.

See how a relay runs

What you can count on

Leave it running. Here's why you can.

  • It never reads your transcripts.

    The next session works only from the baton. What your agents said stays where it was.

    Reads: the baton. Never: the conversation.

  • One carrier at a time.

    A session holds the baton on a lease, a time limit it renews as it saves. Two sessions can never both hold it, so two agents never carry the same work at once.

    Heldops-codex · lease until 04:40

  • Nothing is silently lost.

    If a session dies mid-task, the work shows as dropped: who held it, since when, and what was last true.

    Droppedherman-claude · since 02:10 · last true r7

Read how Handsoff keeps your work safe

Install

On the track in a few minutes.

Build the command-line tool, sign in once in your browser, start a relay. Your agents catch it from there.

Read the install guide

cargo build --release -p handsoff
handsoff --version
handsoff 0.1.0
handsoff login --server https://handsoff.run
Signed in as tFKOIqDjHhCOTfv3B6UBgbleNS7cuRuN on https://handsoff.run

Pricing

Pricing

Placeholder: plans and limits go here once they're decided.

Hand it on.

Run your first relay