Terminal command center for AI coding agents.
Run and switch between Claude Code, Copilot, Gemini, and other terminal AI tools — each in its own tmux session — from one keyboard-driven view.
A Millwright Software fork of
asheshgoplani/agent-deckby Ashesh Goplani. Maintained independently under the original MIT license (seeLICENSE); upstream authorship is preserved in the commit history. This fork drops the conductor layer and the web dashboard. Upstream is bigger and actively maintained.
Requires tmux. macOS, Linux, or Windows via WSL.
curl -fsSL https://raw.githubusercontent.com/millwright-software/agent-desk/main/install.sh | bashOther ways to install
go install github.com/millwright-software/agent-desk/cmd/agent-desk@latest # needs Go 1.24+
git clone https://github.com/millwright-software/agent-desk.git # from source
cd agent-desk && make installThe app checks for new releases and can update itself. Or re-run the installer.
agent-desk # launch the TUI
agent-desk add . -c claude # add the current dir as a Claude session| Key | Action |
|---|---|
Enter |
Attach to session |
Shift+← / Shift+→ |
Previous / next live session, while attached |
Shift+↑ / Shift+↓ |
Previous / next session waiting for you, while attached |
Ctrl+Q |
Detach back to the list |
n · d |
New session · delete |
g · G |
New group · new top-level group |
m · e |
Move session to a group · rename group |
s · u |
Snooze until a time · cycle unread / parked marker |
Shift+↑ / Shift+↓ |
Move a group or session up/down |
Tab · 1–9 |
Expand/collapse group · jump to group |
? |
Every shortcut |
Each session shows what its agent is doing:
| Status | Symbol | Meaning |
|---|---|---|
| Running | ● yellow |
Actively working |
| Waiting | ● green |
Needs your input |
| Idle | ○ gray |
Ready for commands |
| Error | ✕ red |
Something went wrong |
Claude sessions read the session hook and transcript, so the status is exact and includes the current model. Other tools fall back to output patterns and tmux activity.
Each session can run in its own git worktree and branch.
agent-desk add . -c claude --worktree feature/a --new-branch
agent-desk worktree finish "My Session" # merge, remove worktree, delete session
agent-desk worktree cleanup # remove orphaned worktreesWorktrees go in a sibling directory by default; [worktree] default_location in ~/.agent-desk/config.toml
changes that.
| Tool | Support |
|---|---|
| Claude Code | Status, resume, model detection |
| Gemini CLI | Status, resume |
| GitHub Copilot CLI | Status, resume (--continue) |
| OpenCode / Codex / Cursor | Status detection |
| Anything else in a terminal | Add it under [tools.*] in config.toml |
| Guide | Contents |
|---|---|
| CLI Reference | Commands, flags, scripting |
| Configuration | config.toml, custom tools, MCP |
| TUI Reference | Shortcuts, status indicators, navigation |
| Troubleshooting | Common issues, recovery, uninstalling |
Agent Desk makes its own tmux sessions, prefixed agentdesk_*. Existing ones are untouched.
make build
make test
make lintSee CONTRIBUTING.md.
MIT — see LICENSE. Original work © 2025 Ashesh Goplani; fork modifications © 2026 Millwright Software.
Built on Bubble Tea and tmux.
Docs · Issues · Discussions