Resume picker makes intact sessions look deleted when a project has many recent sessions

Status Open
Maintainer reply None cached
Activity 1 comment · opened Aug 19, 2026

Summary

An active session from earlier the same day became effectively undiscoverable in the --resume session picker, to the point that it appeared deleted. The .jsonl file was intact on disk the whole time — this is purely a discoverability/UX failure, but it presents to the user as data loss, which is about the most alarming way a UX bug can present.

Environment

  • Claude Code CLI on macOS (Darwin 24.6.0)
  • A single project directory with ~12 session files, 7 of them touched on the same day (one 24MB)

What happened

  1. User worked in a session on a specific feature (assignment submission logic) — 131 messages, ~390KB, last active mid-day.
  2. Later that day, user tried to get back to it via the resume picker.
  3. The session was not findable: the picker surfaces a limited number of recent entries, and with many same-day sessions in one project, the target session was pushed off / lost in the pile. Its auto-generated title also didn't obviously correspond to the topic the user remembered.
  4. User concluded the conversation was gone and lost significant time. It was eventually recovered only by manually grepping ~/.claude/projects/<project>/*.jsonl for topic keywords and running claude --resume <uuid>.

Why this hurts

Power users accumulate many sessions per project per day (background jobs, parallel worktrees, quick one-offs). Under that load the picker degrades exactly when it's needed most, and "I can't find it" is indistinguishable from "it was deleted."

Suggestions

  • Search/filter in the resume picker — type-to-filter over titles and message content (even just first-user-message) would have solved this instantly.
  • Show session count and an explicit "N more sessions — type to search" affordance instead of silently truncating the list.
  • Better auto-titles (topic-based, refreshed as the session evolves) so a session about "assignment submission" is labeled as such.
  • A claude sessions search <query> (or similar) CLI command that greps the local session store — trivial to implement, huge recovery value.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗