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.
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
claudeCLI) 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
Install with pip
pip install claude-kanban
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
- Session discovery — Scans
~/.claude/sessions/*.jsonon each server to find active Claude Code processes - Conversation parsing — Reads the corresponding JSONL conversation logs from
~/.claude/projects/to extract message history - AI summarization — Sends conversation excerpts (first 3 + last 6 messages) to
claude -p --model haikufor summarization - 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_kanban-0.2.0.tar.gz.
File metadata
- Download URL: claude_kanban-0.2.0.tar.gz
- Upload date:
- Size: 493.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
649af8a40e587ef05a696921bdce0c3cf410c8e19785adb5d91bdded7315eca2
|
|
| MD5 |
3cc4fb6ff405c755225bb4a9566582de
|
|
| BLAKE2b-256 |
5bf4d69fd6dcdc48661be6e4a674a8dd01e638e559be129ea3a57a1ec38ea60f
|
File details
Details for the file claude_kanban-0.2.0-py3-none-any.whl.
File metadata
- Download URL: claude_kanban-0.2.0-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9268491ccf2aafbfff6b827ea81685167672c2e1894405317e649b263e0958bf
|
|
| MD5 |
3c72565d321ed178f420864cdad1ee6e
|
|
| BLAKE2b-256 |
1b5468505772ffd17d1550b083a1b8e4b18f74c0f6448a04f00cd65f317778f8
|