Hi.

It's 4:50 on a Friday. The fix is half done. Claude Code stops. Maybe it says 5-hour limit reached ∙ resets 10pm.

You could open another agent and retype everything the two of you figured out. Or you could type this:

Codex opens, already caught up on the conversation, and picks up where Claude stopped. That's the handoff, one of three.

Claude Code, Codex, Antigravity (agy), OpenCode, Pi Agent. Any of them, either end.

Claude Code hits its five-hour limit in the left terminal pane; in the right pane, catchup fork claude --into codex starts Codex seeded with the session and it continues the task.
← swipe the frame · The handoff. Claude Code hits its five-hour limit, and one command moves the session to Codex.
An agent searches past sessions by keyword with catchup -q, then opens the matching session by id.
← swipe the frame · Find and recap. Days later: search old sessions by keyword, open the one you meant, and pick up where it left off.

Three ways back into a session.

Whatever state you're in, one command gets you back.

Recap

Bring a whole session back, as it was. The full thing, or the tail after the last compaction.

Find

You know the one. List what ran here, or search by keyword; the session you meant opens.

Hand off

Nobody starts over. Same agent with real state, or seed a fresh one with the transcript.

Fair questions.

What actually gets handed over?
The conversation, and only that: your messages and the agent's replies. Tool calls, command output, and reasoning traces get stripped, so the next agent reads what happened, not a log of it.
Do I have to switch agents?
No. The same agent picks up right where it left off: catchup fork resumes through its own native path, real session state and all. Crossing to another agent is there when you want it, catchup fork claude --into codex seeds it with the transcript.
What about that session last week about rate limits?
It's still on disk. catchup claude -q "rate limit" searches by keyword, lists what matches, and opens the exact one you meant.
I don't want to memorize all these flags.
You don't have to. catchup install-skill teaches your agent the command once, and after that you just say "catch up on the last Codex session" in plain words.
Does it merge histories across agents?
No. One agent at a time. It's a handoff, not a blender.

Install it before you need it.

One binary, no config, MIT-licensed. Works on macOS, Linux, and Windows. Everything runs locally: catchup reads agent history on your machine and makes no network or model calls.

On Windows, grab the zip from the latest release. Then, optionally: catchup install-skill so your agents know it exists.

catchup_

Recap it. Find it. Hand it off.