mrkeyoor.com_
Thu 17 Sept 22:02 UTC
AI Toolsevaluationupdated 26 Aug 2026

agent-of-empires review

Agent of Empires is a session manager for running several coding agents from one terminal or web dashboard. It wraps installed tools such as Claude Code, Codex, OpenCode, Gemini CLI, and Oh My Pi in persistent tmux sessions, with optional worktrees and containers to keep parallel jobs apart.

+35stars / 7d
Verdict

Our Agent of Empires build succeeded, and 4,656 of 4,660 tests passed before four failures, including one tied directly to missing tmux, so the codebase is credible but the stated prerequisite is real. Use AoE when supervising multiple Claude Code, Codex, or OpenCode jobs has become harder than the jobs themselves. Stay with plain tmux if you run one or two agents, and use container isolation before exposing autonomous sessions to important repositories.

We ran it

Lab card: what happened when we ran agent-of-empiresScreenshot of agent-of-empires (www.agent-of-empires.com)
Install✓ · 36s325 packages
Build✓ · 350s
Tests✗ · 772s4656 passed · 4 failed of 4660 (cargo test)
Repo1644 files~583,516 lines of source · 32.4 MB · 14 CI workflows · tests dir

Answers from our run

Does agent-of-empires build from source?

Dependencies installed in 36 seconds (325 packages), and the build succeeded in 350 seconds. We cloned commit 7481372 into a clean Debian container with 3 CPUs and no project-specific setup.

Do agent-of-empires's tests pass?

Not all of them: 4656 of 4660 passed and 4 failed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use agent-of-empires?

Anyone looking for an AI model or coding agent by itself: AoE launches separately installed agent CLIs and does not replace their accounts, credentials, or usage plans.

What are the alternatives to agent-of-empires?

Agent Deck, cmux, tmux. Our Agent of Empires build succeeded, and 4,656 of 4,660 tests passed before four failures, including one tied directly to missing tmux, so the codebase is credible but the stated prerequisite is real.

Setup3/5Binary install is short; tmux, agents, auth, and isolation remain yours
Docs5/5Clear guides for tmux, web, worktrees, sandboxes, and recovery
Community4/53,133 stars with current releases and heavy pull-request activity
Maturity4/5Most of 4,660 tests passed, with session identity issues still open

Discussed on

  1. hnShow HN: Agent-of-empires: OpenCode and Claude Code session manager118 points
  2. hnShow HN: Agent-of-empires: opencode & claudecode session manager8 points
  3. hnShow HN: I've implemented multi-repo workspace support in Agent of Empires6 points
  4. hnShow HN: Version 1.0 of agent-of-empires CLI agent orchestration tool3 points

Who it’s for

Developers supervising several coding-agent sessions across branches or repositories.
Terminal users who already rely on tmux and want agent-aware running, waiting, idle, and error states.
Teams that need browser or phone access to long-running agents.
Reviewers who want one place to inspect diffs before accepting agent work.
Linux and macOS users mixing Claude Code, Codex, OpenCode, and other supported CLIs.

Who it’s NOT for

Anyone looking for an AI model or coding agent by itself: AoE launches separately installed agent CLIs and does not replace their accounts, credentials, or usage plans.
Native Windows users: the FAQ supports Windows only through WSL2 because AoE depends on tmux and POSIX process handling.
Developers who dislike tmux semantics: it is required, owns session persistence, and remains the underlying escape hatch for attachment problems.
Teams that cannot risk conversation mix-ups during mass recovery: issue 3516 documents most-recent-by-directory capture potentially assigning one agent's conversation to another for several supported CLIs.
macOS users expecting signed release identity: issue 2643 says releases are currently unsigned, so protected-folder permissions can be requested again after binary changes.
Users who title sessions in CJK scripts on version 1.15.0: issue 3536 reports those sessions becoming unreachable through AoE while the tmux session keeps running.

Setup reality

Our Cargo install succeeded in 36 seconds and fetched 325 packages. The release build succeeded in 350 seconds. Tests ran for 772 seconds: 4,656 passed and 4 failed out of 4,660, with 2 ignored.

Using AoE requires tmux plus at least one supported coding-agent CLI with its own login or API credentials. Docker, Podman, or Apple Containers are optional for isolation. Browser access starts another service; remote phone access uses Tailscale Funnel or Cloudflare Tunnel with QR and passphrase authentication.

One failed test logged that tmux list-panes could not start because the binary was missing, then a status-poller assertion expected 1 row and got 0. Three other named failures concerned session correction and live status propagation. The log does not show whether those three share the missing-tmux condition.

Agent of Empires manages agents; it does not provide one

Agent of Empires, or AoE, sits above coding tools that are already installed. The README lists Claude Code, OpenCode, Codex CLI, Gemini CLI, Oh My Pi, Copilot CLI, and several others. Each runs in its own tmux session. AoE adds a status dashboard, session creation, worktrees, optional containers, diff review, notifications, and browser access. Your chosen agent still supplies the model connection, tools, permissions, and bill.

This solves a recognizable coordination problem. Five terminal tabs do not tell you which agent is waiting for approval, which stopped, or which branch contains a finished change. AoE keeps sessions alive after its own interface closes and presents running, waiting, idle, and error states together. Version 1.15.0 also has a structured mobile view through Agent Client Protocol, while raw terminal rendering remains available when an adapter cannot express the full session.

tmux persistence is the feature and the dependency

Every managed agent lives in tmux, so closing AoE, losing SSH, or crashing a terminal does not kill the underlying job. You can reopen the dashboard or attach with tmux directly. That design is understandable and recoverable. It also means AoE inherits tmux's platform limits and naming details. Native Windows is unsupported; the FAQ requires WSL2 because session and process handling assume a POSIX environment.

The basic installation is a downloaded binary, Homebrew formula, Nix command, or Cargo build. Tmux is mandatory. Docker is optional for sandboxing, and the README also names Podman and Apple Containers. At least one agent CLI must be installed and authenticated. AoE auto-detects supported tools, but it cannot make a missing Claude Code subscription or Codex login appear. Budget both the session manager and every agent it launches.

What happened when we ran it

Our Rust install at commit 7481372 completed in 36 seconds and fetched 325 packages. The release build succeeded in 350 seconds inside an unprivileged Debian container with 3 CPUs and 12 GB of RAM. The repository contained 1,644 files and about 583,516 lines of source. This was a substantial compile, yet it reached a usable build without secrets or a running agent service.

Cargo tests ran for 772 seconds and exited 101. The suite reported 4,656 passing tests, 4 failures, and 2 ignored out of 4,660. One failure printed a warning that tmux list-panes could not start because the executable did not exist. Its assertion then received 0 status rows instead of 1. Since tmux is an explicit prerequisite, this is a useful environment finding rather than a surprise.

The other failures were cli_capture_drains_a_queued_correction_before_returning, apply_status_update_propagates_live_status_baseline_from_poller, and poll_statuses_once_never_emits_idle_intent_keep. The supplied tail gives their names but no assertion details. We cannot say whether installing tmux would fix them. A contributor should reproduce the suite in the documented development environment and treat those three as unresolved until the full logs say more.

Worktrees and containers reduce different risks

Git worktrees keep concurrent edits on separate branches. That prevents two agents from writing the same checkout, but it does not limit what either agent can access. Container sandboxing provides the stronger boundary for commands, files, and processes. The README says auth volumes can be shared into sandboxes, which is convenient and sensitive. Review exactly which credential directories are mounted before giving an autonomous session a broad task.

AoE also supports multi-repository workspaces and per-repository base branches. Those features help when a change spans an API and client, yet they increase the number of working trees an agent can mutate. Version 1.15.0 added bounded worktree mutation and container control commands according to its release notes. Keep human diff review in the loop, especially for deletes, rebases, and generated migrations.

Remote access needs a deliberate network boundary

The browser dashboard can create sessions, send input, show terminal output, and review diffs. Pressing R can expose it for phone access through Tailscale Funnel or Cloudflare Tunnel, with QR and passphrase authentication. That is more useful than mobile SSH for quick approvals. It also turns a local control surface into a network service that can steer coding agents, so tunnel identity, passphrase handling, and device access deserve the same care as repository credentials.

The web UI still has ordinary rough edges. Issue 3322 says terminal view on 1.14.0 opens at the top of scrollback instead of current output. Version 1.15.0 added several mobile and web fixes, including sending comments to dormant sessions and preserving state during steered prompts. Current activity is high: the repository was pushed on 2026-08-25 and had 147 open issues and pull requests.

Session identity bugs matter more than cosmetic defects

A session manager must attach the correct conversation to the correct pane. Issue 3516 describes a most-recent-by-working-directory fallback that can cross-assign conversations when several sessions share a directory. Claude received a targeted fix, while the report names OpenCode, Vibe, host Codex, Gemini, Pi, Hermes, Copilot, and Kimi paths that require their own decisions. Until resolved, avoid mass recovery of same-directory sessions without checking identities.

International session names have a separate regression. Issue 3536 reports that version 1.15.0 substitutes the display width of CJK characters when rebuilding an attach target. Tmux keeps the real session alive, but AoE cannot capture or attach it. ASCII-only titles are the documented workaround in that report. This is narrow, reproducible, and significant for a worldwide team.

AoE is worth installing once multiple persistent agents and branches demand a control room. Its 4,656 passing tests and successful build show serious engineering behind the dashboard. The remaining decision is operational: tmux, credentials, worktrees, containers, and remote access all stay under your ownership. If named tmux sessions already feel sufficient, Agent Deck or plain tmux will impose less machinery.

Alternatives

ProjectWhat it isPick it when
Agent Deck gh↗A terminal dashboard for organizing multiple AI coding-agent sessions.pick this instead when you want the project that directly inspired AoE and prefer its smaller Go-based approach.
cmux gh↗A native terminal workspace built for running coding agents in parallel workspaces.pick this instead when a desktop terminal experience fits better than AoE's tmux and browser model.
tmux gh↗The terminal multiplexer underneath AoE's persistent sessions.pick this instead when simple named panes and sessions are enough and you do not need agent status, worktrees, diffs, or a web dashboard.

Sources

  1. Agent of Empires README
  2. Agent of Empires 1.15.0 release
  3. Cross-assigned conversation issue 3516
  4. CJK session-title regression 3536
  5. macOS signing issue 2643
  6. Web terminal scroll issue 3322

More ai tools reviews

rowboat · skills · superpowers-zh · yolov5 · eve · MemOS · the whole board →