Skip to content

Repository files navigation

Claude Ops

A real-time command center for monitoring and controlling Claude Code sessions.

Claude Ops Dashboard

Features

  • Fleet overview — See all active sessions at a glance with status filtering
  • Live status — Mission/Now/Last updates via .claude/status.md hooks
  • Embedded terminals — Attach to any session with claude --resume
  • Real-time sync — Durable Streams for instant state updates

Quick Start

# Install dependencies
pnpm install

# Set API key for AI summaries
export ANTHROPIC_API_KEY=sk-ant-...

# Start daemon + UI
pnpm start

Open http://localhost:5173

Architecture

┌────────────────────────┐                  ┌──────────────────────┐
│ Claude Code Sessions   │  tail + hooks   │ Session Daemon       │
│ ~/.claude/projects     │────────────────▶│ - Log parser         │
│ ~/.claude/**/status.md │                 │ - XState status      │
└────────────────────────┘                 │ - Durable Streams    │
                                           │ - PTY bridge         │
                                           └──────────┬───────────┘
                                                      │
                              stream state ───────────┤
                              (HTTP)                  │
                                                      │
                              terminal IO ────────────┤
                              (WebSocket)             │
                                                      ▼
                                           ┌───────────────────────┐
                                           │ React UI              │
                                           │ - Fleet list          │
                                           │ - xterm.js terminal   │
                                           └───────────────────────┘

Session Status

Status Description
Running Claude is actively processing
Needs Input Waiting for user approval or input
Idle No activity for 5+ minutes

Status is derived from log entries using an XState machine. The daemon watches for:

  • User prompts and tool results
  • Assistant responses and tool requests
  • System events (turn end, hooks)

Status Hooks

Create .claude/status.md in your project for live updates:

Mission: Implement user authentication
Now: Writing login form component
Last: Created auth context provider

Ports

Port Service
4450 Durable Streams (session state)
4451 PTY WebSocket (terminal attach)
5173 UI dev server

Development

pnpm serve  # Daemon only (port 4450)
pnpm dev    # UI only (port 5173)
pnpm start  # Both

Tech Stack

  • Daemon: Node.js, Chokidar, XState, node-pty, Durable Streams
  • UI: React, TanStack Router, xterm.js

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages