Session Manager for Claude Code
Too many Claude Code chats to keep track of? Sort them into groups that fill themselves, see at a glance which ones need you, and hand a long chat off to a fresh one in one click.
🔒 Runs on your machine · one usage check with Anthropic, nothing else · free
Not affiliated with Anthropic. This is an independent extension. "Claude" and "Claude Code" are trademarks of Anthropic.
At a glance
|
Feature |
What it does |
| 🤝 |
Hand off in 1 click |
Start a new session with an old session's context, prompt already typed in. |
| 🪄 |
Sessions that sort themselves |
Auto-group once; new sessions then file into the right group on their own. |
| 🔴 |
Never miss what needs your input |
Live status on every session, and an Overview of what's running and what's waiting. |
| 📊 |
View your usage |
Your account's usage as a percentage, plus an estimated cost per session. |
| 📌 |
Customise your toolbar |
Pin the actions you use most onto every row. |
Is this for you?
Worth installing if you:
- Run several Claude Code sessions at once
- Work across multiple tickets or projects
- Lose track of which chat had which conversation, or which one is waiting on you
Probably not needed if you:
- Only keep a handful of sessions
- Don't use the Claude Code VS Code extension
Get started
- Install, then open the Session Manager sidebar.
- Click Auto-group my sessions.
- Untick any suggested groups you don't want, then Create. Done.
Click any session to open it in Claude Code. Click ? in the sidebar header for an animated guide.
Features
🤝 Hand off in 1 click
Long chats get slow and forgetful. Continue in a clean one without losing the thread.
- Hover a session row and click the hand-off button.
- A new chat opens with the prompt already typed in.
- Press Enter to send it.
The extension writes a short brief (the original request, your latest requests and Claude's last reply) for the new chat to read. If you use a Stop hook that saves handoffs to ~/.claude/handoffs/, that one is used instead.
🪄 Sessions that sort themselves
Set up once
- In Groups, click Auto-group my sessions. It suggests groups from words and ticket keys that recur in your session titles, merges word forms ("driver" and "drivers"), and never suggests a group that would end up nearly empty.
- Untick what you don't want, then Create.
Then, automatically
- Every new session whose title matches a group is filed into it. A matching subgroup wins over its parent.
Manual adjusting
- Move a session: its ⋯ menu → Move to…, or drag it. Anything you place by hand stays put.
- Make your own group: + in the Groups header, or on a group for a subgroup.
- Change a group: its ⋯ menu → rename, auto-file keywords, colour, delete. Deleting moves its contents up a level; nothing is lost.
It's simple word matching on your machine, not AI, so rename or merge groups afterwards as you like.
| Dot |
Meaning |
| 🟠 Spinning ring |
Claude is working on it right now |
| 🔴 Red, red title |
Claude asked you something and is waiting |
| 🟢 Green |
Open in VS Code and idle |
| ⚪ Grey |
Not running. Click to reopen. |
The Overview counts sessions that are running, pending your input, and active today. Hover a tile to see the list, open or hand off a session, or Clear all pending once you've dealt with them.
📊 View your usage
- Account usage in the Overview: a percentage and bar, orange from 75% and red from 90%, with the last-updated time. Works with spend limits; subscription session limits are supported but less tested.
- Per session: the estimated cost is at the top of each session's ⋯ menu. It's calculated from the transcript's token counts at list prices, so treat it as a comparison, not a bill.
Every action lives in a row's ⋯ menu. Click the pin next to one to show it as a button on every row; click again to remove it. By default, Hand off is pinned on sessions and New subgroup on groups.
⭐ Also included
- Search: titles and ticket keys as you type, and the full text of every conversation from three letters.
- Stars, Recent, Archive: keep favourites close, see your five latest, and hide finished sessions without deleting them.
- NEW badge on sessions started in the last 30 minutes, and older sessions folded behind a "N Older Sessions Hidden" row.
- Rename sessions: a new name shows in the sidebar straight away and in Claude Code too (tab title and
/resume). A running session picks it up once it's closed.
- Light and dark themes, with a frosted-glass look.
Requirements
- VS Code 1.85 or later
- The Claude Code extension, installed and signed in. Without it, sessions still list, but you can't open them.
Privacy
Everything happens on your machine, with one exception: to show your usage, the extension asks Anthropic (api.anthropic.com) for it at most every 5 minutes, using the login Claude Code already stored (the macOS Keychain, or ~/.claude/.credentials.json elsewhere). On a Mac, macOS may ask once whether Session Manager can read "Claude Code-credentials". Nothing is sent anywhere else.
It reads:
- Claude Code transcripts in
~/.claude/projects/
- Claude Code's live-session files in
~/.claude/sessions/
- VS Code's workspace state, to reuse the tab titles Claude Code shows
It writes:
~/.claude/session-tabs.json: your groups, labels, stars, archive and pinned actions
~/.claude/session-tabs-usage.json: the last usage reading, shared by your VS Code windows
- Hand-off briefs in
~/.claude/session-tabs-handoffs/, only when you use hand-off
- One line at the end of a session's transcript when you rename it, in the same format Claude Code uses for its own renames. Nothing else in the transcript is changed.
Known limitations
- The sidebar shows sessions for the first folder in your workspace only.
- It reads Claude Code's local files directly. These aren't public APIs, so a Claude Code update can change them and break parts of the sidebar until this extension catches up. It relies on:
- the transcript folder layout and JSONL format
- the per-process session status files
- the
claude-vscode.editor.open command, for opening sessions and pre-filling hand-offs
- tab titles and session groups in VS Code's internal state database
- an undocumented usage endpoint, which Anthropic may rate-limit or change. If it does, the last reading stays up with its time.
Commands
| Command |
What it does |
Session Manager: How to Use |
Opens the animated guide |
Session Manager: New Group |
Creates a new group |
Session Manager: Refresh |
Reloads the session list (it also refreshes on its own every few seconds) |
| |