Open Source
Star on GitHub

Claude Deck

Follow and steer coding agents working on your GitHub issues

Claude Deck is a self-hosted workspace that shows which issues are queued, which agent owns each one, which pull requests wait for review, and which attempts need you. It works with the agent tools already on your machine: Claude Code, Codex CLI, GitHub Copilot CLI, OpenCode CLI and Pi.

Local-only No Deck account No Deck telemetry Work and Repositories Human actions Audit history Five harnesses

Work shows each tracked issue with its owner, waiting reason and pull request, with filters for team, repository and harness

Plan approval, operator action and human pull request review stay separate, and Deck shows which one is waiting

An audit ledger records delivery history, and metrics say what data they cover and where data is missing

Important: Claude Deck works with your real local agent files

It is not a mock viewer. Changes made in the UI can change the files your agent tools really use. Review changes carefully and create a backup before major edits. Claude Deck runs on your machine, with no Deck account and no Deck telemetry. GitHub and your agent tools still use their own services and credentials.

Who It’s For

Claude Deck is for technical operators who already have repositories, local agent tools, tmux sessions and their own model credentials, and who want to see the state of agent work without searching terminals.

Agent team operators

When a Leader, implementers and reviewers work through a backlog and you need to see who owns what and why work waits.

Multi-repository projects

When several repositories ship together and you need to see which ones are enabled, polling, paused or blocked.

Mixed-harness setups

When teams use more than one agent tool and you need to know what each tool supports before you rely on it.

Review owners

When you decide on pull requests and interventions and want a clear record of what was approved, by whom, and when.

Why use Claude Deck instead of GitHub and terminals alone?

GitHub is still where issues and pull requests live, and your agent tools still do the work. Claude Deck adds one operating view across teams and repositories: what is queued, who owns it, what waits for a person, and what needs attention.

Opening Overview, Work or Repositories only reads state. It does not dispatch work, send Mail or start a session. Protected actions, such as retry and recovery, ask for confirmation and check your authorization first.

GitHub and your agent files stay the source of truth Deck reads issues and pull requests from GitHub and works with your existing agent configuration and sessions. Deck keeps its own tracking and audit records, but GitHub stays the source for issues and pull requests.
Finished is not the same as reviewed A finished attempt is a tracking state. It does not show that the work was reviewed, reliable, cheaper or faster. Deck does not claim time saved or cost savings.

See It In Action

The Overview and Work pages of Claude Deck 3, shown with synthetic example records.

Claude Deck Overview page with synthetic example records: work counts by state, automation observation, and a needs-review table
Claude Deck Work page with three synthetic example issues, their stage, owner, waiting reason and pull request

These images use synthetic example records from Claude Deck 3.0.0. They show no real issues, repositories or settings.

Features

Follow agent work on GitHub issues, and keep configuration, communication, sessions and teams in the same place.

Overview and Work

See queued, active and waiting issues with their owner, waiting reason and pull request. Filter by team, repository and harness. Counts are complete for the filter you choose.

Read the docs

Repositories

Compare what you configured with what is really happening. See which repositories are enabled, polling, paused, blocked or unknown.

Read the docs

Harnesses

Check what Claude Code, Codex CLI, GitHub Copilot CLI, OpenCode CLI and Pi support. Readiness is shown per harness. Support differs between harnesses.

Read the docs

Human actions, audit and metrics

Review confirmations and recovery steps before you run them. An audit ledger records delivery history. Metrics show their coverage and their gaps.

Read the docs

Agent Mail

Inspect context requests, handoffs and replies between local agents. Agent decisions stay separate from human pull request review.

Read the docs

Agent Teams

Save team rosters, choose a Leader, review a launch plan, and use recovery steps within finite policies.

Read the docs

Agent Bridge

Monitor and attach to agent tmux sessions from the browser, and start sessions by hand without turning on automatic dispatch.

Click to preview

MCP Servers

Add, test, and manage MCP server connections with a visual interface.

Click to preview

Configuration

Visual editor for Claude Code settings and safe Codex TOML settings with merged and individual views.

Click to preview

Provider Status & Usage

Track provider availability, Claude Code tokens, costs, billing, and diagnostics where the provider supports it.

Click to preview

Hooks & Permissions

Configure automation hooks and access control rules visually.

Click to preview

Session Transcripts

Browse conversation history with full message and tool use details.

Click to preview

Plus slash commands, plugins, agents, skills, memory, output styles, status line, backup & restore, external orchestration docs, and more.

Get Started

Claude Deck runs natively on the same host as your agent tools. You need Python 3.11+, Node.js 18+ and at least one supported agent CLI. Docker is not supported. Agent-team pane binding needs Linux. Clone the repository, run the install script, then start Claude Deck.

terminal
# Clone and install
$ git clone https://github.com/adrirubio/claude-deck
$ cd claude-deck
$ ./scripts/install.sh
# Start both servers
$ ./scripts/dev.sh
Open http://localhost:5173 in your browser

Built With

FastAPI React TypeScript SQLite shadcn/ui Tailwind CSS

Built by Adrian (13) and Juan as a Christmas break learning project.

Screenshot