Skill-grouped session manager for Claude Code — replaces the flat terminal tab list with semantic session navigation in VS Code and Cursor.
- Skill Groups — organize sessions by context (CTO Advisor, Content Writer, DeFi Research, etc.) in a collapsible tree sidebar
- Auto-Discovery — detects Claude Code sessions from terminal names and JSONL files, with deduplication
- Context Usage — color-coded context window percentage (green/yellow/red) with token breakdown tooltip
- Conversation Viewer — webview rendering of full conversations with markdown formatting and auto-refresh
- Session Links — auto-detects plan-to-implementation splits; manual linking supported
- Search & Filter — fuzzy search across sessions; filter by active/done status
- Drag-and-Drop — reorder sessions between groups and reorder groups
- Export — export conversations to Markdown
- Subagent Nesting — child agent terminals nested under parents
- Pin & Tag — pin important sessions; tag with multiple skill groups
- Session History — done sessions persist across reloads for reference
- Download
cc-session-explorer-1.0.0.vsixfrom Releases - In VS Code:
Ctrl+Shift+P→ "Extensions: Install from VSIX..." → select the file - Reload the window
Search for "CC Session Explorer" in the Extensions view (Ctrl+Shift+X).
git clone https://github.com/venky/cc-session-explorer.git
cd cc-session-explorer
npm install
npm run compile
# Press F5 in VS Code to launch Extension Development Host- Open the CC Sessions panel in the Activity Bar (grid icon)
- Click + on a skill group to start a new Claude Code session
- Sessions are auto-detected when terminal names contain "claude" (configurable)
- Right-click sessions for rename, pin, assign, link, and export options
- Click a JSONL-discovered session to open the conversation viewer
- Click the + button in the view title bar
- Or auto-discover from
.claude/skills/*/SKILL.mdfiles in your workspace - Groups from
settings.jsonare merged on activation
All settings are under the ccSessionExplorer prefix.
| Setting | Default | Description |
|---|---|---|
skillGroups |
[] |
Custom skill group definitions with name, icon, and regex patterns |
detectSubagents |
true |
Nest subagent terminals under parent sessions via PID |
terminalNamePattern |
"claude" |
String to match in terminal names for CC detection |
metadataFilePath |
".claude/sessions.json" |
Path to CC session metadata file |
syncRenameToCC |
true |
Send /rename to the CC terminal when renaming in the sidebar |
keepSessionHistory |
true |
Persist done sessions across window reloads |
maxHistoryPerGroup |
20 |
Max done sessions retained per skill group |
showContextUsage |
true |
Show context window usage percentage in the sidebar |
contextPollIntervalMs |
30000 |
How often to re-read JSONL for active sessions (ms) |
claudeDataPath |
"~/.claude" |
Path to CC's data directory |
autoDetectSessionLinks |
true |
Auto-detect plan-to-implementation session splits |
{
"ccSessionExplorer.skillGroups": [
{
"name": "CTO Advisor",
"icon": "$(notebook)",
"patterns": ["cto", "architect"]
},
{
"name": "DeFi Research",
"icon": "$(beaker)",
"patterns": ["defi", "blockchain", "web3"]
}
]
}- CC webview/UI mode sessions are detected via JSONL scanning only (no terminal association)
- Subagent PID detection is best-effort
/renamesync only works when CC is idle at prompt- Context window defaults to 200K (Max plan 1M users may see inflated percentages)
- JSONL format is not a stable Anthropic API — parse failures are handled gracefully
- Session history is per-workspace