> sessions

Every Claude Code conversation is a session with its own transcript, history, and checkpoints, stored per project directory. This section is about moving between them: continuing where you left off, resuming a specific past conversation by name, naming sessions so they're findable, and running several at once in isolated git worktrees or in the background. The mental model: sessions are scoped to the directory you launched from and its git worktrees, so where you run the command decides which sessions you can see.

// sessions

5 commands

// faq

What's the difference between claude -c and claude -r?

claude -c (--continue) reopens the single most recent conversation in the current directory automatically. claude -r (--resume) targets a specific session by name or ID, or opens a picker of past sessions when you give no argument. Use -c to pick up the last thing you were doing, -r to jump back to a particular one among many.

Does resuming a session overwrite its history?

By default yes — new turns append to the same session ID, extending the original transcript. If you want to branch off and keep the original intact, add --fork-session when resuming, which creates a new session ID that inherits the conversation so far.

Can I run multiple Claude Code sessions in parallel?

Yes. claude -w <name> (--worktree) starts a session in an isolated git worktree branched from origin/HEAD, so each session edits its own branch without colliding over one checkout. For fully detached runs, claude --bg starts a background agent and returns your terminal; claude agents lists them and claude attach <id> reconnects.

Where are sessions stored and why can't I find one?

Session lookup is scoped to the current project directory and its git worktrees, so -c and -r only see sessions started from that project. If a session seems missing, you're likely in a different directory than where you created it. Naming sessions with -n makes them easy to spot in the resume picker.