The Dashboard Claude Code Deserves
Real-time monitoring β’ Budget alerts β’ 30-day forecasting
Install with Homebrewπ View Architecture Diagram
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β ccboard β
β (Binary CLI) β
βββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ
β
βββββββββββ΄βββββββββββ
β β
βββββββββΌβββββββββ ββββββββββΌβββββββββ
β ccboard-tui β β ccboard-web β
β (Ratatui 9 β β (Axum API + β
β tabs) β β Leptos UI) β
βββββββββ¬βββββββββ ββββββββββ¬βββββββββ
β β
βββββββββββ¬βββββββββββ
β
βββββββββββΌβββββββββββ
β ccboard-core β
β (Data layer + β
β SQLite cache) β
ββββββββββββββββββββββ
Everything You Need to Monitor Claude Code
Cost Tracking
Budget alerts, 30-day forecasting, billing blocks
- Costs
- Analytics
- History
Session Monitoring
Live processes (CPU/RAM/Tokens), search, detail view
- Sessions
- Dashboard
Config Management
3-level merge, hooks, agents, MCP servers
- Config
- Hooks
- Agents
- MCP
View all 9 tabs in detail β
Dashboard
Overview stats, model usage, MCP servers, 7-day activity, API usage estimation with plan budgets.
Sessions
Browse all sessions with search, live Claude processes with CPU/RAM/Tokens, detail view.
Config
Cascading configuration editor (global/project/local) with 4-column diff view.
Hooks
Event-based hook management with bash syntax highlighting and test mode.
Agents
Browse agents, commands, and skills with frontmatter YAML parsing and invocation stats.
Costs
Token analytics with 4 tabs: Overview, By Model, Daily costs, Billing Blocks.
History
Full-text search across sessions with temporal patterns, filters, and CSV/JSON export.
MCP
Server management with status detection and env vars display.
Analytics
Advanced analytics with 4 sub-views: Budget tracking, Trends, Patterns, Insights.
Instant Startup, Even With Thousands of Sessions
Claude Code stores every session as a JSONL file in ~/.claude. After a few months, you accumulate thousands of files and gigabytes of data. Parsing all of that on every launch would take 20+ seconds.
ccboard solves this with a local SQLite cache: it scans your files once, then loads from cache on every subsequent launch. The result?
How it works under the hood β
| Scenario | What happens | Time |
|---|---|---|
| First launch | Scans all JSONL files, builds SQLite cache | ~20s (one-time) |
| Every next launch | Loads from cache, re-parses only changed files | 224ms |
| New session created | File watcher detects change, updates cache incrementally | <500ms |
- SQLite with WAL mode: concurrent reads while writing
- mtime-based invalidation: only re-parse files that actually changed
- Metadata-only scan: full session content loaded on-demand, not at startup
- Parallel directory scanning: multiple project folders scanned concurrently
See It In Action
Dashboard with overview stats and 7-day activity
Sessions browser with live CPU/RAM/Tokens monitoring
Configuration viewer with 4-column diff
Hooks management with syntax highlighting
Agents manager with custom persona configurations
Cost analytics with billing blocks and token breakdown
History search with temporal patterns
MCP servers status with environment variables
Advanced analytics with budget tracking and trends
Web dashboard with interactive charts and live stats
Browse sessions with search, filters, and pagination
Visual configuration editor with live validation
Hook editor with syntax highlighting and test runner
Browse and configure custom AI personas
Interactive cost analytics with charts and breakdowns
Timeline view of all Claude Code activities
MCP server monitoring with real-time status
Advanced analytics with forecasting and insights
Learning Paths
Choose your path based on your needs and available time
β‘ Quick Start (5 min) - Get running immediately
- Install:
brew tap FlorianBruniaux/tap && brew install ccboard - Launch TUI:
ccboard - Navigate: Use 1-9 to jump between tabs, Tab to cycle
- Explore: Dashboard (tab 1) for overview, Sessions (tab 2) for recent activity
Goal: See your Claude Code stats and sessions in under 5 minutes
π Session Monitoring (10 min) - Track live Claude processes
- Sessions tab (2): See all your sessions with live process monitoring
- Live processes: Active Claude sessions show CPU/RAM/Tokens in real-time
- Search: Press / to search sessions by content or project
- Detail view: Press Enter for full session metadata (17 fields)
- CLI search:
ccboard search "bug fix"
Goal: Monitor active sessions and search historical activity
βοΈ Configuration & Budget (15 min) - Customize your setup
- Config tab (3): See 4-column diff (global/project/local/merged)
- Set plan: Edit
~/.claude/settings.jsonβ{"subscriptionPlan": "max20x"} - Budget alerts: Add
{"budget": {"monthlyBudgetUsd": 50.0, "alertThresholdPct": 80.0}} - Analytics tab (9): See budget status with visual warnings (green/yellow/red)
- Hooks tab (4): Test your hooks with syntax highlighting
Goal: Configure subscription plan and set up budget alerts
π Power Users (30 min) - Master advanced features
- CLI workflow: Use
ccboard recent 10 --jsonfor scripting - Resume sessions:
ccboard resume <id>to continue work seamlessly - Analytics (tab 9): 30-day forecasting, usage patterns, session duration stats
- Export data: History tab β CSV/JSON export for analysis
- Web interface:
ccboard web --port 3333for browser access - Dual mode:
ccboard both --port 3333runs TUI + Web simultaneously - Env vars:
CCBOARD_FORMAT=json ccboard statsfor CI/CD integration
Goal: Integrate ccboard into your workflow with CLI, web interface, and automation
Why ccboard?
The only actively-maintained Rust TUI combining Claude Code monitoring, config management, hooks, agents, and MCP servers in a single 5.8MB binary.
| Feature | ccboard | agtrace | claudelytics | ccusage |
|---|---|---|---|---|
| Status | β Active | β Active | π΄ Stale 6m | β Active |
| Stars | 0 | 23 | 62 | 10,361 |
| Language | Rust | Rust | Rust | TypeScript |
| Type | TUI+Web | TUI | TUI | CLI |
| TUI Dashboard | β 9 tabs | β Single view | β 8 tabs | β |
| Config Viewer (3-level) | β | β | β | β |
| Hooks Viewer + Test | β | β | β | β |
| Agents Browser | β | β | β | β |
| MCP Status Detection | β | β | β | β |
| SQLite Cache (89x) | β | β Pointer | β | β |
| Export CSV/JSON | β | β | β | β JSON |
| Live File Watcher | β | β Poll 1s | β | β |
| Advanced Analytics | β 4 views | β | β οΈ Burn rate | β |
| Single Binary | β 5.8MB | β Rust | β Rust | β npm |
Unique to ccboard
- Only multi-concern dashboard (config + hooks + agents + MCP + analytics)
- Config 3-level merge viewer (global/project/local)
- Hooks syntax highlighting + test mode
- Agents/Commands/Skills browser with invocation stats
- MCP server status detection
- SQLite metadata cache (89x faster startup)
- Advanced Analytics: 30-day forecasting, budget alerts, session duration stats
- Dual TUI + Web in single binary
Quick Start
Get started in 30 seconds:
Recommended: Homebrew
brew tap FlorianBruniaux/tap
brew install ccboard
macOS & Linux users: Fastest installation method with automatic updates
Alternative: cargo install
cargo install ccboard
Requirements: Rust 1.85+ (Claude Code users already have Rust installed)
Pre-built binaries: Available from GitHub Releases
Launch Dashboard
# TUI (default)
ccboard
# Web interface
ccboard web --port 3333
# Both TUI + Web
ccboard both --port 3333
# Stats summary
ccboard stats
CLI Commands (v0.4.0+)
# Session management
ccboard search "query" # Search sessions by content
ccboard recent 10 # Show 10 most recent sessions
ccboard info <session-id> # Display detailed session metadata
ccboard resume <session-id> # Resume session in Claude CLI
# Maintenance
ccboard clear-cache # Clear SQLite cache (after upgrades)
All commands support JSON output: ccboard recent 10 --json
Keybindings
# Navigation
1-9 Jump to specific tab
Tab Next tab
j/k Move down/up (vim style)
/ Search (Sessions, History)
: Command palette
# File operations
e Edit file in $EDITOR
o Reveal in file manager
# Other
r Refresh data
? Show help
q Quit
Environment Variables
For automation and CI/CD workflows:
| Variable | Description | Example |
|---|---|---|
CCBOARD_CLAUDE_HOME |
Override Claude home directory | CCBOARD_CLAUDE_HOME=/custom/path ccboard |
CCBOARD_NON_INTERACTIVE |
Disable interactive prompts (CI/CD mode) | CCBOARD_NON_INTERACTIVE=1 ccboard stats |
CCBOARD_FORMAT |
Force output format: json or table |
CCBOARD_FORMAT=json ccboard recent 10 |
CCBOARD_NO_COLOR |
Disable ANSI colors (log-friendly) | CCBOARD_NO_COLOR=1 ccboard search "bug" |
# CI/CD: JSON output without colors
CCBOARD_NON_INTERACTIVE=1 CCBOARD_NO_COLOR=1 CCBOARD_FORMAT=json ccboard stats
# Log-friendly: No colors for file redirects
CCBOARD_NO_COLOR=1 ccboard recent 50 > sessions.log
FAQ
What is ccboard?
ccboard is a unified TUI/Web dashboard for Claude Code management. It provides 9 interactive tabs for monitoring sessions, analyzing costs, managing config, hooks, agents, and MCP servers. Built in Rust with a 5.8MB binary.
How does the cache work?
ccboard uses SQLite to cache session metadata with mtime-based invalidation. This provides an 89x speedup (20s β 224ms) after the first run, with >99% cache hit rate. The cache only stores metadata; full session content is loaded on-demand.
Does it work on Linux/Windows?
Yes! ccboard supports macOS (fully tested), Linux (community-tested), and Windows (experimental). Platform-specific features like file manager integration are cross-platform compatible.
How much does it cost?
ccboard is free and open-source, licensed under MIT OR Apache-2.0. No subscription, no hidden costs. The cost analytics features help you track your Claude API usage.
Can I use the web interface?
Yes! Run ccboard web --port 3333 for the web UI, or ccboard both to run TUI + Web simultaneously. The web interface has 100% feature parity with the TUI (9 pages).
Does it support real-time monitoring?
Yes! ccboard includes a file watcher that monitors ~/.claude changes with 500ms debounce. Live updates appear in both TUI and Web (via Server-Sent Events). The Sessions tab also detects live Claude processes with CPU/RAM/Token metrics.
What's the difference with ccusage/agtrace?
ccusage (10K stars) is a CLI cost tracker (no dashboard). agtrace (23 stars) focuses on observability with MCP self-reflection. ccboard is the only multi-concern dashboard combining config, hooks, agents, MCP status, and advanced analytics with forecasting in a single TUI+Web binary.
What's new in v0.5.0?
Sprint 1 UX/UI improvements with 60% visual enhancement:
- Visual Design System: 4-level elevation shadows, improved contrast (+16 luminosity), semantic border radius
- Config Page: Real-time search with highlighting, one-click JSON copy, fullscreen modal viewer
- Dashboard: Clickable KPI cards for navigation, session preview tooltips on hover
- Bug Fixes: Cost calculation now shows accurate Anthropic pricing (was $0.00), fixed "model unknown" in History
714 additions across 7 files. See full changelog.
How do I track my budget?
Configure custom monthly budgets with automatic alerts in the Analytics tab (Tab 9):
- Edit
~/.claude/settings.json - Add:
{"budget": {"monthlyBudgetUsd": 50.0, "alertThresholdPct": 80.0}} - Launch ccboard and go to Analytics tab (press 9)
- See budget status with visual warnings (π’ safe / π‘ caution / π΄ warning)
Alert types: Budget warning (β₯80%), projected overage (forecast), usage spike (anomaly detection).
Does it support Homebrew?
Yes! Homebrew is the recommended installation method for macOS and Linux users:
brew tap FlorianBruniaux/tap
brew install ccboard
Benefits: Automatic updates via brew upgrade, clean uninstall with brew uninstall ccboard, no Rust toolchain required. Added in v0.5.1.
How do I contribute?
Contributions welcome! See CONTRIBUTING.md for guidelines. Fork the repo, create a feature branch, run tests (cargo test --all), and open a Pull Request. Zero clippy warnings required.