The Dashboard Claude Code Deserves
Real-time monitoring • Budget alerts • 30-day forecasting • Security audit • Light/Dark mode
View Architecture Diagram
Everything You Need to Monitor Claude Code
Cost Tracking
Budget alerts, 30-day forecasting, billing blocks
Session Monitoring
Live processes (CPU/RAM/Tokens), search, detail view
Config Management
3-level merge, hooks, agents, MCP servers
Security Audit
Cross-session violations feed, destructive command detection, credential exposure alerts
View all 10 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
Budget quota gauge with 4-level alerts (Safe/Warning/Critical/Exceeded), MTD cost, monthly projection, billing blocks export.
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.
Activity
Security audit tab (press `a`): per-session file/bash/network tool calls, cross-session violations feed sorted CriticalβWarningβInfo with remediation hints.
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.
ccboard solves this with a local SQLite cache: it scans your files once, then loads from cache on every subsequent launch.
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
- 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
Activity tab (press `a`): security audit with violations feed sorted by severity
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:
{"subscriptionPlan": "max20x"} - Budget alerts:
{"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:
ccboard recent 10 --json - Resume sessions:
ccboard resume <id> - 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 3333 - Dual mode:
ccboard both --port 3333 - Env vars:
CCBOARD_FORMAT=json ccboard stats
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 | β |
| Budget / Quota Management | β 4-level alerts | β | β | β |
| 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, session duration stats, activity patterns
- β’ Monthly budget limits with 4-level quota system (Safe β Warning β Critical β Exceeded) and MTD cost tracking
- β’ Dual TUI + Web in single binary
Dive Deeper
Explore the full documentation to get the most out of ccboard.
Getting Started β
Install, launch, and navigate ccboard in under 2 minutes.
9 Tabs Guide β
Deep dive into each tab: Dashboard, Sessions, Config, and more.
Configuration β
3-level config merge, environment variables, and CLI options.
CLI Commands β
search, recent, info, resume, stats, and more.
Web Interface β
100% feature parity with TUI. SSE live updates, responsive.
Performance β
SQLite cache, 89x speedup, mtime invalidation explained.
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
# Theme
Ctrl+T Toggle Light/Dark mode (persistent)
# 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