LLM agents are unpredictable. Their coordination doesn't have to be.
omar delivers deterministic, formally specified orchestration for multi-agent systems.
- Deep hierarchies: Agents managing agents, just like a company.
- Heterogeneity: Let
claude,codex, and other agents collaborate as a team. - Full control: Talk to and control any subagent you want.
- Life span: Long-running or ephemeral agents, your choice.
- Customization: Support all
tmuxcommands you love. - Team workspaces: Each topology team instance gets a versioned
worktree/and disposabletemp/. Inspect and restore file versions.
Other features include messaging systems integration (e.g., Slack), computer use, and more.
- tmux 3.0+
- Git (for team-instance workspaces and file snapshots)
- Rust 1.89+
- GNU Make
- Node.js 22.13+ (to build Mission Control, which
make buildembeds) - elan (to build
omarc, whichmake installinstalls alongsideomar) - One or more coding agents listed here.
curl -fsSL https://omar.rs/install.sh | shInstalls all binaries to /usr/local/bin.
brew install omar-os/omar/omarRequires Rust 1.89+, GNU Make, and elan.
git clone https://github.com/omar-os/omar.git
cd omar && make install$ omar serve --uiServes the web UI from the daemon's own address and opens it in your browser.
Type what the team should do. The assistant drafts an OMAR program and shows you the topology it compiles to. Nothing runs until you press Confirm deploy, then the diagram goes live.
Note: The legacy terminal UI does not yet implement the deterministic model in the mission control.
$ omarGo here to see how to launch with specific agent backends.
Copy the following into the EA window:
Run https://github.com/omar-os/omar/blob/main/prompts/tests/project-factory.md
You should see agents being spawned by the EA.
Tip: Use ↑↓←→ to cycle through agents at the current level. Use Tab to drill into a deeper level. Use Shift+Tab to back out.
Go back to the EA and type in:
Shutdown the test project and its agents.
| Backend | How to launch |
|---|---|
| Claude Code | omar -a claude (default) |
| Codex CLI | omar -a codex |
| Cursor CLI | omar -a cursor |
| Opencode | omar -a opencode |
| Google Antigravity CLI | omar -a agy |
| Pi | omar -a pi |
Each omar -a <backend> launch creates a new EA, named with its new EA number.
Use omar -a codex --ea Research to give the new EA a semantic name. An existing
name is rejected rather than replacing its manager. Run omar --ea <id-or-name>
without -a to open an existing EA.
Codex launch commands no longer disable the alternate screen. OMAR does not
add --no-alt-screen; an explicit flag in a custom command is still respected.
Remove that flag from an existing default_command to try the alternate screen,
then launch a new session (running sessions keep their original arguments).
The web terminal forwards Escape to the agent. Close with the Close button, Ctrl+Shift+Escape, or a click on the backdrop. New sessions use the launching terminal's dimensions, or 120×40 when headless. Web attachments start at the panel's measured size. After the last viewer in a daemon closes, OMAR restores the original size and sizing policy if no external client remains and the policy has not been changed. Concurrent clients still share tmux's window and its sizing policy; a manually sized window stays manual.
BSD 3-Clause
Thanks to all of our amazing contributors!
OMAR is made with ❤️ in Berkeley, CA.

