I used to think Claude Code's memory, /resume, and session history were all solving the same problem. They are not. Once I separated them, my workflow got a lot less fragile.
1. Memory is for reusable facts
CLAUDE.md, .claude/rules/, and auto memory are for information that should carry into future sessions. This is where project conventions, build commands, debugging notes, and repeated corrections belong.
Good use cases:
- "Always use pnpm in this repo."
- "The integration tests need Redis."
- "API handlers live under this directory."
- "Claude keeps missing this convention, so write it down."
This is not the same as reopening an old conversation. It is a way to give the next conversation better starting context.
2. Resume is for a known session
claude --continue reopens the most recent conversation in the current directory.
claude --resume reopens a specific session by ID or name, or lets you choose from a picker.
This is the right layer when you know which conversation you want to continue. Naming sessions helps a lot here.
Good use cases:
- You stopped working on a PR yesterday and want to continue it.
- You named the session
auth-refactorand want to reopen it. - You only need the most recent conversation in this repo.
3. Retrieval is for when you forgot which session it was
The harder case is not "can Claude continue a known session?"
The harder case is "which old session was that?"
After a few repos, the ID, date, terminal tab, and exact session name blur together. You may remember the project, bug, or decision, but not the session handle. Digging through ~/.claude/projects/ raw JSONL files is not a workflow.
That is a separate retrieval problem:
- browse old sessions by project
- find the relevant conversation before reopening it
- avoid guessing session IDs or scrolling through a flat picker
- keep Claude Code and Codex work visible across repos
This is the layer I built Shelf for: https://github.com/Harukaon/shelf
Shelf is not a replacement for --continue, --resume, CLAUDE.md, or auto memory. Those native layers are useful. Shelf is meant to sit beside them as a desktop workspace for browsing and reopening Claude Code and Codex sessions by project.
Short version
- Memory is for reusable facts.
- Resume is for a known session.
- Retrieval is for finding the old session when you do not remember the ID, name, tab, or date.
I keep the three layers separate now and it stopped most of the "where did that conversation go?" panic.
Top comments (0)