[2.1.123] `--resume` picker shows "No conversations found" when valid sessions exist; direct UUID resume works
Summary
In Claude Code 2.1.123, claude --resume (interactive picker) reports
"No conversations found to resume" when run from a project directory
that contains valid session JSONLs in the matching encoded project
directory. Resuming the same sessions by UUID
(claude --resume <uuid>) works fine.
Reproducer
# A project directory with prior sessions
$ pwd
/path/to/some/project
# Sessions exist on disk in the encoded project dir
$ ls ~/.claude/projects/-path-to-some-project/*.jsonl | wc -l
12
# Picker — reports nothing found
$ claude --resume
No conversations found to resume.
Press Ctrl+C to exit and start a new conversation.
# Direct UUID resume — works
$ claude --resume <uuid-from-the-jsonl-filenames>
# (resumes correctly)
Verified
- All JSONLs have a
cwdfield whose value matchespwdexactly. - Encoded project directory name matches the cwd
(/ -> -, e.g. /path/to/x -> -path-to-x).
- Sessions span versions ~2.1.52 through 2.1.122; the running binary
is 2.1.123.
- Direct-UUID resume succeeds for the same files the picker can't
surface.
claude --continueshows the same "No conversations found" message.- Active sessions show as
status: busyin~/.claude/sessions/<pid>.json,
but the project dir contains plenty of non-busy historical sessions
that should be resumable.
Environment
- Claude Code: 2.1.123
- Platform: macOS (Darwin 25.3.0)
- Shell: zsh / bash (reproducible in both)
Possible cause
The picker's lookup appears to either (a) search a different path than~/.claude/projects/<encoded-cwd>/, (b) apply a filter that excludes
all historical sessions, or (c) use different cwd-encoding rules
in 2.1.123. Direct-UUID code path is unaffected.
Workaround
# Resume most recent session in current project
claude --resume "$(ls -t ~/.claude/projects/$(pwd | sed 's|/|-|g')/*.jsonl \
| head -1 | xargs basename | sed 's/\.jsonl$//')"This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗