Graveyard
Claude Code and Codex save every conversation to disk. When the terminal an agent was running in goes away (a crash, a reboot, a window you closed), the conversation is still there, just not running. The graveyard lists those.
Click 🪦 in the window's footer, or Session restore in the … menu. Each row says what the conversation was about, where it ran and how long ago. Click one and it resumes in a new tab, in its own directory, where it left off.
Something you closed a minute ago is probably in the bay instead, still running: Ctrl+Shift+Z brings it back.
Technical has what counts as dead and what a row shows.
Dead agents
What's listed#
Every saved conversation that isn't the one any open agent pane would resume:
- Claude Code:
~/.claude/projects/<project>/<id>.jsonl - Codex:
~/.codex/sessions/**/rollout-*.jsonl
Newest first, up to 80 each time it opens. Ids that aren't plain letters, digits, - and _ are left out, since they would be typed into a shell. The graveyard only reads these files; it never changes one.
The panel#
The header reads 🪦 DEAD AGENTS, then how many are Claude and how many Codex, the card-size slider it shares with the agent wall, and <n> recoverable. That count is conversations found here; the same words on the bay count what's held there. Chips filter by project: ALL, then one per directory name. Rows are grouped by project with <n> dead on each group.
A row's title is the conversation's own summary, or failing that its first message, cut to 96 characters; with neither, CLAUDE session. Under it:
~/project · 3h ago · 7f3a91c2 · 412 KB
Directory, age (s, m, h or d, one unit), the first eight characters of the conversation id, and size. With nothing to list: No recoverable agents — every saved session is either live or already gone. Click outside to close.
Resurrect#
Clicking a row, or its RESURRECT ⏎, opens a new tab in the row's directory, in the branch of the left bar you're in, and types claude --resume <id> or codex resume <id>. If the session is already running that conversation somewhere, it isn't started twice.
Harvest#
With the context-delight plugin installed, each row also has ⬇ .cdx, which packs the conversation into a portable file in ~/.local/share/context-delight/.
Sources
- The scan: recover.rs; the panel and resurrect: main.rs.