# Agent of Empires: A Terminal Dashboard for Managing Multiple AI Coding Agents


[Agent of Empires](https://github.com/dshiloh/agent-of-empires) (`aoe`) is a terminal session manager for AI coding agents. It **does not replace agents like Claude Code or OpenCode; it orchestrates them. When running multiple agents in parallel**, `aoe` provides a unified TUI that shows the status and live output of every session, handles Git worktree creation and cleanup per agent, and optionally runs each agent in a Docker container.

![Official landing page for Agent of Empires showing its purpose as a "Terminal session manager for AI coding agents"](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/704c9629-54f9-471f-95ab-be1ca93d4b00/md1x =1280x720)

## The problem with managing multiple agents manually

Running one AI coding agent in a terminal is straightforward. Running five requires tracking which terminal corresponds to which task, checking whether agents are still running or stuck waiting for input, and managing branch isolation so agents working on the same repository do not overwrite each other's changes.

![Visual representation of terminal chaos with numerous windows multiplying and overlapping](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/7e195ca2-b6dc-42fd-bf46-f4d5d67ed400/orig =1280x720)

Without dedicated tooling, this produces a mix of cognitive overhead (manually tracking session-to-task mapping), status blindness (no way to know agent state without clicking into each window), and branch conflicts (multiple agents touching the same files).

`aoe` addresses all three by wrapping Tmux, Git worktrees, and optionally Docker into a single interface.

## Installation

On macOS with Homebrew:

```command
brew install aoe
```

For Linux and Windows, installation scripts and binaries are available in the [GitHub repository](https://github.com/dshiloh/agent-of-empires).

## Launching the dashboard

From a project's root directory:

```command
aoe launch
```

This opens the TUI in the current terminal window.

![Clean initial state of the Agent of Empires TUI after running aoe launch showing "No sessions yet"](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/02676fb8-d9e7-452c-fd54-69ddce5b0900/orig =1280x720)

## Creating and managing sessions

Pressing `n` in the dashboard opens a session configuration form. Fields include a title, the agent tool to use (such as `claude`), and options for YOLO mode (skip permission prompts) and Docker sandboxing. Pressing `Enter` creates the session: `aoe` starts a Tmux session in the background and drops into the agent's interface.

To return to the dashboard without stopping the agent, press `Ctrl-d`. The agent continues running. The dashboard shows the session's status and a live preview of its terminal output in the right pane.

Creating a second session follows the same process. Both agents run concurrently in separate Tmux sessions, fully isolated from each other.

![TUI dashboard showing two concurrently running agent sessions: api-refactor and auth-feature](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/17f806b5-fc49-4f5a-070b-4ccd108e8300/public =1280x720)

To attach to a session, use the arrow keys to select it and press `Enter`. `Ctrl-d` returns to the dashboard. Sessions can be organized into groups by project, producing a hierarchical view that keeps the dashboard readable when managing many agents across multiple repositories.

![TUI demonstrating the grouping feature with both agents nested under a project folder named ace-demo-project](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/c6062c16-58b3-4f35-6a32-24ae7033ed00/lg1x =1280x720)

## Git worktrees

When a session is created, `aoe` can automatically create a Git worktree for it. A worktree checks out a separate branch of the repository into a distinct directory, so each agent has its own isolated workspace on disk.

![Website feature list highlighting "Git Worktrees" explaining that it runs parallel agents on different branches of the same repo](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/8b7a0fa8-891c-4e13-c7bd-a1e774515000/orig =1280x720)

Two agents working in separate worktrees cannot overwrite each other's files because they operate in different directories on different branches. When the agents finish, the result is a set of clean, distinct branches ready for standard review and merge. `aoe` handles worktree creation and cleanup automatically.

## Docker sandboxing

Enabling Docker sandboxing for a session runs the agent inside an isolated container. Volume mounts are configurable, giving explicit control over which host directories the container can access.

![Website feature list for "Docker Sandbox" explaining that it runs agents in isolated containers for safety](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/7c63d2f9-192e-4090-be24-65df30114600/md1x =1280x720)

This prevents an agent from accessing or modifying files outside the directories you permit. It is useful when running agents that execute shell commands or interact with the file system autonomously.

## Tmux persistence

Every `aoe` session is a Tmux session. Closing the `aoe` dashboard or the parent terminal does not stop the agents. Running `aoe launch` again reconnects to all existing sessions in the state they were left. This makes long-running tasks practical and allows checking on agents over SSH from another machine.

## Final thoughts

`aoe` is most useful at the point where managing multiple agents manually starts producing errors or significant friction, typically around three or more concurrent sessions. For a single agent, a direct terminal is sufficient.

The **Git worktree integration is the feature that matters most for team codebases, since it enforces branch isolation without requiring manual branch management**. Docker sandboxing adds meaningful protection when running agents with broad file system access.

The tool is built on Tmux and Git, both well-established technologies, which keeps the foundation stable. The TUI layer adds usability without obscuring what is happening underneath.

Source code and installation documentation are at [github.com/dshiloh/agent-of-empires](https://github.com/dshiloh/agent-of-empires).