How to resume a Claude Code session, and find the one you closed
Resume a Claude Code session with --continue, --resume or /resume, list past sessions in the picker, fix a failed resume, and continue one from Caprock.
Run claude --continue to reopen the last conversation in the folder you are in, or claude --resume to pick one from a list. Inside a running session, /resume does the same. Both work while Claude Code still has the session's transcript on disk — by default, 30 days.
Which resume command to run
| You want | Run |
|---|---|
| The last session in this folder | claude -c (--continue) |
| A session you know by name or ID | claude --resume <name-or-id> |
| To browse past sessions | claude --resume, or /resume inside one |
| A copy to try another direction | add --fork-session, or /branch inside |
| A name to find it by later | claude -n <name>, or /rename |
Resume the last session: claude --continue
claude --continue (or claude -c) reopens the most recent conversation in the current directory, tool calls and results included. It skips sessions started with claude -p or the Agent SDK, and those that began with /loop; resume a -p session by its ID. With --fork-session, the copy gets a new session ID and the original stays as it was.
Resume a specific session by name or ID
$ claude --resume auth-refactor $ claude --resume 550e8400-e29b-41d4-a716-446655440000
- By name — one you gave with
claude -nor/rename, or the title Claude Code generated from your first prompt. A name is looked up in this repository and its worktrees. - By ID — Claude Code looks in the current project first, then in every other project on the machine, so it works from any directory.
/resume <name> or /resume <id> does the same inside a session; /continue is an alias.
List sessions: the session picker
| Key | Does |
|---|---|
Space | preview the session |
Enter | resume it |
/ or type any character but Space, j, k or a digit | search; a pasted pull request URL finds the session that created it |
Ctrl+A | widen to every project on this machine |
Ctrl+W | widen to every worktree of this repository |
Ctrl+B | narrow to the current git branch |
Ctrl+R | rename the highlighted session |
claude --resume with no argument, or /resume, opens the picker. Each row shows the session's name or title, time since last activity, git branch and file size; by default it lists sessions from the current worktree. Outside the picker, sessions are files: one .jsonl each under ~/.claude/projects/<project>/ — where they live, and for how long.
Do you need to save a session?
No. Claude Code saves sessions continuously, so closing the terminal loses nothing, and after /clear the previous conversation is still there for /resume. Name it so you can find it, and /export it — plain text, to the clipboard or a file — if you want a copy that outlives the transcript. The exception is claude -p --no-session-persistence, which saves nothing.
When resume fails
| Cause | What you see | Fix |
|---|---|---|
| The transcript was deleted | No conversation found with session ID: <id> | none; raise cleanupPeriodDays to keep the rest |
| The folder moved or was deleted | chosen after Ctrl+A, it resumes in your current directory | resume by ID, from anywhere |
| It is open in another terminal | both write into one transcript, interleaved | add --fork-session |
On the author's machine, checked on 2026-09-29, 96 of 116 ended Claude Code sessions had been started outside Caprock. Caprock's old continue button opened a terminal that failed for 65 of them: 44 because Claude Code had deleted the transcript, 21 because the folder was gone.
Continue failedDid not fail
A session manager for every session
Caprock reads every Claude Code session on the machine — the ones you start in your own terminal too, and older ones still on disk when you install it.
- Find it. In the app, ⌘K searches every session Caprock knows and lists the matches under History. In the browser dashboard, tick "show ended sessions" on the Home screen and search by what the session was about, any prompt typed in it, its project or branch.
- Continue it. An ended session offers continue here; one still running in another terminal offers branch here. Either starts a second
claude --resume <id>process — with--fork-sessionfor a branch — in a terminal inside Caprock. Caprock never types into a terminal it did not start. Copy command gives youcd "<folder>" && claude --resume <id>for your own. - Know why not. Where a resume would fail, it says can't continue with the reason: the transcript was deleted, the folder is gone, or Caprock cannot find
claudeto start it. - After a restart. If Caprock or the machine stopped with sessions running, a banner on the Home screen lists them, each with continue.
What it cannot do: continue a session whose transcript is gone — its record and what Claude wrote stay searchable; the conversation does not. Codex and OpenCode sessions get continue here once they have ended, and a command to copy (resuming Codex sessions); Gemini CLI, DeepSeek Harness and Hermes Agent sessions get neither. A paired phone continues a session only if it may control sessions.
Session managers compared
| Tool | What it is | Resumes sessions | Use it to |
|---|---|---|---|
| es6kr/claude-code-sessions | an MCP server, web UI and VS Code extension | not described in its README | browse, rename, split and clean up session files |
| Clauditor | a free JetBrains plugin | yes, and forks | work in a JetBrains IDE |
| Caprock | a desktop app that records every session | yes, or says why not | see every session on the machine, past the 30-day cleanup |
Questions people ask
- How do I resume a Claude Code session?
- Run claude --continue to reopen the last conversation in this folder, or claude --resume to pick one from a list. Inside a session, /resume does the same.
- How do I list all my Claude Code sessions?
- Run claude --resume with no argument to open the picker, then press Ctrl+A to widen it to every project on the machine.
- Why does Claude Code say "No conversation found with session ID"?
- The transcript was deleted. Claude Code removes transcripts after 30 days by default, and nothing brings them back.
- Do I need to save a Claude Code session?
- No. Claude Code saves sessions continuously; /export makes a plain-text copy that outlives the transcript.
- Can I resume a Claude Code session from another folder?
- Yes, by ID: Claude Code looks in the current project first, then in every other project on the machine.
- How do I branch a Claude Code session?
- Add --fork-session to claude --continue or claude --resume, or use /branch inside a session. The copy gets a new session ID.
Sources
- Claude Code docs — Manage sessions
- Claude Code docs — CLI reference
- Claude Code docs — Commands (/resume, /branch, /rename, /export)
- es6kr/claude-code-sessions
- Clauditor — JetBrains Marketplace
- Caprock source — internal/api/resume.go
- Caprock source — internal/agents/agents.go
- Caprock source — ContinueSession.tsx
- Caprock UI spec — Continue, and why not
Try it
The record of every coding agent you run, the sessions it did not start included. Free, open source; nothing leaves your machine.
Notarized by Apple. One file for Apple silicon and Intel, macOS 13 or later.
Or run it yourself:
Paste in Terminal: it installs Caprock and opens it.Or with Homebrew: brew install --cask dspv/tap/caprock-app