How to Resume a Claude Code Session: --continue vs --resume

How to resume a Claude Code session: claude --continue for the last chat, --resume and the session picker for older ones, naming, forks, and session IDs.

6 min readUpdated 2026-06-12EAEvgeny ArsentyevEvgeny Arsentyev · PhD

Yes, you can resume any Claude Code session: claude --continue reopens the most recent conversation in the current folder, and claude --resume opens a picker with all of them. Every session is saved to your disk automatically as you work — closing the terminal loses nothing.

I'm Evgeny, and this was my first genuine 'wait, it remembers?' moment with Claude Code. A session is a saved conversation tied to a project folder — Claude's memory of everything you discussed, decided, and built together. Losing it felt like firing a contractor mid-renovation and hiring an amnesiac twin. Good news: you almost never lose it. Here's the full toolkit.

How to continue the last session in Claude Code

One flag. Open your terminal in the project folder and run claude --continue — Claude comes back with the full context of your most recent conversation in that directory. This is the command for the 90% case: you closed the laptop yesterday, you're resuming today.

Pick up where you left off
claude --continue

Resumes the most recent session in the current directory. Then just talk as if nothing happened: "so, where were we with that contact form?"

How to list sessions and find an older conversation

That's what claude --resume is for: with no arguments it opens the interactive session picker, listing your conversations with their name or first prompt, time since last activity, message count, and git branch. Inside a running session, /resume does the same — it lets you switch to a different conversation without restarting. If you know the session's name, skip the menu: claude --resume <name> jumps straight to it, and a session ID works there too.

By default the picker shows sessions from the current folder, but it widens easily: Ctrl+A shows every project on the machine, Ctrl+W shows all worktrees of the repository, and Ctrl+B filters to the current git branch. And if a task started life as a pull request, there's a dedicated trick: claude --from-pr <number> brings back the session linked to that PR — no archaeology required.

Session picker survival kit
claude --resume
  ↑/↓   navigate sessions
  Space preview the conversation
  Ctrl+R rename the highlighted session
  Ctrl+A show sessions from all projects
  type anything — search
  Enter resume
Name your sessions — your future self is bad at archaeology

Start a task with claude -n contact-form, or run /rename contact-form mid-session, and later return with claude --resume contact-form. Bonus secret: accepting a plan in plan mode names the session automatically from the plan. Unnamed sessions become 'which of these twelve was the good one?' by Friday.

Does Claude Code resume the session after a limit is reached?

Yes. Sessions are written continuously to local transcript files as you work, so a usage limit, a crash, or an accidentally closed terminal doesn't erase the conversation. When you're back, claude --continue picks it up. The real expiry is time: transcripts live at ~/.claude/projects and are removed after 30 days by default — the cleanupPeriodDays setting changes that. If a conversation matters long-term, run /export to save it as a plain-text file.

How to pause and resume a Claude Code session

Pausing requires zero ceremony — there is no save button because saving is constant. Even /clear doesn't destroy a conversation: it starts a fresh context while the previous chat stays saved and resumable through /resume. The craft is in resuming deliberately. My routine for parallel work, fully copy-pasteable:

The tidy multi-task routine

  1. 1Starting a task: claude -n payment-bug — named from birth.
  2. 2Need to switch context? Just close it or run /resume to hop to another conversation.
  3. 3Coming back: claude --resume payment-bug — exact session, full memory.
  4. 4Want to try a risky alternative? claude --continue --fork-session gives you a branch; the original stays intact.
  5. 5End of week: claude --resume, press Space on anything mysterious to preview it.

That --fork-session trick deserves a sentence more: forking copies the conversation so far and switches you into the copy. It's how you A/B-test approaches without contaminating the main timeline — and forked sessions appear grouped under their parent in the picker. One warning from the docs worth repeating: resuming the same session in two terminals at once without forking interleaves both into one transcript. Chaos. Fork instead.

Lab: the unkillable conversation

0/5

Kicker: people lose hours re-explaining context to a fresh Claude that their previous Claude already knew. Two flags — --continue and --resume — and a naming habit make that loss extinct. Name today's session before you do anything else.

#sessions#continue#resume#session picker#workflow
EAEvgeny Arsentyev

Author

Evgeny Arsentyev

PhD · Chief Product Officer at a healthtech company

▌ Reading is the blue pill

Want to actually build this?

Guides explain. The free course transforms — personalized, gamified, and built to get you shipping fast.

◉ Take the red pill →