Skip to content
/ ccmon Public

Real-time dashboard for your Claude Code sessions

License

Notifications You must be signed in to change notification settings

appaquet/ccmon

Repository files navigation

Claude Code Monitor (ccmon)

Warning

This project is vibe-coded. Don't expect anything stable.

Real-time dashboard for your Claude Code sessions.

Screenshot 2026-02-22 at 14 29 37

Quick Start

  1. Install — see Installation or run locally with bun run serve
  2. Configure hooks — see Hook Configuration
  3. Start server with ccmon serve
  4. Open http://localhost:8080 in your browser

Features

  • View all your active Claude Code sessions, including their status, context usage, task progress, and sub-agents
  • Visual notifications for Claude Code when user attention is required (permission requests, stopped sessions, etc.)

Commands

ccmon serve [--port N]  # HTTP + WebSocket server (default port 8080)
ccmon status            # Hook handler: reads event from stdin, writes status file
ccmon dump              # Print all project states as JSON
ccmon dump --watch      # Stream project states on change

dump and dump --watch are primarily for debugging/scripting.

Installation

Via flakes

# Add flake input:
inputs.ccmon.url = "github:appaquet/ccmon";

# Add to packages:
inputs.ccmon.packages.${system}.default

Hook Configuration

Configure Claude Code hooks in ~/.claude/settings.json (or project-level .claude/settings.json). The project use them to track real-time signals that aren't available through watching session files.

{
  "hooks": {
    "UserPromptSubmit": [
      {
        "matcher": "",
        "hooks": [
          { "type": "command", "command": "ccmon status" }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "",
        "hooks": [
          { "type": "command", "command": "ccmon status" }
        ]
      }
    ],
    "PermissionRequest": [
      {
        "matcher": "",
        "hooks": [
          { "type": "command", "command": "ccmon status" }
        ]
      }
    ],
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          { "type": "command", "command": "ccmon status" }
        ]
      }
    ],
    "SessionEnd": [
      {
        "matcher": "",
        "hooks": [
          { "type": "command", "command": "ccmon status" }
        ]
      }
    ],
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          { "type": "command", "command": "ccmon status" }
        ]
      }
    ],
    "SessionStart": [
      {
        "matcher": "",
        "hooks": [
          { "type": "command", "command": "ccmon status" }
        ]
      }
    ]
  }
}

Development

bun install     # Install dependencies
bun test        # Run tests
bun run dump    # Dump project states
bun run serve   # Start server

About

Real-time dashboard for your Claude Code sessions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages