[BUG] --resume with session name/ID does not bypass picker; picker keyboard navigation broken
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
When running claude --resume <session-name> or claude --resume <session-id>, the interactive session picker always opens instead of directly resuming the specified session. The provided argument appears to be used only as a search filter in the picker.
Once in the picker with a filtered result:
- Pressing Enter does nothing — the session is not selected
- Pressing the down arrow does nothing — cannot navigate to highlight a result
- The only way out is Esc to cancel
This makes --resume unusable in aliases or scripts that need to non-interactively resume a specific session.
Note: Issue #23275 reports that claude --resume <session-id> works as a direct workaround on their system (Windows/PowerShell). On Linux/WSL2, it does not — it always opens the interactive picker.
What Should Happen?
Two expected behaviors (either would resolve the issue):
- Preferred:
claude --resume <session-id>should bypass the picker entirely and directly resume the session, enabling non-interactive/scripted usage.
- Alternative: If the search filter yields exactly one match, auto-select it instead of requiring manual navigation. This would also make the picker more ergonomic for interactive use.
Steps to Reproduce
- Create and rename a session:
````
cd ~/git/myproject
claude
# Inside session, run: /rename MySession
# Exit with Ctrl+D
- Note the session ID from
~/.claude/projects/<project>/*.jsonl(the file containing"customTitle":"MySession") - Attempt to resume by name:
claude --resume "MySession" - Observe: picker opens with "MySession" in the search box, one result shown
- Press Enter — nothing happens
- Press down arrow — nothing happens
- Only Esc works (to cancel)
- Attempt to resume by ID:
claude --resume <session-id-uuid> - Same result — picker opens, keyboard unresponsive
Is this a regression?
I don't know
Claude Code Version
2.1.34 (Claude Code)
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux (WSL2)
Terminal/Shell
WSL (Windows Subsystem for Linux)
Additional Information
Use case: User has a chat alias in .bashrc that should directly resume a persistent conversational session:
alias chat='cd ~/git/chat && claude --resume <session-id>'
Current workaround is claude --continue which resumes the most recent session in the directory, but this is fragile — it resumes whichever session was last used, not a specific named session.
Related issues reviewed (none are duplicates):
- #23640 — configuring default picker scope (different issue)
- #23275 — empty picker list + session naming (different root cause, but notes
--resume <id>works on Windows) - #23061 — named sessions not appearing in picker (different issue)
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗