Claude Code · Developer tool

claudeSession

You have 12 sessions open. You click into one, answer its question, approve the plan, say proceed. Three minutes later you realize it was the wrong session — and it just rewrote the wrong service.

claudeSession gives every session a name, a project, and a live status. You always know which one you're talking to.

claudeSession — localhost:5173
claudeSession live
claudesession 2
recoverer 3
linkder 1
brutaltodo 2
aiBoss 5
82a2d75a working 2m ago
curl -s http://localhost:3333/api/…
focus
kill
subagent subagent 1m ago
Explore · exploring codebase
e77c99d5 waiting 8m ago
Claude is waiting for your input
focus

Every tab says "Claude Code"

With 10–20 sessions open, there's no session registry, no process naming, no status indicator. The hooks exist in Claude Code but they feed nothing by default. So you click around, run pwd, scroll back to find the first message — and still end up answering the wrong session.

Before
Claude Codewhich project?
Claude Codeworking? waiting?
Claude Codewhich project?
Claude Codeis it dead?
Claude Codewhich project?
Claude Codesubagent?
Claude Codewhich project?
What actually goes wrong
You answer the wrong session Detailed feedback, approved approach, "proceed" — on the payment service you weren't touching
👻
Zombies stay "working" forever Sessions that crashed without a Stop hook look alive. You wait. Nothing comes.
🌀
Subagents disappear into the void Claude spawns three parallel agents. You have no idea which terminal is which, or if they're still running
After claudeSession
🟢
Project-grouped dashboard Sessions sorted by project, with live status dots and timestamps
One-click focus Jump straight to the terminal tab running that session
🌲
Subagent trees See which agents were spawned by which parent session
🔁
Resume in one click Stale sessions get a Resume button — picks up right where you left off
Hook-native, not polling
Status changes appear in milliseconds — claudeSession sits inside Claude's own hook pipeline. No file watching, no polling loop, no lag.
Identity, not metrics
Most Claude tools track tokens and cost. claudeSession tracks which session is which, who spawned whom, and which ones crashed without telling you.
Focus actually focuses
Clicking "Focus" calls a PowerShell UI Automation script that switches the Windows Terminal tab. Not just "here's the PID" — it moves focus to the right terminal.

No patches. No internals.
Just hooks and a dashboard.

📡

Real-time status

Live WebSocket feed from Claude Code hooks. Status updates the moment a session changes — working, waiting, responding, done, or crashed.

Live · WebSocket
📁

Project grouping

Sessions are automatically grouped by project directory — including worktrees. One sidebar row per project, however many sessions it has open.

Auto-grouped
🎯

Focus & resume

Jump to any running session's Windows Terminal tab with one click. For stale sessions, hit Resume to open a new tab with claude --resume pre-loaded.

Windows Terminal
🕵️

Orphan detection

Scans for node.exe processes running Claude CLI that aren't tracked. Surface them as "orphans" and kill them in one click — no more ghost processes eating RAM.

Process scanner

Run it locally in
under a minute

1
Clone the repo Get the source from GitHub
2
Install dependencies Node.js 18+ required
3
Start the server Backend on :3333, UI on :5173
4
Wire up hooks Point your Claude Code hooks at session-hook.js
Requirements
Node.js 18+
Windows 11 (primary — Windows Terminal for tab focus)
Claude Code with hooks enabled
bash
# Clone
$ git clone https://github.com/ibrahimokdadov/claudeSession
$ cd claudeSession

# Install
$ npm install

# Run (backend + UI dev server)
$ npm run dev

# Open dashboard
http://localhost:5173