/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
- Use Claude Code extensively over time (~160+ sessions)
- Run
/resume— only a subset of sessions appear - Compare actual
.jsonlfiles on disk vs entries insessions-index.json
Evidence
In my case:
- 162
.jsonlsession 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
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗