Skip to main content

A real-time kanban dashboard for monitoring Claude Code sessions across multiple servers

Project description

Claude Code Agent Kanban

A real-time web dashboard that monitors Claude Code sessions across multiple servers, displaying them as a kanban board with AI-powered task summaries.

If you run Claude Code on multiple machines simultaneously, it's easy to lose track of what each agent is doing. This tool SSHs into your servers, collects all active sessions, and presents them in a single unified view.

Claude Code Agent Kanban Screenshot

Features

  • Multi-server monitoring — SSH into remote servers to collect session data in parallel
  • Live kanban board — Sessions organized into Running / Completed / Errors columns
  • AI-powered summaries — Each session is summarized by Claude (via local claude CLI) with task description, progress status, and estimated completion percentage
  • Auto-refresh — Dashboard updates automatically; fast-polls on first load to pick up AI summaries quickly
  • Session lifecycle tracking — Sessions move from Running to Completed when the Claude Code process exits; resumed sessions move back to Running
  • Web-based configuration — Add/edit/remove SSH servers and test connections from the Settings panel, no config files needed
  • Summary caching — Summaries are cached on disk; unchanged sessions won't be re-summarized, even across restarts

Prerequisites

  • Python 3.11+
  • uv package manager
  • Claude Code CLI installed (used for AI summaries via claude -p)
  • SSH key-based access to remote servers (for multi-server monitoring)

Quick Start

Install with uv (recommended)

uvx claude-kanban

Run from source

git clone https://github.com/madsys-dev/claude-kanban.git
cd claude-kanban
uv run claude-kanban

Open http://localhost:5555 in your browser.

By default, it scans the local machine for Claude Code sessions. To add remote servers, click Settings in the top-right corner.

How It Works

  1. Session discovery — Scans ~/.claude/sessions/*.json on each server to find active Claude Code processes
  2. Conversation parsing — Reads the corresponding JSONL conversation logs from ~/.claude/projects/ to extract message history
  3. AI summarization — Sends conversation excerpts (first 3 + last 6 messages) to claude -p --model haiku for summarization
  4. Lifecycle tracking — When a session's PID disappears, it moves to the Completed column. If resumed, it moves back to Running

Configuration

All configuration is done through the web UI (Settings button). Under the hood, settings are persisted to ~/.claude-kanban/config.yaml:

include_local: true
servers:
  - host: gpu-server-1.example.com
    user: ubuntu
    label: GPU Server 1
  - host: 10.0.0.50
    user: root
    port: 2222
    key: ~/.ssh/id_ed25519
    label: Dev Box

Server options

Field Required Default Description
host Yes Hostname or IP
user No Current user SSH username
port No 22 SSH port
key No ~/.ssh/id_rsa Path to SSH private key
label No Same as host Display name on the dashboard

Remote server requirements

  • Python 3 installed
  • Claude Code installed (sessions stored in ~/.claude/)
  • SSH key-based authentication configured

Environment variables

Variable Default Description
KANBAN_CONFIG ~/.claude-kanban/config.yaml Path to configuration file
KANBAN_DATA_DIR ~/.claude-kanban Data directory for config and summary cache

API

Endpoint Method Description
GET /api/sessions GET Returns all sessions (cached 30s)
POST /api/refresh POST Force refresh and return sessions
GET /api/servers GET List configured servers
POST /api/servers POST Add a server
PUT /api/servers/<id> PUT Update a server
DELETE /api/servers/<id> DELETE Remove a server
POST /api/servers/<id>/test POST Test SSH connection
PUT /api/config/local PUT Toggle local machine scanning

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_kanban-0.1.0.tar.gz (492.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_kanban-0.1.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file claude_kanban-0.1.0.tar.gz.

File metadata

  • Download URL: claude_kanban-0.1.0.tar.gz
  • Upload date:
  • Size: 492.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.9

File hashes

Hashes for claude_kanban-0.1.0.tar.gz
Algorithm Hash digest
SHA256 931ec55c13326f2bd1523c45a29a08f0176e83bd9802d4407cc16e7286bdafab
MD5 fedcca65a2059b8828c358597787f218
BLAKE2b-256 6d23d64b07dd624d6e56e46aaef9ea028d02c6e29403ce070eec6ccbf2c49773

See more details on using hashes here.

File details

Details for the file claude_kanban-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for claude_kanban-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 74281633c61fa2b5eace30e44022347877e6a43731aea2b92a159ba9542f4641
MD5 f6296d47be5d7cb21167d89eb7dbe40a
BLAKE2b-256 f8c2d1daaa3ab58343099930f082e1dd83629ab0a121d42b202c6393ac3e3bf5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page