Logo Vincent
Back to all posts

Claude Code /resume Command Explained: Don't Let Your Conversations Go to Waste

Claude
Claude Code /resume Command Explained: Don't Let Your Conversations Go to Waste

Why You Need /resume

When using Claude Code, you’ll frequently run into situations like these:

  • You’re halfway through a task, have to join a meeting, and exit Claude Code
  • You come back the next day wanting to pick up where you left off
  • You’re juggling multiple features and need to switch between different conversations

If you start a new conversation every time, the problem is obvious: all your previous context is gone. Claude Code doesn’t know what you did yesterday, which approaches you discussed, or which ideas you ruled out. You have to re-explain the background and let it re-understand the code — wasting both tokens and time.

That’s where /resume comes in.

What Is /resume

/resume is a built-in slash command in Claude Code for restoring previous conversation sessions.

In interactive mode, type:

/resume

An interactive session picker appears, showing all your recent conversations. Each entry includes:

  • Conversation summary
  • Message count
  • Git branch name
  • Timestamp

Select one, hit Enter, and the entire conversation context is restored — chat history, tool call results, code modifications, everything.

Multiple Ways to Resume

Claude Code offers several ways to resume conversations, suiting different scenarios:

Switch Within Interactive Mode

/resume

No need to exit your current session. Just type /resume during a conversation and select the session to restore.

Resume Last Session on Startup

claude --continue
# or shorthand
claude -c

Directly resumes your last conversation without opening the picker. Perfect for the “left work yesterday, picking up today” scenario.

Choose a Session on Startup

claude --resume
# or shorthand
claude -r

Opens the session picker so you can choose which conversation to restore.

Resume a Specific Session

claude --resume abc123

If you know the session ID, you can specify it directly.

Resume a PR-Linked Session

claude --from-pr 123

Restores the conversation associated with a specific Pull Request — great for code review scenarios.

Session Picker Shortcuts

The session picker isn’t just a simple list — it has some handy keyboard shortcuts:

KeyFunction
AToggle scope: current directory / all projects
BFilter by current git branch
RRename the selected session
PPreview the selected session’s content

Where Are Conversations Stored

All conversations are automatically saved locally — no manual action needed:

~/.claude/projects/<encoded-project-path>/xxx.jsonl

Each project has its own folder, and each .jsonl file inside is a complete conversation record containing all messages, tool invocations, and output results.

Conversations never expire — whether from yesterday or last month, as long as the file exists, it can be restored.

Practical Use Cases

Scenario 1: Multi-Day Feature Development

You’re building a complex feature. Day one: data models and API layer done. Day two: time for the frontend.

# Next day
claude -c

Claude Code restores yesterday’s context — it remembers what you did, what issues came up, and which approaches you chose. Just say “continue with the frontend” and go.

Scenario 2: Parallel Tasks

You’re working on three features simultaneously, each in a different conversation.

/resume

Press B in the picker to filter by current branch and quickly find the right conversation.

Scenario 3: Code Review Continuation

A colleague opened a PR. You reviewed half of it yesterday, time to finish today.

claude --from-pr 42

Directly restore the conversation context linked to that PR.

Practical Tips

Tip 1: Give Sessions Meaningful Names

Default session names are auto-generated summaries that aren’t always easy to find. Press R in the picker to rename:

feature-auth-module
bugfix-login-redirect
refactor-database-layer

Meaningful names make sessions much easier to find later.

Tip 2: Use /clear to Segment Your Work

Don’t pile everything into one session. After completing a task, use /clear to reset the context and start fresh. This keeps each session focused on a single topic, makes them easier to find when resuming, and reduces hallucination issues from overly long contexts.

Tip 3: —continue with a Prompt

claude -c "continue with the frontend"

Resume your last conversation and send a message at the same time — one fewer step of interaction.

Tip 4: Watch Quality in Long Sessions

While conversations can be resumed indefinitely, response quality may degrade when the context gets too long — too much information can cause Claude Code to “lose focus”. If responses start getting unreliable, consider starting a new session with /clear and re-syncing the key context.

/resume vs Starting Fresh

/resumeStarting Fresh
ContextFully preservedStarts from zero
Token UsageHistorical context consumes tokensLow initial consumption
Best ForContinuing unfinished tasksBrand new independent tasks
RiskQuality may drop with very long contextNeed to re-describe background

Each approach has its place. Use /resume for unfinished tasks, start a new conversation for completely new work.

Final Thoughts

/resume solves a simple problem: don’t let your conversations go to waste.

When using Claude Code for development, it’s impossible to finish everything in one sitting. You’ll always be interrupted — meetings, end of day, task switching. Without /resume, every time you come back you’d have to rebuild the context from scratch, wasting tokens and time.

With it, Claude Code becomes a partner that “remembers where you left off”. You can leave anytime, come back anytime, and pick up right where you stopped.

One command, and every conversation counts.

© 2026 vincentqiao.com . All rights reserved.