--resume: Resume Specific Conversations
The --resume flag (short form: -r) lets you jump back into any previous Claude Code session — by name, by ID, or by browsing an interactive picker. While --continue always grabs your most recent session, --resume gives you precision control over which conversation to return to.
How It Works
# Open the interactive session picker
claude --resume
# Open the picker with a search term already filled in
claude --resume auth
# Resume a named session directly
claude --resume auth-refactor
# Resume by session ID
claude -r "550e8400-e29b-41d4-a716-446655440000"
A name resolves across the current repository and its worktrees. An exact match resumes straight away; a name that matches several sessions opens the picker with the name pre-filled as a search. Sessions you never named get an AI-generated title from your first prompt, and that title works as a resume handle too.
A session ID works from any directory: Claude Code looks in the current project and its worktrees first, then in every other project on this machine. You can also pass the absolute path to a session's .jsonl transcript file in place of an ID.
The Session Picker
When you run claude --resume with no argument, you get the interactive picker (the same one /resume opens inside a session):
| Key | Action |
|---|---|
↑ / ↓ | Navigate sessions |
→ / ← | Expand/collapse grouped sessions |
Enter | Resume the highlighted session |
Space | Preview the session's content |
Ctrl+R | Rename the highlighted session |
/ or just start typing | Search and filter sessions |
Ctrl+A | Toggle between this repository and all projects on the machine |
Ctrl+W | Toggle between this worktree and all worktrees of the repository |
Ctrl+B | Filter to sessions from the current git branch |
Esc | Leave search, or exit the picker |
Each row shows the session's name or generated title, time since last activity, git branch and file size. Search also accepts a pasted GitHub, GitLab or Bitbucket pull request URL, and finds the session that created it.
The picker leaves out sessions created with claude -p or the Agent SDK. Those still resume when you pass their session ID directly.
--resume vs --continue
--continue / -c | --resume / -r | |
|---|---|---|
| Scope | Most recent session in this directory | Any session on the machine |
| Selection | Automatic | By name, ID, transcript path, or picker |
| Use case | "Pick up where I left off" | "Find that session from Tuesday" |
Things Worth Knowing
- Running background sessions: if the session you pick is still running in the background,
--resumeopens that running session in your terminal rather than loading a second copy. A prompt on the command line, as inclaude --resume my-task "check the tests too", is sent to it as its next turn first. - Forking: add
--fork-sessionto resume a copy under a new session ID, leaving the original untouched. - Flags aren't remembered: if the session was launched with
--add-dir,--mcp-config,--settingsor--plugin-dir, pass them again when you resume. - Scripts:
claude -p --resume <id> "prompt"sends a follow-up to a specific session non-interactively and prints the answer.
Pro tip: name sessions when you start them — claude -n auth-refactor — rather than hunting for them later. The name shows in the prompt bar and the picker, and claude --resume auth-refactor takes you straight back.
Try It Now
-
Name your current session so you can find it later:
/rename my-learning-session -
Exit Claude Code with
Ctrl+Cor/exit -
Browse your sessions with the interactive picker:
claude --resumeUse the arrow keys to browse, press
Spaceto preview, tryCtrl+Ato see every project, thenEnterto resume. -
Or jump straight back by name:
claude --resume my-learning-session
Bonus: resume non-interactively from a script:
claude --resume my-learning-session -p "What's the status?"
Related Features
--continue/-c— Quick resume of the most recent session--from-pr— Open the picker filtered to sessions linked to a pull request- Named sessions — Use
/renameorclaude -nto name sessions for easy recall - /resume — Switch sessions from within an active session
- /branch — Copy the conversation mid-session to try a different approach
- claude agents — See every running, waiting or finished background session in one list