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

  1. Open a terminal and cd to the project folder you were working in.
  2. 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 use claude --resume and press Ctrl+A.
  • The session isn't in the picker. Sessions from claude -p and the Agent SDK are left out, but claude --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 cleanupPeriodDays in settings.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 --continue won'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

  1. Manage sessionsAnthropic
  2. CLI referenceAnthropic
  3. Common workflowsAnthropic