Claude Terminal Sessions
Every Claude Code session you have run in the terminal, from every project folder, in one VS Code sidebar.
See what each session was about, what it changed, and jump back in with one click.
Why
When you use Claude Code across many repos, sessions pile up in different folders and it is hard to remember
which session handled which task. claude --resume only lists sessions for the current folder.
Claude Terminal Sessions reads the session history Claude Code already keeps on your machine
(~/.claude/projects) and shows all of it, across all folders, grouped by day.
Features
All sessions, everywhere
- Sessions from every folder, newest first
- Grouped by Today / Yesterday / Earlier this week / Earlier this month / Older, or by folder (toggle in the toolbar)
- Each row shows the session name, folder, and when it was last used
- Name is taken from your
/rename title, then Claude's automatic title, then your first prompt
- Hover for details: description (first and last prompt), full folder path, git branch, start and last-active dates, prompt count, session ID
Expand a session to see its context
▾ dark-mode-toggle my-web-app · 2h ago
▶ Resume session claude --resume 7c3e9a12…
📖 Open conversation readable transcript
📁 Folder ~/projects/my-web-app
🌿 Branch feature/dark-mode
🔑 Session ID 7c3e9a12-4f8b-4d21-…
▾ 💬 Prompts 4
👤 Add a dark mode toggle to the… Nov 5, 10:12 AM
👤 Remember the choice in local… Nov 5, 10:31 AM
👤 Write tests for the toggle Nov 5, 10:48 AM
👤 Fix the failing snapshot test Nov 5, 11:02 AM
▾ 📄 Files changed 3
ThemeToggle.tsx src/components · 3× Edit
theme.css src/styles · 2× Edit
ThemeToggle.test.tsx src/components · 1× Write
▸ 💻 Commands run 6
Run the theme tests npm test -- ThemeToggle
Start the dev server npm run dev
| Item |
Click |
Right-click |
| Resume session |
Opens a terminal in the session's folder and runs claude --resume <id> |
|
| Open conversation |
Opens a readable Markdown copy of the session: prompts, Claude's replies, every tool step |
|
| Folder |
Opens the folder in a new VS Code window |
|
| Session ID |
Copies the ID |
|
| Prompt |
Opens the conversation at that prompt |
|
| Changed file |
Opens the file |
|
| Command run |
Shows it in the conversation |
Copy, or paste into a terminal (not run until you press Enter) |
Share a session with someone else
Right-click a session → Share:
| Option |
What the other person gets |
Needs Claude Code? |
| Export for Reading (.md) |
A readable Markdown file: prompts, Claude's replies, files changed and commands run (no command output) |
No |
| Export to Continue on Another Computer |
A .claude-session.json file they can import and resume with full context |
Yes |
Export (the person sharing)
- Open the Claude Terminal Sessions sidebar and find the session.
- Right-click it and choose Share: Export for Reading (.md) or Share: Export to Continue on Another Computer.
- Read the warning. It shows how many likely secrets were removed automatically. Click Save….
- Choose where to save the file (defaults to your
Downloads folder).
- Click Open to check the file, then send it (Slack, email, shared drive…).
Import (the person receiving)
A .md export needs no import: just open it in any editor or Markdown viewer.
For a .claude-session.json export:
- Install Claude Terminal Sessions and Claude Code.
- Get the same project on your computer (clone the repo). Ideally check out the branch the session was on.
- Open the Claude Terminal Sessions sidebar and click Import Shared Session (📥) in the toolbar.
- Pick the
.claude-session.json file.
- Choose your local copy of the project. Folders with the same name are suggested first, or use Browse….
- If the session already exists on your computer, choose Import as a copy (it gets a new session ID).
- Click Resume now. Claude Code opens in that folder with the full conversation, ready to continue.
The session also appears in the sidebar, so you can resume it later.
Before you share: session files can contain anything that went through the session, including command output,
file contents, environment variables and internal URLs. The extension:
- removes likely secrets automatically (GitHub, GitLab, npm, Slack and Stripe tokens, AWS and Google keys, Anthropic and OpenAI keys, JWTs, private keys, passwords in URLs, and values of settings like
DB_PASSWORD or API_KEY) and tells you how many it found
- leaves out Claude Code's internal request logs
- warns you before every export
Automatic detection is not perfect. Read the file before sharing it, and only share with people who may see that code and data.
- 🔍 Filter by title, prompt text, folder, branch or session ID
- 🌲 Group by date or folder
- 📥 Import Shared Session from a
.claude-session.json file
- 🔄 Refresh (the list also refreshes when sessions change)
Resume in terminal · Open conversation · Copy session ID · Copy resume command
(cd '<folder>' && claude --resume <id>) · Open folder in new window · Open raw transcript (.jsonl) · Share: Export for Reading · Share: Export to Continue on Another Computer
Requirements
- VS Code 1.90 or newer
- Claude Code installed and on your
PATH (needed to resume sessions)
Installation
From the VS Code Marketplace (recommended)
Install from the Marketplace, or
in VS Code open the Extensions panel and search Claude Terminal Sessions, or
run:
code --install-extension SwaroopGajula.claude-terminal-sessions
From a .vsix file
code --install-extension claude-terminal-sessions-0.4.0.vsix
or in VS Code: Extensions panel → ··· menu → Install from VSIX…
Then click the Claude Terminal Sessions icon in the activity bar.
Settings
| Setting |
Default |
Description |
claudeSessions.claudeCommand |
claude |
Command used to launch Claude Code (e.g. a full path or an alias) |
claudeSessions.groupBy |
date |
Group sessions by date or folder |
claudeSessions.maxSessions |
300 |
Maximum number of sessions to show |
Privacy
Everything stays on your machine. The extension only reads the session files in ~/.claude/projects.
It never changes them and never sends anything over the network. Each user sees only their own sessions.
Exports are only written where you choose to save them, and importing only adds a new session file under ~/.claude/projects.
Development
git clone https://github.com/SwaroopGajula/claude-terminal-sessions.git
cd claude-terminal-sessions
npm run lint # syntax check
npm test # unit tests (secret removal, import rewriting)
npm run package # builds claude-terminal-sessions-<version>.vsix
code --install-extension claude-terminal-sessions-*.vsix
There is no build step and there are no runtime dependencies: extension.js (UI) and share.js (export/import logic) are plain JavaScript.
Automatic builds and releases (GitHub Actions)
- CI (
.github/workflows/ci.yml): every push to main and every pull request runs the checks and tests and builds the .vsix.
Download it from the run page under Artifacts.
- Release (
.github/workflows/release.yml): runs when a version tag is pushed.
To release a new version:
- Bump
"version" in package.json (e.g. 0.4.1) and add a ## 0.4.1 section to CHANGELOG.md.
- Commit, then tag and push:
git tag v0.4.1
git push && git push --tags
- The workflow tests and builds, creates a GitHub Release with the
.vsix and the changelog notes, and publishes to the
VS Code Marketplace using Trusted Publishing (no token stored; set up once under the publisher's Trusted Publishing tab
for this repo and release.yml), and to Open VSX if the OVSX_PAT secret is set.
Notes
This is an unofficial community tool and is not affiliated with or endorsed by Anthropic.
It relies on Claude Code's local session file format, which may change between Claude Code versions.
License
MIT