Key Facts
- ✓ Nathan is an ML Engineer at Mozilla.ai.
- ✓ Agent-of-empires is written in Rust and relies on tmux for security.
- ✓ The tool monitors OpenCode and Claude Code sessions to distinguish between running, idle, and waiting states.
- ✓ It allows users to manage sessions by naming, grouping, and configuring profiles.
- ✓ Future features plan to include Docker sandboxing and git worktree support.
Quick Summary
Nathan, a Machine Learning Engineer at Mozilla.ai, has released agent-of-empires, a new command-line interface (CLI) application designed to streamline the management of coding sessions. The tool specifically targets users of OpenCode and Claude Code, providing a centralized hub to monitor and control multiple active sessions.
Written in Rust and relying on tmux for security, the application addresses the inefficiencies of managing multiple terminal windows. It allows developers to name, group, and configure profiles for their sessions while tracking whether an agent is running, idle, or waiting for user input. This release comes as a solution to the slower performance often associated with self-hosted open-weight LLMs compared to proprietary models.
The Problem with Local LLMs
The development of agent-of-empires stems from a specific workflow bottleneck identified by Nathan. While tools like OpenCode allow connections to local LLMs such as Ollama and LM Studio, these models generally run significantly slower than those hosted by Anthropic or OpenAI.
This speed difference creates a multitasking dilemma. Nathan described the experience of starting a coding agent on a task and waiting for it to complete. During this downtime, developers often open new terminal windows to start other tasks. This leads to a chaotic workflow where one must constantly toggle between windows to check which agent requires attention.
The specific issues encountered included:
- Needing to add clarifications to running agents
- Approving new commands generated by the agent
- Assigning new tasks to specific sessions
Without a management tool, the user is forced to manually attach and detach from tmux sessions, which is time-consuming and prone to error.
"I would start a coding agent on a task, but then while I was sitting waiting for that task to complete, I would start opening new terminal windows to start multitasking."
— Nathan, ML Engineer at Mozilla.ai
How Agent-of-Empires Works
Agent-of-empires serves as a unified dashboard for agentic coding sessions. By launching the tool with the command aoe, users gain visibility into the status of all running sessions without needing to switch terminal windows.
The tool monitors the state of CLI sessions to tell the user when an agent is running versus when it is idle or waiting for input. This allows for rapid toggling between sessions. Nathan noted that this functionality helps avoid the accumulation of open terminal windows and removes the manual overhead of managing tmux sessions.
Key features of the application include:
- Session Management: Ability to name, group, and configure profiles for various settings.
- State Monitoring: Real-time tracking of agent status (running, idle, waiting).
- Security: Reliance on tmux for reliability and security.
By centralizing this workflow, the tool aims to give local LLMs a "fair try" by mitigating the productivity loss caused by their slower speeds.
Installation and Future Roadmap
The application is available for installation via two primary methods. Users can install it using Homebrew with the command brew install njbrake/aoe/aoe, or via a shell script using curl -fsSL https://raw.githubusercontent.com/njbrake/agent-of-empires/m... | bash.
Nathan is actively seeking feedback on the tool and is interested in feature requests. The roadmap for agent-of-empires includes several planned enhancements:
- Sandboxing: Integration with Docker for secure execution environments.
- Git Integration: Support for intuitive git worktrees.
Notably, the developer has decided against including MCP management or generic terminal usage. This decision is intended to keep the tool focused specifically on agentic coding workflows where Nathan felt a usable solution was currently lacking. A screenshot of the tool's output is available in the project's README on GitHub.
"It’s helping me give local LLMs a fair try, because them being slower is now much less of a bottleneck."
— Nathan, ML Engineer at Mozilla.ai










