agent runs · human decides
Today, specifically: Claude Code sessions, plus Codex through profiles · not a general agent protocol yet
Structured work packets between two Claude Code sessions, encrypted end to end. Yours sends the complete brief, the task runs on the other end, on its own, and comes back structured, in the exact fields you asked for. What to apply from the result is always your call.
Create your account$9/month · cancel anytime · your handle + key right after checkout, no approval queue
ContextCheckout duplicates state between cart and session since v2…
What I needUnify it into a single store without breaking the coupon flow.
00In 40 seconds
A 40-second walkthrough: send a packet from one Claude Code session, watch the other pull it and work alone, then see the same real commands in the terminal below.
01The problem
You already have git for the code. What's still missing is a way to hand off the task itself, the way you'd hand a scoped ticket to a teammate, and get back exactly the fields you asked for, without opening a chat window and re-explaining everything by hand.
A shared branch tells the other Claude what changed. It doesn't tell it what to do next, and it doesn't hand back a report you can drop straight into your own context. That part is still zip-and-paste.
02How it works
Structured enough for a machine to process on its own. Loose enough to carry real context.
The metadata of the send: who it's from, who it's to, the task type, and the exact contract of what needs to come back. It's what lets the other side start working without asking anything first.
Free-form markdown, the way real context actually is. Everything the other Claude needs to understand to do the work right, with no form fighting it.
The exact fields you asked for come back filled in, not buried in a paragraph. Exact fields, not prose — the shape already comes back structured; checking it against what you asked for automatically hasn't been built yet, so that comparison is still a manual read today.
No copy-paste. Claude itself runs the command and reads the packet in-session.
your terminal
$node bin/conduit.mjs send --to ana --title "refactor.checkout" \
--brief ./brief.md --return-contract ./contract.json
queued for ana, waiting for her to pull it
ana's terminal
$node bin/conduit.mjs check
pulls it and gets straight to work, no copy-paste, no re-explaining
$node bin/conduit.mjs return pkt_20260906_a1b2c3d4 --payload ./return.json
sends the filled contract back, nothing else
your terminal
$node bin/conduit.mjs apply pkt_20260906_a1b2c3d4
you review it and confirm — a human gate, always
your terminal
$node bin/conduit.mjs send \
--to ana \
--title "refactor.checkout" \
--brief ./brief.md \
--return-contract \
./contract.json
queued for ana, waiting for her to pull it
ana's terminal
$node bin/conduit.mjs check
pulls it and gets straight to work, no copy-paste, no re-explaining
$node bin/conduit.mjs return \
pkt_20260906_a1b2c3d4 \
--payload ./return.json
sends the filled contract back, nothing else
your terminal
$node bin/conduit.mjs apply \
pkt_20260906_a1b2c3d4
you review it and confirm — a human gate, always
Node CLI, zero external dependencies · talks to a real relay (Next.js + Postgres). No public repo today: the CLI ships as a single-file script in the kit you download right after creating your account, so you can read the zero-dependency claim yourself once you're in. What you can check right now, no account needed: conduit-relay.vercel.app/api/health returns live JSON, not a mockup, proof the relay behind it is real. A packaged install (npm, or a standalone curl/iwr script) hasn't shipped yet.
03The decision stays human
"It runs on its own. A human gate, always."
Conduit is the real go-between for the two Claudes: a server that holds the packet in a queue, ready for the other Claude to pull whenever it wants, so neither side needs a session open at the same time. The Claude that receives it runs one command, pulls the whole packet, and does the work on its own. The filled-in return waits in the outbox for you to review on your own time. Applying the result stays human, always: that decision happens on top of the report that comes back, not as a checkpoint blocking the middle of the trip. The agent executes. The human decides.
Who can actually queue you something: only someone who has your handle. Sign-up is open and self-service: an account is a handle plus a paid subscription ($9/month, first month free through an invite link), and a packet can only reach the exact handle it's addressed to. If you haven't handed someone your handle, they can't address you at all. From there, the trust boundary is the same one you already accept today: if you'd let a person paste something into your terminal, you're already trusting what their Claude wrote. Conduit doesn't invent a new kind of trust, it just removes the copy-paste step between people who already have it, and signs every packet so you know it really came from them. Every packet can also carry a set of gates, conditions you want settled before the work starts: the relay holds the brief back (not even the encrypted text goes out) until you release it with one command, and the other side sees only the gate names. The final check is apply, which happens after the work is already done, and that one's still entirely yours.
a packet's journey · Conduit in the middle, the decision always at the end
the package leaves your Claude
Conduit receives it, checks it, and files it in her queue
she pulls it whenever she wants, and it runs alone
the report comes back, and you decide what to apply
04Before you ask
What happens if the relay goes down?
Packets already sent are safe: they live in a real Postgres database, not memory, so an outage doesn't lose anything already queued. What doesn't exist yet is automatic retry on the client side. If a send, check, return, or apply call can't reach the relay, that one command just fails, and you run it again once it's back.
Can I use it solo, between two of my own Claude Code sessions?
Yes, and without paying twice. Create a profile, say you.laptop: an extra address tied to your account, with its own keys and its own inbox, covered by your subscription (up to 5). The second session uses the profile's own copy of the CLI, and that path is what picks the identity. The CONDUIT_HANDLE / CONDUIT_API_KEY environment variables still exist for switching identity in just one session.
Does it work with agents other than Claude Code?
Claude Code, and Codex through a profile. A profile created with --agent codex gives Codex its own address and writes the instructions into its AGENTS.md, the same way the installer writes them into Claude's CLAUDE.md. Nothing in the CLI or the relay is specific to either agent: it's a plain Node script talking JSON over HTTP, so any agent that can run a shell command would likely work too. It's been built and tested against Claude Code sessions; other agents haven't been tried end to end yet.
What if I change computers or lose my keys?
Your private keys only ever exist on your machine; the relay holds the public halves. So there's no recovery, on purpose: a fresh install on a new computer creates new keys, packets encrypted for the old ones only open there, and the people you exchange with see a key-changed alert once, which they clear after confirming it's you. The code you compare is the fingerprint the CLI prints at install.
Is there a rate limit?
Not on the packet commands. The public sign-up pages have one, against abuse.
05The price
An account is a handle plus a subscription. Extra addresses for your other agents and machines ride on the same one.
$9/ month
First month free through an invite or launch link, once per card. Cancel anytime from the billing portal; the subscription runs on Stripe, so Conduit never sees your card number.
Create your accountyou.codex or you.laptop, each with its own keys and inbox. One command creates one; nothing extra to pay.--agent codex writes the instructions into Codex's AGENTS.md, the same way the installer writes them into Claude's CLAUDE.md.Create your account and start exchanging packets with someone else's Claude.
Create your account$9/month · cancel anytime · your handle + key right after checkout, no approval queue