Claude Code: resume a session with --continue, --resume or /resume
To resume your most recent Claude Code session, run claude --continue in the same project folder. To choose an older one, run claude --resume and pick it from the list, or type /resume inside a running session. Sessions are saved per project folder and per configuration directory, which explains most missing ones.
A guide from Switch, an independent Claude Desktop profile manager. Switch is in early access ahead of its public release.
Resume from the command line
Anthropic’s session docs list these commands:
claude --continue # most recent session in this folder
claude --resume # open the session picker
claude --resume auth-fix # resume a named session
claude --from-pr 123 # sessions linked to a pull request-c and -r are short forms of --continue and --resume. You can also pass a session ID to --resume; Claude Code looks in the current project and its git worktrees first, then other projects on the Mac (CLI reference).
Add --fork-session to resume a copy with a new session ID and leave the original as it was.
Switch sessions from inside Claude Code
Type /resume (or its alias /continue) at the prompt to open the same picker without leaving Claude Code. /resume followed by a name or ID jumps straight to that session (commands reference).
Useful picker shortcuts:
- Space previews a session.
- Ctrl+A shows sessions from every project on this Mac.
- Ctrl+W widens to all worktrees of the repository.
- Ctrl+B filters to the current git branch.
- Ctrl+R renames the highlighted session.
Name sessions so you can find them
Unnamed sessions show a generated title or their first prompt, which is hard to scan. Give important ones a name at startup with claude -n auth-fix, or during a session with /rename auth-fix. Then claude --resume auth-fix takes you straight back.
To try a different approach without losing the current one, run /branch. It copies the conversation so far and switches you into the copy. Avoid resuming the same session in two terminals without forking: Anthropic notes the messages from both interleave into one transcript.
Why a session doesn’t appear
Claude Code stores transcripts at ~/.claude/projects/<project>/<session-id>.jsonl, grouped by project folder. Common reasons one is missing:
- Different folder. The picker starts with the current project. Press Ctrl+A to see everything.
- Different configuration directory. With
CLAUDE_CONFIG_DIRset, transcripts live under that directory instead, so each account has its own session list. - Scripted runs. Sessions from
claude -por the Agent SDK, and sessions that began with/loop, are left out of the picker and--continue. Resume a-por SDK one by its ID. - Age. As of October 2026, transcripts older than
cleanupPeriodDaysare deleted; the default is 30 days (.claude directory docs).
Sessions you start in the Claude Desktop app resume in the desktop app.
Sessions stay with their account
Because history is stored in the configuration directory, a session belongs to the account setup that created it. If your work account uses claude-work and your personal account uses plain claude, each picker shows only its own sessions. What CLAUDE_CONFIG_DIR does explains why. Logging out and back in as someone else in the same directory is different: see changing your Claude Code account.
When a local checkpoint is better
Resuming reloads the whole conversation. That is right for picking up where you left off in the same account. It is less suited to continuing the work in another account, or to a very long conversation: Anthropic notes that resuming a long one after a break can show a dialog estimating how much of your usage limit the saved conversation alone would use.
A short local checkpoint is often better. Record the task, what changed, what was checked and the next step, then start a fresh chat in the same project folder and point it at the checkpoint. Switch supports this as a manual handoff; it doesn’t transfer transcripts automatically. Continue a Claude Code project with a local checkpoint.