For agent-manager users

Your coding agents, on one desk.

Agent Desk is a local GUI over agent-manager. Every Claude Code session reads as a document. Answer a waiting agent with one click, review its diff and send notes back, and see the whole fleet at a glance. Every agent keeps running in tmux; closing Agent Desk stops nothing.

$ git clone https://github.com/gsperry/agent-desk
A session as a document: prompt, reply, tool calls and diffs
Agent Desk showing a session: the sidebar groups sessions by project with live status, and the transcript shows a prompt, the agent's reply, a code edit as a diff and test runs

Features

Everything an agent needs from you, in one place.

See the whole fleet

The overview gives every session a card: what it is doing right now, its last reply, your last prompt, context use and when it last changed. Sessions waiting on you come first, and a dot marks anything new since you last looked.

Subagents too: the Agents panel lists every subagent a conversation started, with its own live transcript.

Overview
The overview: a card per session with status, current activity, last reply, context use and age, waiting and errored sessions first

Answer without attaching

When an agent stops on a permission prompt or a question, the terminal opens under its transcript with a button for each option. Agent Desk reads the screen again before it presses a key, and refuses if the choice changed.

Replies go through agent-manager type, and are refused with a reason when they would land anywhere but the agent's prompt.

A waiting agent, answered with one click
A session waiting on a permission prompt: the failed test run, the agent's explanation, the terminal screen and a button for each answer

Review the diff, send notes back

The Changes panel shows a session's git changes, uncommitted or for the whole branch. Click a line to comment; Send review hands the agent every comment as one numbered prompt.

Git runs read-only, with external diff tools, text converters, the repository's filter drivers and hooks disabled, so a repository cannot make it run commands.

Line comments on a session's changes
The Changes panel: a file list, a diff with added and removed lines, and a review comment attached to a line

History and usage

Browse every conversation on disk, not only the running ones, export any of them to Markdown, or resume one as a new agent-manager session. Usage shows tokens, agent working time and time spent waiting on you, by day, model, project and conversation.

Cost is what Claude Code reports, at list price.

Usage over 30 days
The usage view: totals for tokens, replies, working time, waiting time and reported cost, a bar chart of tokens per day, and tables by model and project

How it works

agent-manager runs the agents. Agent Desk is where you read and talk to them.

  1. 01

    Sessions stay in agent-manager

    Every agent runs in agent-manager's tmux server with your own CLI, login and config. Agent Desk reads session state from agent-manager snapshot and acts only through its commands.

  2. 02

    Transcripts become documents

    Claude Code's session files are parsed into prompts, replies, tool calls and diffs, and followed live as the agent writes. Records it does not recognize are shown, never dropped.

  3. 03

    One binary, one port

    A Go server with the React app embedded, on 127.0.0.1. Close it and every agent keeps working.

Local and safe

Your agents, your machine, nobody else.

Loopback only

Listens on 127.0.0.1. Every request needs a token that changes on each start, and must name the server's own host; state-changing requests must come from its own origin.

No telemetry

No analytics, no network calls beyond localhost. This page has none either.

No API keys

Agent Desk never asks for a key and never calls a model API. Optional catch-up summaries, off by default, run your own Claude Code CLI only when you press the button.

Read-only transcripts

Nothing is ever written under ~/.claude. Agent Desk reads Claude Code's files and runs local CLIs, nothing more.

Install

Build it from source.

You need

$ git clone https://github.com/gsperry/agent-desk
$ cd agent-desk
$ make build
$ install -m 0755 bin/agent-desk ~/.local/bin/agent-desk
$ agent-desk
Agent Desk listening on http://127.0.0.1:7317

It opens in your browser. Status: early, built and used on macOS; CI also builds and tests on Linux.