/resume missing sessions: sessions-index.json out of sync with actual session files

Resolved 💬 6 comments Opened Feb 13, 2026 by candh Closed Mar 17, 2026

Bug

/resume doesn't show all past conversations. Sessions exist on disk as .jsonl files but are missing from sessions-index.json, making them invisible to the /resume picker.

Repro

  1. Use Claude Code extensively over time (~160+ sessions)
  2. Run /resume — only a subset of sessions appear
  3. Compare actual .jsonl files on disk vs entries in sessions-index.json

Evidence

In my case:

  • 162 .jsonl session files on disk in the project directory
  • 98 entries in sessions-index.json
  • 64 sessions (~40%) are orphaned — fully intact on disk but invisible to /resume

The missing sessions can still be resumed by passing the UUID directly (claude --resume <uuid>), confirming the data is fine — it's just the index that's stale.

Expected behavior

All sessions should appear in /resume. The index should stay in sync with session files on disk, or /resume should fall back to scanning the directory.

Environment

  • macOS (Darwin 23.6.0)
  • Claude Code v2.1.38

View original on GitHub ↗

This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗