Open-source CLI · Go · MIT

Let your next coding agent catch itself up.

catchup is a small CLI your AI coding agents can run to read prior Claude Code, Codex, OpenCode, and Pi Agent sessions and print clean, handoff-ready Markdown. Agents continue work without you re-explaining what happened.

View on GitHub →
Fig. 1 — Claude Code hits its limit; the next agent runs catchup and keeps going no re-briefing
~/.claude/projects/app/a1b2.jsonl
{"type":"tool_use","name":
  "Read","input":{"file":"…"}}
{"type":"tool_result","content":
  "1.2kb returned, truncated…"}
{"type":"reasoning","tokens":418,
  "text":"Let me check the …"}
{"type":"tool_use","name":"Bash",
  "input":{"cmd":"go test ./…"}}
{"type":"tool_result","exit":0}
{"role":"assistant","content":[…]}
# 1,847 lines of noise
$ catchup claude
## Session · fix flaky auth test
claude · 2h ago · 8 turns

**You:** The auth test fails 1 in
5 runs in CI. Find the flake?

**Assistant:** Token-refresh race
in refreshToken() — guarding it
with a sync.Mutex.
What it does
I

Built for agent handoff

Your next agent runs catchup claude, catchup codex, catchup opencode, or catchup pi-agent to recover the relevant conversation.

II

Just the conversation

User and assistant messages only. Tool calls, reasoning traces, and token noise are stripped — what's left is the thread you actually need.

III

Readable by humans

Browsing manually? Start with catchup codex --list, then open the exact session you want.

Supported agents
Claude Code
$ catchup claude --list
Codex
$ catchup codex --list
OpenCode
$ catchup opencode --list
Pi Agent
$ catchup pi-agent --list

Agents can run the bare command for handoff context. Humans can add --list to browse first. Read-only: catchup never touches your sessions.

Hand the next agent a clean slate.

One go install and you're set. MIT-licensed, no config.

Star on GitHub Read the reference →