Resume Session picker silently drops conversations
Resolved 💬 3 comments Opened Feb 13, 2026 by skyeSAL Closed Feb 17, 2026
Description
The Resume Session picker (claude -r / Ctrl+A to show all) silently drops certain conversations from the list. The conversation file exists on disk, is valid, is indexed in history.jsonl, and can be resumed directly by ID — but it does not appear in the picker UI, even when searching.
Steps to Reproduce
- Have a long conversation session (~23MB, 1786 lines of valid JSONL)
- End the session, start a new one
- Open the resume picker (
claude -rorclaude --resume) - Press Ctrl+A to show all conversations
- Search for keywords from the missing conversation
Expected Behavior
All valid conversation files should appear in the resume picker.
Actual Behavior
The conversation is missing from the picker entirely. Searching for keywords that exist in the first message does not find it. The picker shows 25 of 136 total sessions, and this one is excluded despite being the 3rd most recent.
Investigation
- The
.jsonlfile is valid (1786 lines, 0 bad JSON lines) - The session has 60 entries in
~/.claude/history.jsonl - File structure (entry types, keys, metadata) is identical to conversations that DO appear
- Same Claude Code version (2.1.41), same
permissionMode, samegitBranch - The
session-envdirectory exists (empty, same as all other sessions) - An older, larger conversation (31MB) from the same project directory DOES appear
- The only minor difference: the missing conversation's first user message entry includes an
imagePasteIdskey that working ones don't have
Workaround
Direct resume by session ID works fine:
claude --resume <session-id>
Environment
- Claude Code version: 2.1.41
- Platform: macOS (Darwin 24.6.0)
- Shell: zsh
- Total sessions in history: 136
- Picker shows: 25 sessions (with Ctrl+A)
🤖 Generated with Claude Code
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗