[BUG] --from-pr shows "No conversations found" for existing linked sessions: PR filter only applies to loadedpicker pages
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
claude --from-pr <N> reports "No conversations found in this project" even though a session linked toPR #N exists on disk (its transcript under ~/.claude/projects/<project>/ contains the pr-link entry with
"prNumber":<N>).
Cause, from observing picker behavior: the session picker loads/enriches sessions in pages (~50 per page), most-recently-modified first, and the --from-pr filter is applied only to pages already loaded. Additional pages
load on scroll — but with zero matching rows visible there is nothing to scroll, so later pages never load. Any PR whose linked session is older than the most recent ~50 sessions is permanently unfindable via --from-pr, and
the picker presents this as if the conversation does not exist.
A second, related problem: while the picker is still enriching (large transcript store), it displays "No conversations found in this project" instead of a loading state, so even a findable session can look gone if the user quits early.
What Should Happen?
- The
--from-prfilter should search all of the project's sessions (or keep loading pages until a match or exhaustion), not just the most recent page(s). - While loading, the picker should show a loading indicator rather than "No conversations found".
Error Messages/Logs
Steps to Reproduce
## Steps to reproduce
- In a repo where Claude created a PR (session has a
pr-linkentry — verify withgrep -l '"prNumber":<N>,' ~/.claude/projects/<project-dir>/*.jsonl). - Accumulate 50+ newer sessions in that project (busy repos with worktree/subagent workflows reach this within days; our project dir has ~2,400 session files).
- Run
claude --from-pr <N>from the repo root. - Picker shows "No conversations found in this project." indefinitely. Ctrl+W / Ctrl+A don't help.
claude --resume <session-id>(id taken from the grep above) resumes the same session fine, confirming the transcript is
intact and resumable.
Reproduced with PRs whose sessions were ~3.5 weeks old; PRs from the last day or two are found instantly, consistent with the recency-window explanation.
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.214
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Related: #29052 (configurable session picker limit) — a limit config would mitigate but not fix the
filter-vs-pagination interaction.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗