Claude Code saves every conversation you have. Every single one, sitting right there in ~/.claude/history.jsonl.
But here’s the annoying part: the built-in --resume command only shows your last 3 conversations. Three! That’s basically useless if you’re trying to find that database fix from last week or remember which project had that brilliant solution you came up with.
The built-in way (limited but quick)
For recent stuff, just run:
claude --resume
You’ll get a picker with your last 3 sessions. Great if you stepped away for lunch. Not great if you’re trying to remember something from Tuesday.
Need to continue your most recent conversation?
claude --continue
# or just
claude -c
Building a better /history command
Here’s the fix. Create a custom slash command that shows your ENTIRE conversation history in a clean table.
First, create the commands directory:
mkdir -p ~/.claude/commands
Then create the history command file:
cat > ~/.claude/commands/history.md << 'EOF'
Please read my global conversation history from ~/.claude/history.jsonl and present it in an easy-to-scan format.
For each conversation, show:
- Entry number
- Date/time (human readable format: "Nov 10, 2025 15:48")
- Project name (just the folder name, not full path)
- First 60-80 characters of the conversation topic
- Session ID (if available)
IMPORTANT: Format as a plain text table with properly padded columns (NOT markdown tables).
Focus on the most recent 10 conversations in the first table. If there are more, show another 5-7 in an "Additional Recent Conversations" table.
At the end, include:
---
💡 Tip: Resume any conversation by running:
- claude --resume <session-id>
- claude --resume to see an interactive list of recent sessions
EOF
Done. Now type /history in any Claude Code session (A new session) and you’ll see something like this:
Recent Conversation History (Most Recent 10)
| # | Date | Project | Topic | Session ID |
|-----|--------------------|--------------------|-----------------------------------------------------|---------------|
| 68 | Nov 10, 2025 09:32 | astro-blog | Let's add PostHog analytics to track page views... | abc123def456 |
| 67 | Nov 9, 2025 16:45 | tip-calculator | Help me set up GitHub actions for deployment... | 789xyz123abc |
| 66 | Nov 8, 2025 14:22 | client-project | Debug this payment webhook race condition... | qwe456rty789 |
Each row shows when it happened, which project, what you were working on, and the session ID to resume.
Why this actually matters
Last week I was debugging a payment flow, got pulled into a meeting, and completely forgot where I was. Came back hours later, typed /history, found “Debug this payment webhook race condition”, ran claude --resume with that session ID, and Claude Code picked up exactly where we left off.
All the context, all the files, the entire approach - right there waiting.
If this was helpful check out my updated Claude Code workflow with background tasks, MCPs, and all the other features that make it indispensable. Stuff that helps me work.
The command lives in ~/.claude/commands/, so it works across all your projects. Just type /history wherever you are.
No more re-explaining problems. No more “how did I fix that last time?” Just find it, resume it, ship it.
One heads up: if your terminal is too small, the table formatting might get wonky. But just tell Claude Code to fix it and it’ll adjust. Try it out and let me know if this helps you too.