Hand off live sessions, encrypted.
Convoy moves a live AI coding session (messages, tool history, approval state, cwd, repo context) between Claude Code, Codex, Cursor, and Pi through one encrypted ephemeral link. Sessions, not summaries. E2E XChaCha20-Poly1305 encryption, zero-infrastructure Gist backend, or self-hosted Cloudflare Worker with TTL/burn/revoke.
The problem
When you hand off a coding task from Claude Code to Codex, or from a human operator to a fleet of agents, you lose the session context: the messages up to that point, the approval history, the working directory, the half-written test. Summaries are a poor substitute — they're stale the moment the agent reads them. You need the actual live session to move intact from one agent to another.
What Convoy does
Convoy captures a live session (all messages, tool calls, approval state, cwd, repo context snapshot) into an encrypted artifact, generates a compact ephemeral URL with the decryption key in the fragment, and hands it off. The receiving agent — a different Claude Code instance, Codex, Cursor, or Pi — receives the ciphertext, decrypts it locally, and resumes with full context. Same-agent resumption restores byte-for-byte; cross-agent handoff normalizes and synthesizes for the target platform (a 4×4 matrix of adapters).
The architecture is infrastructure-agnostic: use GitHub Gists as the ephemeral backend, or deploy to your own Cloudflare Worker with TTL, burn, and revoke controls. The encryption key never leaves the URL fragment — it's never sent to a server.
What makes it different
- Live sessions, not summaries. The entire session graph moves: all messages, all tool results, approval state, working directory state. The receiving agent resumes in context.
- E2E XChaCha20-Poly1305. The session is encrypted client-side; the backend never sees the plaintext. The key lives only in the URL fragment.
- Zero-infrastructure default. Use public GitHub Gists as the ephemeral backend. No server required; leverage the Gist API for TTL-like behavior.
- Self-hosted option. Deploy the Cloudflare Worker to your own account for full control: TTL enforcement, burn-after-read, revoke by URL, custom backend.
- Cross-agent adapters. A 4×4 matrix of normalizers: Claude Code → Codex, Cursor → Pi, and all combinations, with automatic format translation.
Install
Convoy is a standalone CLI available as prebuilt binaries for macOS and Linux. Download the latest release, add to your PATH, and you're ready:
# Or install from releases:
open https://github.com/ruizrica/convoy/releases/latest