Agent Deck CLI
A terminal session manager for Claude Code, Codex, Gemini CLI, OpenCode and other agents: one list with statuses, git worktrees and control from a phone
- 1,147 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- It starts, restarts and closes agent sessions and sends them messages, and worktree scripts from the repository run as you after approval
- The conductor mode accepts commands from Telegram or Slack through a background bridge, so sessions can be controlled from a phone
- Web mode puts session terminals in a browser on port 8420, with access protected by a token
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/agent-deckDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- It starts, restarts and closes agent sessions and sends them messages, and worktree scripts from the repository run as you after approval
- The conductor mode accepts commands from Telegram or Slack through a background bridge, so sessions can be controlled from a phone
- Web mode puts session terminals in a browser on port 8420, with access protected by a token
This is third-party code. Review the repository files before installing.
What it does
Agent Deck is a terminal application written in Go that gathers the sessions of several AI agents into one list. Each agent runs in its own tmux session with the `agentdeck_` prefix, so your own tmux sessions stay untouched. The list has groups, fuzzy search and a status for each session: running, waiting for input, idle or errored. Sessions waiting for you show up in the tmux status bar. You start an agent with a command like `agent-deck add . -c claude`, and `agent-deck session send my-proj --message-file task.md` sends a message from a file into a session. A session can get its own git worktree: `agent-deck add . -c claude --worktree feature/a --new-branch` creates a branch and a directory, and `agent-deck worktree finish` merges the branch and removes the tree. The repository's `.agent-deck/worktree-setup.sh` and `.agent-deck/worktree-destruction.sh` scripts run only after you approve them. The MCP and skills managers attach servers and skills to a session without editing config files, a quick fork on the `f` key copies a session together with its conversation history, and the sandbox runs a session in a Docker container with the project directory mounted read-write. The conductor mode adds a persistent supervisor session: it watches the others, answers routine questions and forwards important ones to your phone through a Telegram or Slack bot. The `agent-deck conductor setup work` wizard sets it up. `agent-deck web` opens a web interface on `127.0.0.1:8420`, the cost dashboard collects token spending across all sessions, and `agent-deck usage` shows provider quotas.
Who it is for. For developers who run several agents across projects and branches at once and want to see which one is waiting for an answer without opening every tab.
Good fit when
- Claude Code works in one project, Codex in another and OpenCode in a third, and you want one list with statuses running, waiting and idle
- Several agents edit one repository: each gets a session with its own branch and worktree, and `agent-deck worktree finish` merges the branch afterwards
- You want to try two approaches to a task: the `f` key forks a session with its conversation history and its own tree
- You want to watch agents from a phone: the conductor forwards questions to Telegram or Slack and keeps an eye on stuck sessions
- Sessions use many MCP servers and you want to save memory with a shared pool: `pool_all = true` in `config.toml` enables Unix sockets shared by all sessions
Not a fit when
- You work on Windows without WSL: support goes through WSL, and WSL2 is recommended for the MCP pool
- You run one agent in one project: the shared list, forks and trees pay off with several sessions
- You need an app with desktop windows: the interface is text, and web mode shows the same terminals in a browser
- You need a manager that assigns tasks by budgets and roles on its own: that is Paperclip, while Agent Deck manages sessions
Example request
Install agent-deck, create two Claude Code sessions on different branches of this repository and show me which one is waiting for an answerLimitations
- Claude Code runs under your own sign-in: Agent Deck starts the plain `claude` and does not read the token. The author notes that plan limits assume ordinary personal use and advises an API key or a Team or Enterprise plan for long unattended runs.
- Integration depth varies. It is full for Claude Code (status, MCP, fork, resume) and Gemini CLI (the same minus fork), status and organization only for Cursor, and organization and launch for Copilot and Hermes Agent. Codex and pi status is reliable after `agent-deck codex-hooks install` and `agent-deck pi-hooks install`.
- Worktree scripts are code from the repository: they run after an approval tied to a sha256. The `run_repo_scripts = "always"` setting turns the prompt off, so it suits only machines where you trust every repository.
- Codex forking works with `codex fork <session-id>` (verified on codex-cli 0.137.0), and DeepSeek Harness has no fork command.
- The Claude Code sign-in on macOS lives in the Keychain and is not copied into the sandbox: run `/login` in the first container session. The author's figures, such as an 85–90% MCP pool memory saving, come from his own workload.
How to disable. `agent-deck uninstall` removes the program interactively, and `agent-deck uninstall --keep-data` removes only the binary and leaves sessions. tmux sessions with the `agentdeck_` prefix are closed with `agent-deck session stop <name>`.
FAQ
How is this different from plain tmux?
Agent Deck adds agent awareness on top of tmux: status detection (the agent is thinking or waiting for you), session forking with conversation history, MCP management, search across all conversations and groups. It creates its own sessions with the `agentdeck_` prefix, so yours stay untouched.
Can I use several Claude accounts?
Yes. In `config.toml` set `[profiles.work.claude]` with `config_dir` for a profile and start with `agent-deck -p work`. `agent-deck session switch-account <session> <account>` moves a running session together with its conversation and restarts it with `--resume`.
What does telemetry collect?
Nothing by default: sending starts only after you agree to a single question in the interface. Then anonymous data goes out on features used, session counts and lengths, error types, version and OS, but never prompts, paths, titles or names. `agent-deck telemetry preview` shows what would be sent, and `agent-deck telemetry off` or `DO_NOT_TRACK=1` turns it off.
How do I protect web mode?
`agent-deck web --token key` enables a token check, and `--token-file` reads it from a file so the token does not show in the process list; the file must not be accessible to the group or others. `--read-only` leaves output only, and the default address `127.0.0.1:8420` changes with `--listen`.
How do I connect a Telegram bot to the conductor?
Create a bot with @BotFather, take the token and your numeric ID from @userinfobot, then run `agent-deck conductor setup work --description "Work fleet"` and start the session with `agent-deck session start conductor-work`. Sending `/status` to the bot checks the link.
How do I run a conductor on another agent instead of Claude Code?
The `--agent codex` flag of `agent-deck conductor setup` creates a conductor on Codex. It reads `AGENTS.md` instead of `CLAUDE.md`, while the shared `POLICY.md` and `LEARNINGS.md` files stay the same for both.
Discussion
No questions or reviews yet.
Related
CLI toolsA terminal app for running several Claude Code, Codex, Gemini CLI and Aider sessions in parallel, each in its own tmux session and git worktree
A Rust terminal task board: every task runs in its own git worktree and tmux window while Claude Code, Codex, Gemini CLI and other agents work in parallel
A local dashboard for running many agents across machines: memory, code graph and agent-to-agent messaging
A terminal workspace where several CLI agents like Codex, Claude and Gemini exchange messages and work on one task under human oversight
Ten AI agents in tmux panes: a manager hands tasks to seven workers, progress shows on a dashboard, with Claude Code, Codex, Cursor and OpenCode supported
A portable .agent folder with memory, skills and protocols that plugs into many coding agents and keeps its knowledge when you switch tools
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| Agent Deck (this entry) | no | 1,147 | |
| Claude Squad | no | 8,656 | a terminal app for running Claude Code, Codex, Gemini CLI and Aider in parallel, each in its own tmux session and git worktree |
| OpenHands Agent Canvas | no | 91,695 | a self-hosted control center for agents on local and remote backends |
| agent-manager | no | 616 | a tmux-based TUI that runs Claude Code |
README in short
The documentation opens with three ways to install and a quick start, followed by a key table and sections on features: forks, MCP and skills managers, groups, git worktrees, the Docker sandbox, the conductor with its Telegram and Slack bridge, watchers, the cost dashboard, web mode and remote machines. Separate references live in `skills/agent-deck/references`, and `docs` holds guides to the conductor, watchers and commands for remote machines. The repository also has performance measurements, contributor rules and a security policy.