Configurable session limit for /resume picker
Status Closed — not planned
Maintainer reply None cached
Workaround ✓ Mentioned in thread ↓
Activity 6 comments · opened Apr 15, 2026 · closed May 28, 2026
Problem
The /resume picker is hardcoded to display only the 50 most recent sessions. Power users accumulate hundreds of sessions (I have 488 .jsonl files across projects) and cannot access older conversations through the picker UI.
Prior issues
This has been requested multiple times, with all issues closed as duplicate or stale without resolution:
- #35698, #29052, #24777, #24435, #25130, #25729, #23375, #23072, #23933
The limit was previously raised from ~10 to 50, but there's still no way to configure it or paginate beyond it.
Proposed solution
One or more of:
- A configurable
resumeLimitsetting insettings.json - Pagination / "load more" in the picker that actually works beyond the initial batch
- A
--resume-limit NCLI flag
Workaround
Users can bypass the picker with claude --resume <session-id>, but discovering the session ID requires manually browsing .jsonl files on disk.
6 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
All three linked "duplicates" are themselves closed (as duplicates or stale), with no open canonical issue tracking this feature:
There is no open issue for this request to consolidate into. Please keep this one open or reopen one of the earlier issues as the canonical tracker.
Same issue here with 155+ sessions. Since this hasn't been addressed across the many dupes, Claude wrote a byte-level binary patch that uncaps the initial load. Sharing in case it helps others.
The cap:
/resume's initial-load callback calls the loader functions (r68()/$f$($)in 2.1.116) with no count argument, falling back to default parameters that reference a module-level constant —var t68=50. The identifier is renamed by the minifier each version (LH8in 2.1.112,j$8in 2.1.114,t68in 2.1.116), but the structure is stable.The patch: In the native binary (
~/.local/share/claude/versions/<version>), replace every use of that identifier:??<var>)→??1e9)(theUw6fallback)=<var>){→=1e9){(three default-parameter sites in the loader functions)1e9is byte-length-compatible with a 3-char identifier, so no offsets shift. The bundled binary has two duplicate code blocks (at ~118M and ~233M), both get patched.Script (with anchor-based discovery via the
/resume: loading sessions for cwd=log string, so it survives minifier renames across versions):Save as
~/.claude/scripts/patch-picker-limit.py,chmod +x, and wire as aSessionStarthook in~/.claude/settings.jsonso auto-updates get patched one session after they land:Atomic writes via
os.replace()so runningclaudeprocesses aren't disturbed; backups of each original version land in~/.claude/scripts/backups/.A
resumeLimitsetting insettings.jsonwould still be the right fix — +1 from me.Closing for now — inactive for too long. Please open a new issue if this is still relevant.
Reopening request — this issue was auto-closed by a stale bot without developer review.
This has become more urgent with v2.1.113, which switched from
node.exe cli.jsto a compiled SEA binary (claude.exe). The JS source files are no longer shipped, so the workaround of patching the hardcoded=50limit in the minified bundle is no longer possible.Reframed ask: Please expose a configurable session limit for
/resumeviasettings.json, e.g.:The default can stay at 50. This is a one-line change — the limit is already a default parameter in the session-loading functions. Making it configurable would let power users with many sessions adjust it without patching internals (which is no longer feasible post-SEA).
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.