Claude Session Manager
Browse, search, rename, and visualize your Claude Code session transcripts — all in one place, right inside VS Code.
Claude Code stores every conversation as a JSONL file under ~/.claude/projects/. Over time you end up with dozens or hundreds of them, with machine-generated names and no easy way to find or revisit a specific one. This extension gives you a dedicated side panel to manage the whole archive.
Features
Session tree, grouped by project
- Every project you've used with Claude Code appears as a folder, with its sessions listed inside.
- The current workspace's project is auto-expanded and marked as
current.
- Each session shows its title, relative last-modified time, and file size.
Full-text search across sessions
Title search is never enough once you have a few dozen conversations. This extension searches inside the JSONL transcripts too.
- 🔍 icon at the top of the panel → searches every session in every project.
- 🔍 icon next to any project row (appears on hover) → searches only that project's sessions.
Type any phrase and the extension scans all matching transcripts for occurrences in user prompts and assistant responses. Matches appear in a QuickPick with:
- The session title and relative time
- A 👤 / 🤖 snippet showing the surrounding context so you can tell which side said it
- The project path so you can disambiguate
Press Enter on a result to launch that session in a Claude Code editor tab. Leave the search box empty to just list sessions by title.
One-click launch
- Click a session title to resume it in a Claude Code editor tab — identical to Claude Code's own "Open in New Tab" behavior.
Rename and delete
- Rename a session directly from the tree — the extension rewrites the JSONL transcript, updates Claude Code's title cache (
.tree-cache.json), and patches VS Code's workspace SQLite (agentSessions.model.cache, editor memento) so the new name sticks across CLI and the Claude Code sidebar.
- Delete cleans up the JSONL file, the project cache, VS Code's
hiddenSessionIds, and all related workspace storage entries.
HTML transcript viewer
Right-click any session → View as HTML:
- User prompts are highlighted in bold amber; assistant responses in green.
- Tool calls, tool results, thinking, and system blocks are collapsed by default so conversations read cleanly.
- Full-text search with live highlighting, match counter, and next/previous navigation (
Enter / Shift+Enter).
- Expand-all / collapse-all buttons, plus a quick "collapse tools" toggle.
- Light mode by default, with a one-click theme toggle that remembers your choice.
- Cached by file mtime — reopening an unchanged session is instant.
Open in external browser
Right-click → View as HTML in Browser writes a self-contained, themeable HTML file to your temp directory and opens it in your default browser. Great for sharing, archiving, or reading a long transcript without the VS Code chrome.
Open the raw JSONL
Right-click → Open Raw JSONL to inspect the underlying transcript as plain text.
Permission-mode patch check (optional)
If you apply the /session patch-permission-mode patch (see the session skill) to make resumed sessions respect your claudeCode.initialPermissionMode setting, this extension will warn you on startup if a Claude Code update has overwritten the patch.
Why the sessions you're resuming default to "Ask before edits"
The stock Claude Code extension only applies claudeCode.initialPermissionMode to new sessions. Resumed sessions always start in "default" mode. If that annoys you, run /session patch-permission-mode in Claude Code and this extension will keep an eye on it for you.
Requirements
- macOS (paths assume
~/.claude/projects/ and VS Code's macOS storage locations)
- Claude Code extension installed — required for the "Launch in Claude" action
Commands
| Command |
Where |
Description |
Refresh |
View title |
Rescan the projects directory |
Search Sessions |
View title |
Full-text search across all sessions in all projects |
Search Sessions |
Project row (hover / right-click) |
Full-text search within just that project |
Launch in Claude |
Click session title |
Resume the session in a Claude Code editor tab |
View as HTML |
Right-click session |
Open the rendered transcript in a VS Code webview |
View as HTML in Browser |
Right-click session |
Write to /tmp and open in your default browser |
Open Raw JSONL |
Right-click session |
Open the underlying .jsonl as text |
Rename |
Hover session / right-click |
Rename the session (syncs across Claude Code caches) |
Delete |
Hover session / right-click |
Delete the session and all related cache entries |
Privacy
Everything this extension does is local. It reads and writes files under ~/.claude/projects/ and VS Code's own storage directories. No network calls, no telemetry.
Disclaimer
This is an independent third-party tool. It is not affiliated with or endorsed by Anthropic. "Claude" and "Claude Code" are trademarks of their respective owners.
Feedback and issues
Please file issues and feature requests on the repository.