Skip to content

yunusemrgrl/claudedash

Repository files navigation

claudedash (Deprecated)

Important Update: This project is now deprecated!

claudedash was an experimental dashboard for Claude Code, featuring real-time Kanban, MCP server for self-querying, git snapshot/recover, quality gates, and more. However, I've decided to integrate its best features into a more mature and actively maintained project: siteboon/claudecodeui.

Why the switch?

  • Better community & features: siteboon/claudecodeui has 7k+ stars, desktop/mobile support, and already includes similar tools like TaskMaster Kanban and Git Explorer.
  • Benefits for you: Switch to siteboon for a more robust experience with ongoing updates.

If you're using claudedash, migrate now! Install siteboon/claudecodeui via npm i claudecodeui or check their README for setup.

Thanks for the support – let's build better AI tools together! 🚀

claudedash

Local control plane for AI coding agents: recover, guard, and steer execution.

npm version License: MIT CI

claudedash — real-time observability for Claude Code agents


The Problem

You tell Claude Code: "refactor the auth system." It says: "on it."

Terminal scrolls. Minutes pass. Is it on step 3 of 12? Stuck in a loop? Already done? Context almost full?

You have no idea.

claudedash fixes that with a local control plane:

  • State + safety first (queue state, context risk, quality gates)
  • Recovery first (snapshot + recover)
  • UI optional (API-first, browser view when needed)
npx -y claudedash@latest start

Need the web UI immediately?

npx -y claudedash@latest start --open

Who Is This For

This is for you if:

  • You run Claude Code agents on long tasks (>5 minutes) and need visibility
  • You've lost work because context filled up and the agent went silent
  • You want structured task tracking with dependencies and acceptance criteria

This is NOT for you if:

  • You only do short, single-turn Claude Code interactions
  • You need multi-user team infrastructure (this is a local-first developer tool)

Quick Start

# Zero-install — always gets the latest version
npx -y claudedash@latest start

# Open the companion web UI (optional)
npx -y claudedash@latest start --open

# Install lifecycle hooks (recommended)
claudedash hooks install

# Set up plan mode for structured task execution
claudedash init

That's it. The control plane auto-detects your Claude session files.


Features

  • Plan mode — structured execution with dependencies, acceptance criteria, and blocked-task detection
  • Context rollback — snapshot + recover to restore code and execution context together
  • Quality gates — lint / typecheck / test results per task with full timeline history
  • Context health — token risk warnings at 65% (warn) / 75% (critical)
  • Agent APIPOST /log, POST /agent/register, heartbeat, task automation endpoints
  • Hook integration — PostToolUse/Stop/PreCompact/PostCompact hooks stream live events
  • Live session monitor — optional web UI over ~/.claude/tasks/ + ~/.claude/todos/
  • MCP serverget_queue, get_sessions, get_cost, log_task for agent self-query
  • Zero infra — no database, no cloud, reads files from ~/.claude/ directly

Live Mode vs Plan Mode

Live Mode Plan Mode
What Watch Claude work in real time Structured project execution
Source ~/.claude/tasks/ .claudedash/queue.md
Setup None claudedash init
Use when Visibility matters Control matters
Deps / AC ✓ Full dependency graph
Execution log execution.log

Live mode is on by default. Both modes can run simultaneously.


Screenshots

Live View
Live View — Session Kanban + context health per agent
Queue
Queue — Plan mode task board with dependency graph
Worktrees
Worktrees — Parallel agents across git branches
Activity
Activity — Cost tracker + tool analytics per session
Context Health
Context Health — Live token usage, warnings at 65% / 75%
Terminal Start
Quick Start — One command, zero config

Install

# Zero-install, always latest
npx -y claudedash@latest start

# Or install globally
npm i -g claudedash
claudedash start

Plan Mode

Initialize in your project:

claudedash init

This creates .claudedash/ with:

File Purpose
queue.md Task list — slices, dependencies, acceptance criteria
workflow.md Execution protocol for your agent
execution.log Agent logs DONE / FAILED / BLOCKED here
CLAUDE.md Paste into your project's CLAUDE.md

queue.md format:

# Slice S1

## S1-T1

Area: Backend
Depends: -
Description: Setup database schema
AC: Tables created, migrations run

## S1-T2

Area: Backend
Depends: S1-T1
Description: Implement user auth
AC: Login and registration working

Tell your agent:

Follow .claudedash/workflow.md, start with S1-T1.

CLI

Command Description
claudedash start Start control plane API (auto-detect modes)
claudedash start --open Start API and open companion web UI
claudedash start -p 3000 Custom port
claudedash start --source claude-code Select source adapter (current: claude-code)
claudedash start --token <secret> Enable auth token
claudedash init Init plan mode in current directory
claudedash hooks install Install PostToolUse/Stop/PreCompact hooks
claudedash hooks install --git Also install git post-commit auto-snapshot
claudedash status Single-line terminal summary (no browser)
claudedash doctor Check setup: hooks, port, version, queue
claudedash snapshot --commit Save context snapshot tagged to HEAD commit
claudedash snapshots list List all saved snapshots
claudedash recover Summarize last session after /clear
claudedash recover <hash> Recover context from a specific commit

Sharing with Your Team

By default claudedash listens on 127.0.0.1 only.

# Start with a token
claudedash start --token mysecret123

# Or via env
CLAUDEDASH_TOKEN=mysecret123 claudedash start

Team access — use Authorization: Bearer header:

# In browser via tunnel (recommended)
ngrok http 4317
# → Share the ngrok URL with trusted teammates; API access requires Bearer token

# Via curl / API clients
curl -H "Authorization: Bearer mysecret123" http://your-host:4317/sessions

When you open the web UI with token auth enabled, claudedash shows a token sign-in screen and stores a short-lived auth cookie for browser requests.

Tip: Use a tunnel instead of exposing --host 0.0.0.0:

claudedash start --token $(openssl rand -hex 16)
ngrok http 4317

Security: --host 0.0.0.0 requires --token. Token is validated via Authorization: Bearer header only — never via query string.


Advanced Features

Context Health

Color-coded token usage per session — green → yellow → red at 65% / 75%. → Context Health docs

Quality Gates

Log lint, typecheck, test results per task via meta.quality in execution.log. See ✅/❌ inline in each card, with full timeline. → Quality Gates docs

Worktrees

Running agents across multiple git branches? The Worktrees tab maps sessions to branches by cwd, shows dirty/ahead/behind state, and lists which tasks are running where. Native support for claude --worktree <name> (creates .claude/worktrees/<name>/). → Worktree docs

Context Rollback

Something broke during vibe coding? Roll back your code and your Claude context together.

# 1. Auto-snapshot on every commit (one-time setup)
claudedash hooks install --git

# 2. When something breaks, find the last good commit
claudedash snapshots list
# [abc1234f]  Feb 23 14:02  main  12/15 done

# 3. Roll back code + context in two commands
git reset --hard abc1234f
claudedash recover abc1234f

The Snapshots tab in the dashboard shows all checkpoints with a one-click "Copy rollback" button.

MCP Server

Claude can query its own control plane:

claude mcp add claudedash -- npx -y claudedash@latest mcp
# If your claudedash server uses --token:
claude mcp add claudedash -- npx -y claudedash@latest mcp --token "$CLAUDEDASH_TOKEN"

Tools: get_queue, get_sessions, get_cost, get_history, log_task, create_task, register_agent, send_heartbeat.


API

Endpoint Description
GET /health Status, modes, connected clients
POST /auth/login Exchange token for browser auth cookie
POST /auth/logout Clear browser auth cookie
GET /sessions All sessions with context health
GET /sessions/:id/context Session JSONL summary
GET /events SSE stream
GET /snapshot Plan mode state
GET /queue Computed task statuses
GET /worktrees Git worktrees with task associations
GET /snapshots List all context snapshots
GET /snapshots/:hash Get snapshot by commit hash
DELETE /snapshots/:hash Delete a snapshot
GET /billing-block Current 5h billing window
GET /cost Estimated cost by model
POST /log Log task result
POST /plan/task Add task to queue.md
POST /agent/register Register an agent

Compatibility

claudedash reads ~/.claude/ files directly — no server integration required. → docs/compatibility.md — exact file paths, JSONL schema, and what breaks if Claude Code changes formats.


Stack

TypeScript · Fastify · chokidar · SSE · Next.js 16 · Tailwind CSS · Vitest


Development

git clone https://github.com/yunusemrgrl/claudedash.git
cd claudedash && npm install
cd dashboard && npm install && cd ..

npm run build    # Build core + dashboard
npm test         # Run tests
npm run dev      # Dev server with watch

Contributing

PRs welcome. Open an issue first for anything beyond small fixes. See Releases for version history.

License

MIT — not affiliated with Anthropic.