Key takeaways
- claude --continue reopens the most recent session in the current directory, and claude --resume opens a picker or takes a name or session ID.
- Name a session with claude -n <name> or /rename, then resume it with claude --resume <name>.
- Pass flags such as --mcp-config, --settings and --add-dir again when resuming, because they are not restored.
Claude Code how to resume session, in short: run claude --continue in the project folder. It reopens the most recent conversation in that directory. To pick an older one, run claude --resume, or type /resume inside a running session. This guide follows Anthropic's Manage sessions and CLI reference docs, as of October 29, 2026.
Claude Code saves every conversation to your machine as you work, so closing the terminal or running /clear doesn't lose it. You can come back to the same conversation without explaining the task again.
The commands that resume a session
| Command | What it does |
|---|---|
claude --continue (or -c) |
Reopens the most recent session in the current directory |
claude --resume (or -r) |
Opens the session picker |
claude --resume <name> |
Resumes the named session directly |
claude --resume <session-id> |
Resumes by ID, from any directory |
claude --from-pr <number> |
Opens the picker filtered to sessions linked to that pull request |
/resume |
Switches to a different session from inside a running one |
If there is nothing to continue, claude --continue prints No conversation found to continue and exits. If a session ID matches nothing, you get No conversation found with session ID: <session-id>.
How to resume the last session
- Open a terminal and
cdto the project folder you were working in. - Run
claude --continue.
Sessions belong to a project directory, so --continue only looks at the folder you are in. The docs say it skips sessions created with claude -p or the Agent SDK, and sessions whose first prompt was a /loop command.
How to pick an older session
Run claude --resume with no argument, or type /resume in a session. The picker lists sessions with their name or generated title, time since last activity, git branch and file size.
| Key | Action |
|---|---|
Up and down arrows, or k and j |
Move between sessions |
Enter |
Resume the highlighted session |
1 to 9 |
Resume the session at that position |
Space |
Preview the session |
/ or any printable character |
Search. Paste a pull request URL to find the session that created it |
Ctrl+R |
Rename the highlighted session |
Ctrl+B |
Show only the current git branch |
Ctrl+W |
Show all worktrees of the repository |
Ctrl+A |
Show every project on this machine |
Esc |
Leave the picker or search |
By default the picker shows sessions from the current worktree. If you can't find a session, widen the list with Ctrl+W or Ctrl+A. Pick one from an unrelated project and Claude Code copies a cd and resume command to your clipboard instead of opening it.
How to name a session so you can find it
You can resume by name, which beats scrolling a list. Set a name in any of these ways:
- At startup:
claude -n auth-refactor - During a session:
/rename auth-refactor - In the picker: highlight a session and press
Ctrl+R
Then run claude --resume auth-refactor, or /resume auth-refactor inside a session. If two sessions share the name, claude --resume <name> opens the picker with the name filled in as a search. Inside a session, /resume <name> reports an error instead, so run /resume alone.
Sessions you never name get a title generated from your first prompt, and that title works as a resume handle. The default display name, a directory name plus two characters such as my-app-3f, does not.
What comes back when you resume
Claude Code restores the conversation history, the model the session used, the agent if you started with --agent, and any goal that was still active. In a terminal, --continue and --resume also restore the permission mode the session was in. A session that ended in bypassPermissions does not come back in that mode. Pass --permission-mode or --dangerously-skip-permissions to set it yourself.
Some launch flags are not restored. If the original session used --mcp-config, --settings, --plugin-dir, --fallback-model or --add-dir, pass them again. Settings in settings.json are read again at launch, so they need nothing.
A tool that was still running when the previous process ended is not run again.
Resume without changing the original: fork it
To try a different approach and keep the old path intact, branch the session. Inside a session, run /branch try-streaming-approach. From the shell, add --fork-session:
claude --continue --fork-session
The fork gets its own session ID and shows up as a separate row in the picker. The original stays unchanged. If you resume the same session in two terminals without forking, both write into one transcript and their messages interleave.
Common problems
No conversation found to continue. There is no saved session for this directory. Check that you are in the right folder, or useclaude --resumeand pressCtrl+A.- The session isn't in the picker. Sessions from
claude -pand the Agent SDK are left out, butclaude --resume <session-id>still opens them. - An old session is gone. The docs give a 30-day default retention for transcripts, which you can change with
cleanupPeriodDaysinsettings.json. - The "Resume this conversation?" dialog. It estimates the share of your 5-hour usage limit that the saved conversation alone would use. On Pro and Max plans it can appear after a long break or on a different model. Choose Resume to keep going, or Start a new conversation if your next task doesn't need the old one.
- Session is running in the background.
claude --resume <session>attaches to it in the same terminal.claude --continuewon't open a session that is still running there.
Where the transcripts live
By default Claude Code stores each session as a JSONL file at ~/.claude/projects/<project>/<session-id>.jsonl. The docs warn that the entry format is internal and changes between versions, so don't build scripts on the raw files. To export a conversation as readable text, run /export.
For setting up Claude Code in the first place, see our guide to installing it. To keep it current, see how to update it.
Frequently asked questions
How do I continue my last conversation in Claude Code?
Run claude --continue from the project folder. It reopens the most recent session in the current directory.
How do I resume a Claude Code session by name?
Name it with claude -n <name> at startup or /rename <name> in the session, then run claude --resume <name> or /resume <name>.
Why does Claude Code say No conversation found to continue?
There is no saved session for the current directory. Check you are in the right folder, or run claude --resume and press Ctrl+A to list sessions from all projects.
How do I resume a session without changing the original?
Add --fork-session, as in claude --continue --fork-session, or run /branch inside a session. The fork gets a new session ID and the original stays intact.
Sources
- Manage sessionsAnthropic
- CLI referenceAnthropic
- Common workflowsAnthropic
