Your Claude Code sessions deserve better than ~/.claude/projects/.
A local dashboard for Claude Code power users who've accumulated more sessions than they can remember. Browse, search, star, rename, and launch past sessions from a clean web UI. See what's actively running, what it cost you, and which project quietly consumed 3.2M tokens at 3am.
Everything runs locally. Nothing phones home. We don't even know how to spell "telemetry."
| Feature | What it does |
|---|---|
| Star | Pin important sessions to the top. They earned it. |
| Rename | Give sessions real names. "chat-abc123" is not a personality. |
| Launch | One click to resume any session in your terminal. |
| Active detection | See which sessions are running right now (comforting green glow included). |
| Sort | By latest, most messages, longest, largest, or starred only. |
| Copy resume | claude --resume <id> to clipboard from the ... menu. |
Cmd+K/Ctrl+K— muscle memory, we got you- Full-text conversation search — not just titles, but what was actually said
- Project filter — dropdown or click a project badge on any card
- Rename, star, or hide projects from the dedicated Projects page
- Project badges — clickable labels on every session card
- Starred project surfacing — latest session from your starred projects floats to the top of the dashboard
- At-a-glance metrics — sessions, messages, tokens, estimated cost
- Activity heatmap — like GitHub's contribution graph, but for your AI conversations
- Token usage over time — daily or weekly, broken down by model
- Hourly distribution — discover that you apparently code at 2am more than you thought
Full chat history on the session detail page — every message, tool call, and timestamp. For when you need to figure out what you asked Claude to do before your morning coffee.
git clone https://github.com/mr-godot/rewind-dashboard.git
cd rewind-dashboard/apps/web
npm install
npx vite --port 3030Open http://localhost:3030. That's it.
- Node.js 18+ — install instructions per OS below
- Claude Code installed — Rewind reads session data from
~/.claude/projects/ - At least one Claude Code session (go talk to Claude, we'll wait)
Install Node.js — Windows
winget install OpenJS.NodeJS.LTSOr grab the installer from nodejs.org. Then run the four Quick Start commands above in PowerShell or Windows Terminal.
Install Node.js — macOS
brew install nodeOr download from nodejs.org. Then run the four Quick Start commands above.
Install Node.js — Linux
# Debian / Ubuntu
sudo apt install -y nodejs npm
# …or via nvm (recommended for an up-to-date version)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install --ltsThen run the four Quick Start commands above.
Linux is fully supported (the app is pure Node + browser) but less battle-tested than Windows and macOS — bug reports welcome. The in-terminal Launch button uses
gnome-terminal,konsole, orxterm.
- Browse — sessions appear on the Dashboard, sorted by most recent
- Star — click ★ to pin a session to the top
- Rename — click
...→ Rename (you'll thank yourself later) - Search —
Cmd+Kto find anything across all sessions - Launch — green button resumes any session in your terminal
- Projects — sidebar link to organize, star, and hide projects
Claude Code stores sessions as JSONL files under ~/.claude/projects/. Rewind scans them on a timer and presents a proper UI:
- Sessions — parsed from JSONL: timestamps, messages, tokens, tool calls, models
- Active detection — dual-strategy: lock directory check (15min threshold) + file modification time (2min) for newer Claude Code versions
- Metadata — your pins, renames, and hidden projects live in
~/.claude-dashboard/session-metadata.json - Launch — cross-platform session resume:
- Windows: titled
.batscript viacmd.exe /c start "Rewind Session <id>"(self-deletes on exit) - macOS:
osascriptwith Terminal.app - Linux:
gnome-terminal/konsole/xterm
- Windows: titled
Zero network requests. Your sessions stay on your machine.
Windows — scheduled task
Create start-rewind.vbs:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd /c cd /d ""C:\path\to\rewind-dashboard\apps\web"" && npx vite --port 3030", 0, FalseRegister as a scheduled task:
$action = New-ScheduledTaskAction -Execute "wscript.exe" -Argument '"C:\path\to\start-rewind.vbs"'
$trigger = New-ScheduledTaskTrigger -AtLogOn
Register-ScheduledTask -TaskName "RewindDashboard" -Action $action -Trigger $triggermacOS — launch agent
cat > ~/Library/LaunchAgents/com.rewind-dashboard.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key><string>com.rewind-dashboard</string>
<key>ProgramArguments</key>
<array><string>npx</string><string>vite</string><string>--port</string><string>3030</string></array>
<key>WorkingDirectory</key><string>/path/to/rewind-dashboard/apps/web</string>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
</dict>
</plist>
EOF
launchctl load ~/Library/LaunchAgents/com.rewind-dashboard.plistLinux — systemd user service
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/rewind-dashboard.service << 'EOF'
[Unit]
Description=Rewind Dashboard
[Service]
WorkingDirectory=/path/to/rewind-dashboard/apps/web
ExecStart=npx vite --port 3030
Restart=on-failure
[Install]
WantedBy=default.target
EOF
systemctl --user enable --now rewind-dashboardRewind is a web app — any browser works. Start with npx vite --port 3030 --host 0.0.0.0, then open http://<your-ip>:3030 from your phone. Add to Home Screen for an app-like experience.
For remote access: Tailscale or Cloudflare Tunnel work great.
The Launch button won't work from mobile (no terminal). Everything else does.
When you click Launch, Rewind opens a new terminal window running claude --resume. On Windows, this window is titled Rewind Session <id-prefix> (where <id-prefix> is the first 8 characters of the session UUID) so you can confirm it came from Rewind. You can close these windows at any time — closing the terminal ends that Claude session but does not affect the dashboard or other sessions.
Versions of Rewind prior to this fix could occasionally leave unlabeled cmd.exe windows behind after a Claude session ended or the Vite dev server was killed. If you see unfamiliar console windows on your desktop with no obvious title, they are almost certainly harmless orphans from a previous session — just close them, or kill them via PowerShell:
Get-Process cmd | Where-Object { $_.MainWindowTitle -eq '' } | Stop-ProcessNew launches (with the titled-window fix) no longer produce these orphans, and the temporary .bat files they spawn self-delete when the terminal exits.
TanStack Start + React · TanStack Router + React Query · Tailwind CSS v4 · Vite · Zod
cd apps/web
npm install
npx vite --port 3030 # dev server
npx vitest # testsNote: Both dev mode (
npx vite --port 3030) and the production build (npm run buildthennpm start) work. The in-app Launch session button only works in dev mode, since its endpoint runs as Vite dev-server middleware.
Built on claude-session-dashboard by Dmytro Lupiak — a read-only analytics viewer for Claude Code. Rewind adds session management, conversation viewing, project organization, active session detection, and cross-platform session launching.
MIT © 2026 Godot Huard.

