Session resume picker should support configurable limit or pagination
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
The session resume picker (claude --resume / /resume) only displays a limited number of recent sessions. There is no way to browse or search older sessions through the picker — the search filter (/) only operates on the already-loaded subset, not the full session history.
The sessions-index.json file already contains all sessions (hundreds in my case) with rich metadata (summary, first prompt, branch, timestamps), so the data is available — it's just not surfaced in the picker.
The only workaround is to manually parse sessions-index.json, find the session ID, and resume by ID with claude --resume <session-id>.
Proposed Solution
One or more of the following:
- Configurable display limit — Allow setting the number of sessions shown via
settings.jsonor a CLI flag (e.g.,--resume --limit 50) - Pagination or infinite scroll — Let users browse the full session history in the picker
- Full-index search — Make the search filter (
/) search across all indexed sessions, not just the visible subset
Alternative Solutions
- Virtual scrolling — Load session metadata lazily from the index as the user scrolls, keeping memory usage low while exposing the full history
- Do nothing, document the workaround — Document that users can parse
sessions-index.jsonand useclaude --resume <session-id>to access older sessions. This wouldn't fix the UX gap but would at least set correct expectations.
Priority
Medium - Would be very helpful
Feature Category
Interactive mode (TUI)
Use Case Example
A user runs multiple sessions per day and accumulates hundreds of sessions over a few weeks. They want to resume a session from a few days ago to continue working on a feature. They open the resume picker but it only shows recent sessions. The search filter doesn't help because it only searches the visible subset. They have to leave Claude Code, manually grep through sessions-index.json, find the session ID, and then run claude --resume <id>.
With any of the proposed solutions, they could simply scroll further in the picker or search by keyword to find the session directly.
Additional Context
- The
sessions-index.jsonalready stores all the metadata needed (session ID, summary, first prompt, branch, timestamps, message count) — the data layer is there, it's just the picker UI that limits visibility. - Related: #24724 (resume issues with worktrees), #14157 (resume not showing recent sessions)
Environment
- Claude Code: 2.1.38
- OS: macOS 26.2 (Darwin 25.2.0)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗