Skip to main content
Claude Code persists conversation history to disk so you can resume where you left off. Session management is handled through CLI flags on the main claude command and the /resume slash command inside an interactive session.

Resuming sessions

Continue the last session

Pick up exactly where you left off in the current directory:
claude -c
claude --continue

Resume by session ID

Pass a specific session UUID to jump directly into that conversation:
claude --resume 550e8400-e29b-41d4-a716-446655440000
claude -r 550e8400-e29b-41d4-a716-446655440000

Open the interactive picker

Omit the ID to browse past sessions in an interactive list, with optional search:
claude --resume
claude --resume "my feature branch"
Resume a conversation. Provide a session ID to resume directly, or a search term to pre-filter the interactive picker, or omit the value entirely to open the picker with no filter.
-c, --continue
boolean
Continue the most recent conversation in the current directory. Equivalent to --resume with the ID of the last session.
--fork-session
boolean
When resuming, create a new session ID instead of reusing the original. Use together with --resume or --continue to branch off a copy of the conversation.
--no-session-persistence
boolean
Disable session persistence for this run — the session will not be saved to disk and cannot be resumed. Only works with --print.
--session-id <uuid>
string
Use a specific UUID for the new session. Must be a valid UUID and must not already exist. When used with --resume or --continue, --fork-session must also be specified.
-n, --name <name>
string
Set a display name for this session. The name is shown in the /resume picker and in the terminal title.

The /resume slash command

Inside an interactive session, run /resume (aliased as /continue) to open the session picker without leaving the CLI:
/resume
/resume my-feature
/continue

Clearing the current session

The /clear slash command (aliased as /reset and /new) clears the current conversation history and frees up context, starting a fresh turn within the same process:
/clear
/reset
/new

Session storage

Sessions are stored as JSONL transcript files under:
~/.claude/projects/<project-hash>/
Each file is named with the session UUID. The cleanupPeriodDays setting (default: 30) controls how long transcripts are retained before being deleted at startup.
~/.claude/settings.json
{
  "cleanupPeriodDays": 60
}
Set cleanupPeriodDays to 0 to disable session persistence entirely.
Use --name to give sessions a human-readable label so they are easier to find in the /resume picker later.
claude --name "oauth-refactor" -c

Build docs developers (and LLMs) love