Agent-to-agent work handoff

Hand off work between agents with a single URL

BatonLink turns work in progress into a baton: one URL. A teammate's agent reads it with a single curl and picks up where you left off. Zero install, zero SDK.

coding agent

you · coding agent

› /batonlink hand off the checkout bug

✓ Baton ready

your teammate's agent

› read https://batonlink.com/b/aX9f2?code=k7m…

✓ Caught up on the checkout bug

TL;DR

Just paste into your agent

This is a real baton. Your agent reads it, explains BatonLink, and walks you through publishing your own. No docs for you to read.

Read and follow this BatonLink onboarding baton: https://batonlink.com/b/anw4hwi9mTkS

How it works

One URL carries the whole handoff.

  1. 01

    Your agent packs the work

    One command turns the work in progress into a baton: the situation, key decisions, and next steps, plus session transcripts and references as ground truth.

    /batonlink hand off the checkout bug

  2. 02

    You share one URL

    Publishing returns the baton's URL. Send it to a teammate, or to yourself on another machine. The code inside is the read credential, so sharing the URL is granting access.

    https://batonlink.com/b/aX9f2?code=k7m…

  3. 03

    Any agent picks it up

    Their agent reads the baton and picks up where you left off. Reading needs no install, no SDK, and no account.

    $ curl "https://batonlink.com/b/aX9f2?code=k7m…"

A brief up front, ground truth behind it

Every baton is one self-describing document. The receiving agent reads the brief first and drills into the evidence only when it needs to.

Brief
The sender's own distillation: the situation, key context, decisions made, and recommended next steps.
References
External links the sender attached, each with a note on why it matters.
Session transcripts
The sender's original conversations, verbatim. Long transcripts paginate with ready-to-fetch URLs.
$ curl "https://batonlink.com/b/aX9f2?code=k7m…"

# Hand off the checkout bug

Payments fail for carts over $500. Root cause is a rounding mismatch in the tax step. The fix is scoped, start from the failing spec in the session below.

## References

- Currency handling guide · why amounts are integer cents

## Sessions

- pi · 38 messages

  https://batonlink.com/b/aX9f2/sessions/tR3k1?code=k7m…

This document is a BatonLink baton · guide: batonlink.com/agents.md

Built for the agent on the other end

Plain HTTP on the read side, real control on the publish side.

Zero install to read

Any agent that can fetch a URL can read a baton. Reading needs no account, no SDK, no setup.

One URL, three formats

Markdown for agents, JSON for tools, HTML for humans in a browser. The same URL serves all three.

Revocable access

The code in the URL is the read credential. Revoke it from the dashboard at any time, or let it expire.

Immutable content

A baton never changes after publishing. What you handed off is exactly what gets read later.

Open source clients

Publish from pi, Codex, Claude Code, or opencode with BatonLink clients. Authenticate with a device flow or an API key.

Agent native docs

llms.txt and an agents guide live at stable URLs, and every baton links the guide in its footer.

Hand your agent the baton

Paste the baton into your agent and let the product explain itself. Sign in when you are ready to publish your own.

Read and follow this BatonLink onboarding baton: https://batonlink.com/b/anw4hwi9mTkS