Find, manage and launch your previous Claude Code sessions.
A local-first dashboard for Claude Code power users. Star sessions, rename them, organize by project, sort by activity, read full conversations, and resume any session from the browser. Everything runs locally — no data leaves your machine.
Fork of claude-session-dashboard by Dmytro Lupiak.
- Star sessions — star important sessions so they always appear first
- Rename sessions — give sessions meaningful names instead of auto-generated titles
- Sort sessions — by latest activity, most messages, longest duration, largest size, or starred only
- Launch sessions — click "Launch" to resume any session in a new terminal (Windows, macOS, Linux)
- Copy resume command — copy
claude --resume <id>to clipboard from the overflow menu
- Rename projects — give projects meaningful names instead of folder-derived defaults
- Star projects — starred projects surface their latest session to the top of the dashboard
- Hide projects — remove noisy or old projects from all views (recoverable via Projects page)
- Project badges — every session card shows a clickable blue "Project:" badge that filters by project
- Sessions view — flat list of all sessions with sorting, filtering, and search
- Projects view — sessions grouped under collapsible project headers with pin/hide controls
- Projects page — dedicated page for managing all projects (star, hide, view stats)
- Stats page — usage analytics: token trends, model usage, cost estimates, activity heatmap
- Full chat history — expandable conversation section on the session detail page shows all user and assistant messages with timestamps and tool call annotations
- Cmd+K — global keyboard shortcut to focus search
- Search — filter by project name, branch, session ID, working directory, or custom session name
- Full-text conversation search — searches inside all messages when query is 3+ characters, shows matching snippets with timestamps
- Active session detection — detects running sessions even when idle (1-hour threshold)
- Node.js v18 or later
- Claude Code installed — the dashboard reads session data from
~/.claude/projects/ - At least one Claude Code session run (so there's data to display)
git clone https://github.com/GodotH/rewind-dashboard.git
cd rewind-dashboard/apps/web
pnpm install --frozen-lockfile
pnpm run dev -- --port 3030Open http://localhost:3030 in your browser.
- Browse — your sessions appear on the Dashboard, sorted by most recent
- Star — click the ★ icon to pin a session to the top
- Rename — click
...on a card, then "Rename" - Sort — use the dropdown (top right) to sort by activity, duration, or size
- Switch views — toggle between "Sessions" (flat) and "Projects" (grouped)
- Launch — click the green "Launch" button to resume a session in your terminal
- Manage projects — click "Projects" in the sidebar to star, hide, or browse project stats
Create start-rewind.vbs:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd /c cd /d ""C:\path\to\rewind-dashboard\apps\web"" && pnpm run dev -- --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 $triggercat > ~/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>pnpm</string><string>run</string><string>dev</string><string>--</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.plistmkdir -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=pnpm run dev -- --port 3030
Restart=on-failure
[Install]
WantedBy=default.target
EOF
systemctl --user enable --now rewind-dashboardNot tested. These are theoretical instructions.
Rewind Dashboard is a web app — it runs in any browser. To access from an iPhone or iPad:
Local network: Start with pnpm run dev -- --port 3030 --host 0.0.0.0, then open http://<your-ip>:3030 in Safari. Add to Home Screen for an app-like experience.
Remote access: Use Tailscale or Cloudflare Tunnel (cloudflared tunnel --url http://localhost:3030).
Limitations: The Launch button won't work (no terminal on iOS). The dashboard must run on the machine where ~/.claude/ exists.
Claude Code stores session data as JSONL files in ~/.claude/projects/. Rewind scans these files:
- Sessions — parsed from JSONL (timestamps, messages, tokens, tool calls, models)
- Active detection — lock directory exists + JSONL modified within 1 hour
- Metadata — pins, renames, and hidden projects stored in
~/.claude-dashboard/session-metadata.json - Launcher — cross-platform session resume:
- Windows:
.batscript viacmd.exe /c start - macOS:
osascriptwith Terminal.app (full shell environment) - Linux:
.shscript (sources~/.bashrc) in gnome-terminal/konsole/xterm
- Windows:
Nothing is sent to any server. All data stays local.
User metadata is stored in a single JSON file at ~/.claude-dashboard/session-metadata.json:
{
"version": 1,
"sessions": {
"<sessionId>": { "pinned": true, "customName": "Auth refactor" }
},
"projects": {
"<projectPath>": { "pinned": true, "hidden": false, "customName": "My Project" }
}
}Sparse storage — only non-default entries are written. Atomic writes (.tmp + rename) prevent corruption.
In the default "Latest" sort mode, sessions are ordered:
- Starred sessions — explicitly starred, always first
- Starred project representative — one latest session per starred project
- Recency — everything else by last activity
Other sort modes (Most Active, Longest, Largest) sort literally without star boosting.
cd apps/web
pnpm install --frozen-lockfile
pnpm run dev -- --port 3030 # dev server
pnpm test # run testsNote: Production build has a known TanStack Start issue on Node v24. Use dev mode (
pnpm run dev).
Built on claude-session-dashboard by Dmytro Lupiak — a read-only analytics dashboard for Claude Code sessions. Rewind Dashboard adds session management, conversation viewing, sorting, project organization, and cross-platform session launching.
MIT — Copyright (c) 2026 Godot Huard. Original dashboard Copyright (c) 2026 Dmytro Lupiak.