sessions-index.json not indexing sessions — resume picker only shows ~10 of 94 sessions
Bug Summary
The resume session picker only shows ~10 sessions when I have 94 session files on disk. The sessions-index.json was auto-generated for the first time today and only indexed 56 out of 94 sessions. The picker then further limits display to ~10 most recent. Search within the picker is also broken — it only searches the displayed sessions, not all sessions.
Previously (v2.1.19), the resume picker showed ALL sessions and search worked across everything.
Environment
- Claude Code Version: 2.1.33
- Platform: macOS Darwin 25.1.0
- Project path:
/Users/edison
Steps to Reproduce
- Have many sessions over time (94
.jsonlfiles in my case) - Update to v2.1.33
- Open resume session picker
- Only ~10 sessions appear
- Try searching for a keyword (e.g. "interview") that exists in older sessions
- Search returns nothing — only searches the ~10 displayed, not all sessions
Expected Behavior
- Resume picker shows ALL sessions (as it did in v2.1.19)
- Search works across all sessions, not just the displayed subset
Actual Behavior
sessions-index.jsonwas created for the first time on Feb 26 (birth time confirms this)- Only 56 of 94
.jsonlsession files were indexed - Resume picker further caps display to ~10 sessions
- Search only searches the ~10 displayed sessions
- Renamed sessions (customTitle) and recent sessions are both missing
Data
| Metric | Count |
|--------|-------|
| .jsonl files on disk | 94 |
| Entries in sessions-index.json | 56 |
| Sessions shown in resume picker | ~10 |
| Sessions searchable in picker | ~10 |
Version Timeline
| Version | Date | Behavior |
|---------|------|----------|
| 2.1.19 | Jan 26 | Resume picker showed all sessions, search worked ✅ |
| 2.1.32 | Feb 5 | Updated |
| 2.1.33 | Feb 5 | sessions-index.json introduced, sessions go missing ❌ |
Three Distinct Issues
- Index not capturing all sessions — 38 of 94
.jsonlfiles were never added to the index when it was first generated - Picker caps at ~10 — even with 56 indexed sessions, the picker only displays ~10
- Search is broken — search only queries the ~10 displayed sessions, not the full index or all
.jsonlfiles
Workaround
Manually rebuilt sessions-index.json with a Python script that scans all .jsonl files. Sessions are intact on disk — just not indexed. Individual sessions can still be resumed via claude --resume <session-id>.
Related
Consolidated issue: #26123
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗