Skip to main content

Post-crash Claude Code session recovery TUI

Project description

resume-resume

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"

resume-resume eidos benchmark search

Searching for a past session in plain English

"use resume-resume to find the latest chats about eidos philosophy docs"

resume-resume search example

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"

resume-resume merge example

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

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

resume-resume TUI

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

  1. Scans ~/.claude/projects/ for JSONL session files
  2. Scans all project directories for dirty git state (parallel git status --porcelain)
  3. Scores sessions by urgency: session recency (2h half-life) + repo dirty urgency (file count + dirty file recency)
  4. Dirty repos bypass age filters — uncommitted work doesn't age out
  5. Summarizes via claude -p with Haiku, cached permanently after first run
  6. Classifies sessions as human or automated using a gradient boosting model trained on 3,800 sessions — bot sessions hidden by default
  7. Surfaces bookmark data (lifecycle badges, next actions, blockers) when present
  8. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

resume_resume-0.2.0.tar.gz (115.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

resume_resume-0.2.0-py3-none-any.whl (113.1 kB view details)

Uploaded Python 3

File details

Details for the file resume_resume-0.2.0.tar.gz.

File metadata

  • Download URL: resume_resume-0.2.0.tar.gz
  • Upload date:
  • Size: 115.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for resume_resume-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3f7499ee7f274b6349f6c6ba845923be38c033be59d332eb6a7561b82d8d13b1
MD5 d9a77aec71d03be2bfec83d3ed55c55f
BLAKE2b-256 dc4646ed3036c5ef5116082a2703e67b2a0b3c7a4ddecc693066a4ce39a48ff8

See more details on using hashes here.

Provenance

The following attestation bundles were made for resume_resume-0.2.0.tar.gz:

Publisher: publish.yml on eidos-agi/resume-resume

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file resume_resume-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: resume_resume-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 113.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for resume_resume-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cdd0b24436c2273f24c0cffc783eb975bc56417234f600394cef87b6460d60d0
MD5 51ea14f1a0847cf62e1aa9ba35bbf884
BLAKE2b-256 a9f55ad847ca5ef6c22c11aeeabf2af1182ff4f2f8fde1a87d2ae00a7682d919

See more details on using hashes here.

Provenance

The following attestation bundles were made for resume_resume-0.2.0-py3-none-any.whl:

Publisher: publish.yml on eidos-agi/resume-resume

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page