Post-crash Claude Code session recovery TUI
Project description
resume-resume
New free tool we're dropping.
| Resume | Find old programming sessions in plain English and pick up where you left off. |
| Dirty Repos | See every repo with uncommitted changes across your entire machine — your standing to-do list. Scored by file count and recency. |
| Crash Recovery | boot_up finds interrupted sessions AND scans all repos for dirty git state. Ready-to-paste resume commands. |
| Prioritize | Auto-ranks sessions and repos by urgency — dirty files don't age out, recent active work surfaces first. |
| Speed | Parallelized BM25 search across gigabytes of past chats in seconds. Parallel git status scans across 50+ repos. |
| Cost Savings | Uses Haiku to summarize past context once, then caches permanently — searching thousands of sessions costs nothing after first run. |
| Merge | Merge multiple old chats together, pulling context across sessions into a single conversation. |
MCP Server
Add it to Claude Code and every session on your machine can search, read, and merge your full session history — in plain English.
pip install resume-resume
claude mcp add resume-resume -- resume-resume-mcp
Or manually in your MCP config:
{
"mcpServers": {
"resume-resume": {
"command": "resume-resume-mcp"
}
}
}
We built Eidos, a multi-agent AI system. In our benchmark, Eidos outperformed Claude Opus 4.6 by 3.6x in both accuracy and speed on complex tasks with 15+ reasoning chains. Below, we use Claude Resume to pick up where we left off across multiple sessions.
Finding the benchmark where Eidos beat Claude Opus 4.6
"use resume-resume to find the eidos test where we beat claude"
Searching for a past session in plain English
"use resume-resume to find the latest chats about eidos philosophy docs"
Merging multiple past sessions into this chat
"use claude resume to merge march 14th conversations and Eidos v5 Pipeline Telemetry convo from march 11th into this chat"
Two sessions — one about eidos-philosophy doc changes (Mar 14) and one with a full 28-task strategic plan (Mar 11) — merged into the current conversation with a single command.
MCP Tools
| Tool | What it does |
|---|---|
boot_up(hours) |
Crash recovery — finds interrupted sessions + scans all repos for dirty git state. Scores by urgency (session recency + dirty file count + dirty file recency). Includes ready-to-paste resume_cmd for each result. |
dirty_repos() |
Standing inventory of every repo with uncommitted changes. No time window — only shrinks by committing. Sorted by urgency score. |
search_sessions(query) |
Full-text search across 5,000+ sessions in ~3s, ranked by BM25 |
recent_sessions(hours) |
List recently active sessions |
read_session(id, keyword) |
Read actual messages from a session, with optional keyword filter |
session_summary(id) |
AI summary — cached instantly, generated in ~15s if not |
merge_context(id, mode) |
Import context from another session (summary, messages, or hybrid) |
session_timeline(id) |
Structured milestone timeline — file edits, commits, instructions |
session_thread(id) |
Follow continuation links across a multi-session thread |
resume_in_terminal(id) |
Open a session in a new terminal window (iTerm2 or Terminal.app) |
session_insights(section) |
Deep analytics across all sessions — patterns, personality, predictions |
session_xray(id) |
Single-session breakdown — duration, tokens, tool counts, branches |
Quick Resume — Paste & Go
claude --resume <id> fails if you're in the wrong directory. cr fixes that — paste any claude command and it auto-discovers the correct project directory, ensures the right flags are on, and launches.
cr claude --resume ddf7fc98-6c93-40c8-9444-503d8a716dbf
cr claude --resume ddf7fc98-6c93-40c8-9444-503d8a716dbf --model opus --chrome
cr ddf7fc98-6c93-40c8-9444-503d8a716dbf
What it does:
- Parses the session ID out of whatever you pasted
- Searches
~/.claude/projects/*/to find which project owns that session - Resolves the encoded directory name back to a real filesystem path
- Adds
--dangerously-skip-permissionsand--enable-auto-modeif not already present - Pops a macOS dialog showing the session, resolved cwd, and full command (proof it worked — visible outside the TUI)
cds to the correct directory andexecs into Claude
No more "No conversation found" errors from being in the wrong folder.
TUI
For when your machine died and you just need to get back to work.
pip install resume-resume
resume-resume # last 4 hours
cr 24 # last 24 hours
cr --all # everything
| Key | Action |
|---|---|
↑ ↓ |
Navigate sessions |
r |
Resume directly — exec into the session |
Enter |
Copy resume command to clipboard |
Space |
Select for multi-resume (opens all in iTerm tabs) |
x |
Export context briefing as markdown |
/ |
Search across all session content |
D |
Deep dive summary |
p |
Analyze prompting patterns |
b |
Toggle automated/bot sessions |
Requires Python 3.11+ and Claude Code.
How It Works
- Scans
~/.claude/projects/for JSONL session files - Scans all project directories for dirty git state (parallel
git status --porcelain) - Scores sessions by urgency: session recency (2h half-life) + repo dirty urgency (file count + dirty file recency)
- Dirty repos bypass age filters — uncommitted work doesn't age out
- Summarizes via
claude -pwith Haiku, cached permanently after first run - Classifies sessions as human or automated using a gradient boosting model trained on 3,800 sessions — bot sessions hidden by default
- Surfaces bookmark data (lifecycle badges, next actions, blockers) when present
- Reports negative space — how many repos were scanned, how many were clean vs dirty
Run /bookmark inside any Claude Code session to capture lifecycle state (done, paused, blocked, handoff) before closing. An auto-bookmark Stop hook captures minimal state when you don't.
Related
- claude-session-commons — Shared session parsing, caching, and classification used by this repo and others
- resume-resume-duet — Web UI companion with session browser and
resume-resume://URL scheme handler
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file resume_resume-0.5.5.tar.gz.
File metadata
- Download URL: resume_resume-0.5.5.tar.gz
- Upload date:
- Size: 160.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0372edf6afcbf38150fc5e3d0c198f8421a975c9a8add0d3be40f709700cacd
|
|
| MD5 |
a3a99a882d36f951cc03c3ff8387fd1e
|
|
| BLAKE2b-256 |
379613229bf5816e63f58b10af2cf8e6d6e2c65855f9251a3bfd415d4a753b23
|
Provenance
The following attestation bundles were made for resume_resume-0.5.5.tar.gz:
Publisher:
publish.yml on eidos-agi/resume-resume
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
resume_resume-0.5.5.tar.gz -
Subject digest:
b0372edf6afcbf38150fc5e3d0c198f8421a975c9a8add0d3be40f709700cacd - Sigstore transparency entry: 1330400125
- Sigstore integration time:
-
Permalink:
eidos-agi/resume-resume@a264ca968c5dcd1f0c1ac39b16d256ee5957dd25 -
Branch / Tag:
refs/tags/v0.5.5 - Owner: https://github.com/eidos-agi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a264ca968c5dcd1f0c1ac39b16d256ee5957dd25 -
Trigger Event:
push
-
Statement type:
File details
Details for the file resume_resume-0.5.5-py3-none-any.whl.
File metadata
- Download URL: resume_resume-0.5.5-py3-none-any.whl
- Upload date:
- Size: 150.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65fee188c41a65a44fdc94dc1ae10e23e060c30c53e7f25e1f1f99d8c89d69d2
|
|
| MD5 |
ae50058cb65815ff7e579293c43247cf
|
|
| BLAKE2b-256 |
ea88aad7ee25ed22ef53b7fce73be2ad7ee402ced8848f8530d3c7e151362ede
|
Provenance
The following attestation bundles were made for resume_resume-0.5.5-py3-none-any.whl:
Publisher:
publish.yml on eidos-agi/resume-resume
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
resume_resume-0.5.5-py3-none-any.whl -
Subject digest:
65fee188c41a65a44fdc94dc1ae10e23e060c30c53e7f25e1f1f99d8c89d69d2 - Sigstore transparency entry: 1330400220
- Sigstore integration time:
-
Permalink:
eidos-agi/resume-resume@a264ca968c5dcd1f0c1ac39b16d256ee5957dd25 -
Branch / Tag:
refs/tags/v0.5.5 - Owner: https://github.com/eidos-agi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a264ca968c5dcd1f0c1ac39b16d256ee5957dd25 -
Trigger Event:
push
-
Statement type: