Dashcam
Deployment

Local Development

Run Dashcam on your development machine.

Local Development

Running Dashcam on your local machine is the primary use case. Two commands, thirty seconds, and you have full visibility into every Claude Code session on your machine.

Quick Start

Terminal
npx dashcam init && npx dashcam start

That is it. Open http://localhost:57580 in your browser.

The init command installs hooks into ~/.claude/settings.json and creates the ~/.dashcam/ data directory. The start command launches the daemon, which begins listening for hook events, watching JSONL files, and serving the dashboard — all in a single Bun process.

What Happens Next

Start a Claude Code session anywhere on your machine. The moment the session begins, Dashcam picks it up:

  1. The SessionStart hook fires, creating a session record in the dashboard
  2. Every PostToolUse event appears on the timeline within 100ms
  3. If a dev server is detected, screenshots are captured automatically
  4. The session card appears in the browser with a thumbnail and event count

You do not need to tell Dashcam which project to watch. It captures every Claude Code session system-wide via the hooks in ~/.claude/settings.json.

Dashboard

The dashboard is a React SPA served by the daemon at the configured port. It provides:

  • Session browser — Grid of session cards with thumbnails, like YouTube
  • Timeline — Canvas-rendered, 60fps scrubber with swim lanes
  • Dockable panels — Chat, Code, Result, Tests, Decisions, Cost
  • Live view — Real-time event streaming for active sessions
  • Search — Full-text search across all sessions

The dashboard is fully functional offline (all data is local SQLite). No internet connection required.

Port Customization

The default port is 57580. Change it with the --port flag:

Terminal
dashcam start --port 8080

Or set it permanently in your configuration:

~/.dashcam/config.json
{
  "port": 8080
}

The daemon binds to 127.0.0.1 by default, meaning only your local machine can access the dashboard. This is the correct setting for local development. See the Remote Server guide if you need network access.

Importing Past Sessions

If you have been using Claude Code before installing Dashcam, you can import your historical sessions:

Terminal
dashcam import

This scans ~/.claude/projects/ for existing JSONL files and ingests them into the database. You will immediately see your past sessions in the browser, complete with reconstructed timelines.

Running Alongside Claude Code

Dashcam is designed to coexist invisibly with Claude Code. The hooks use --max-time 1 and || true, so they never block or fail Claude Code. If you stop the daemon, hooks silently no-op. If you restart the daemon mid-session, it picks up the session from the JSONL watcher and continues as if nothing happened.

You can start and stop Dashcam as many times as you want. Session data persists in SQLite.

On this page