What is the difference between claude --continue and claude --resume?

claude --continue          # newest session here
claude --resume            # choose from a list

Same stored sessions, different way of selecting one.

Answer

--continue reopens the most recent session in the current directory with no prompt and no arguments. --resume lets you choose: with no argument it opens a picker, and with a name or session ID it goes straight there. The ID form searches beyond the current directory, which --continue never does.

What it does

Both flags reopen a stored session. They differ in how the session is chosen.

claude --continue

Takes the most recent session in the current directory. No list, no arguments, no ambiguity — "most recent" is decided for you.

claude --resume

Lets you choose. With no argument it opens a picker; with a name or a session ID it opens that session directly.

The other difference is reach. --continue only ever looks at the current directory. --resume <session-id> searches the current project and its git worktrees first, then every other project on the machine.

--continue--resume
Which sessionnewest in this directorythe one you pick
Interactionnonepicker, unless you pass an identifier
Scopecurrent directory onlyany project, when given an ID

When to use it

Use --continue for the common case: you were working here, you stopped, you are back. It is the shortest path and there is nothing to get wrong.

Use --resume when the newest session is not the one you want — you did something else in between, or the session belongs to another project, or you have an ID in a script.

Example

Back to what you were doing:

claude -c

Choose from this project's history:

claude --resume

Reopen a specific session from anywhere on the machine:

claude --resume 7f3d9a2c-1b4e-4c8a-9f2d-3e5b7c1a0d6f

In a non-interactive run, only the identifier form works — there is no picker to show:

claude -p "what did we conclude?" --resume <session-id>

Common mistakes

Reaching for --resume out of habit. If you want the last session where you are, --continue skips the picker entirely.

Assuming --resume alone works without a terminal UI. In -p runs it needs an explicit session ID.

Confusing the flag with the slash command. claude --resume starts a new process and picks a session to open; /resume, typed inside a running session, switches the conversation you are already in. That is the one that gets you back to a cleared context.