Oh My OpenAgent (OmO)

Orchestrator · Last verified 2026-09-30

TL;DR

Oh My OpenAgent, also called OmO and formerly oh-my-opencode, adds a delegating main agent, category workers, hooks and an experimental team mode to a coding agent. It ships as an OpenCode plugin, a Codex plugin and a standalone omo command built on a pi fork. It is source-available, not open source.

Key facts

Oh My OpenAgent (OmO) key facts. Data as of 2026-09-30.
Type Orchestrator
Languages / SDKs TypeScript, Rust
License unknown
Pricing model Unknown
Orchestration pattern Supervisor
GitHub stars 69,669 (as of 2026-09-30)
GitHub forks 5,732
Last push 2026-09-30
Latest release v5.1.5
Repository code-yeongyu/oh-my-openagent
Website omo.dev
Documentation omo.dev
Last verified 2026-09-30

Key features

  • Three editions of the same product: an OpenCode plugin (Ultimate), a Codex plugin (Light, installed with npx lazycodex-ai install) and the standalone omo command (OmO Native). (source)
  • A main agent that delegates through a task tool to category workers (architect, deep, quick, writing and others) and four read-only curated agents (explore, librarian, plan-consultant, plan-reviewer), each with its own model fallback chain. (source)
  • /ulw-plan interviews the user and produces a work plan reviewed by plan agents; /ulw-execute then runs the plan in the same session, verifying each task. (source)
  • Background agents launched with run_in_background, plus an optional tmux (or cmux) layout that shows each background agent in its own pane. (source)
  • Team Mode, experimental and off by default: 12 team_* tools to spawn a lead plus up to 8 members with a shared mailbox, a task list with file-locked claims and optional per-member git worktrees. (source)
  • A tiered MCP client: built-in servers (websearch, context7, grep_app, lsp), a .mcp.json loader and skill-embedded servers. (source)
  • Kibitzer, a read-only memory sidecar per main agent session that recalls stored memories and nudges the main agent, with memory kept as markdown in a git repository. (source)
  • A documented viewer protocol for mass ulw DAG runs, with sequenced, write-ahead-logged events that external tools can subscribe to. (source)

Architecture and orchestration pattern

Pattern: Supervisor

OmO is delivered in three editions. The OpenCode and Codex editions load as plugins into a host you already run; the Codex edition carries a subset of the components and has no team_* tool family, only a script-and-skill-driven teammode component. OmO Native is a standalone omo binary that bundles a pinned engine, senpi, described in the README as a fork of pi. The README now leads with the Native edition and describes the OpenCode edition as the one to migrate from; the OpenCode plugin remains documented as a separate edition.

Orchestration is a supervisor arrangement. The main agent runs on the session model, plans, and calls task to hand work to a category worker in a fresh session or to one of four read-only curated agents. Keyword prompts such as ultrawork or ulw inject mode instructions, and mass ulw turns a job into a graph of agents run in waves. The README's counts of agents per job (hundreds) are its own claim. Team Mode adds a lead-and-members structure with a shared mailbox and task list, and is off by default.

State is file-based: settings in ~/.omo/omo.jsonc with project overrides, plan files under .omo/plans/, team specs under .omo/teams/, and boulder and goal state for continuing work across sessions. Memory is markdown in a git repository read by the Kibitzer sidecar, which cannot write memory or files.

Human in the loop

Planning is the main approval point: /ulw-plan interviews the user and produces a plan that the user then executes with /ulw-execute. /stop-continuation stops todo continuation, the active goal and boulder state, /goal can pause or resume a goal, and /handoff writes a summary for a new session. Permissions and tool allowlists are configurable, and the docs say AGENTS.md is instruction context, not an enforcement boundary. The Codex Light installer offers an autonomous mode that sets approval_policy = "never" and sandbox_mode = "danger-full-access", which removes approval prompts if chosen.

Harnesses it can drive

Protocols

MCP, A2A and AG-UI support for Oh My OpenAgent (OmO). See the full matrix.
ProtocolSupportNote
MCP Yes evidence
checked 2026-09-30
Client side: the OpenCode edition injects built-in MCP servers, loads Claude Code style .mcp.json files and starts skill-embedded servers; the migration guide lists ~/.omo/agent/mcp.json as where OmO Native keeps MCP servers. No MCP server of its own is documented.
A2A Unknown
checked 2026-09-30
No A2A / Agent2Agent mention in the README or docs read; repo code search returned only lockfiles, fixtures and a design reference file, none read as protocol support.
AG-UI Unknown
checked 2026-09-30
No AG-UI mention in the README or docs read; repo code search for ag-ui returned nothing; not checked against a listing in the AG-UI README.

Best for

  • OpenCode or Codex users who want a delegating main agent with category-based model routing and fallback chains across providers. (shortlist)
  • Long tasks driven from a written plan, where an interview, plan review and per-task verification are wanted before and during execution. (shortlist)
  • Experimenting with lead-and-members agent teams, with mailbox messaging and optional git worktrees per member, behind a flag. (shortlist)
  • Personal or internal business use where source-available terms are acceptable.

Not for

  • Projects that need an OSI-approved open-source license, or that redistribute or resell the software commercially; the license limits use to internal business and non-commercial or personal purposes.
  • Teams that cannot allow default-on anonymous usage telemetry without changing settings.
  • Users who want the Ultimate OpenCode plugin to keep receiving the newest features first; the README now leads with the standalone Native edition.

Quickstart

curl -fsSL https://get.omo.dev/install.sh | bash

Install not yet verified by this site. What this means

# macOS, Linux, WSL
curl -fsSL https://get.omo.dev/install.sh | bash
omo --version

# From an OpenCode install: carry over keys, MCP servers, skills and model picks
omo setup
omo doctor

# Package-manager alternative (the package is omo-ai, not omo)
bun add -g omo-ai

# OpenCode plugin edition or Codex plugin edition
bunx oh-my-openagent install
npx lazycodex-ai install

# In a project, run omo and type a prompt with a keyword or a plan command
omo
#   ultrawork <your task>
#   /ulw-plan   then   /ulw-execute

Common pitfalls

  • The npm package for OmO Native is omo-ai; the plain omo package on npm is unrelated.
  • oh-my-openagent and oh-my-opencode releases up to 4.19.4 install their own global omo command, which shadows OmO Native until the installer removes it.
  • The bun and npm installs need Node 24 or newer; the curl installer needs no Node and refuses to run as root or Administrator.
  • ulw mode is triggered per message; a follow-up without the keyword can fall back to default behaviour (tracked as a known issue).
  • Team Mode is off by default and needs team_mode.enabled: true plus a restart.
  • The Codex Light installer offers an autonomous mode with no approvals and full-access sandbox.
  • Telemetry is on by default and can be turned off.

Official quickstart

Pros

  • Curated read-only agents have enforced tool restrictions, and plan agents are gated to planning runs. (source)
  • Each delegated category and agent has a documented fallback chain across providers, so work can continue when one provider is unavailable. (source)
  • Migration from the OpenCode edition is documented, with a setup command that reads OpenCode config, previews changes, backs up files and never writes back to OpenCode. (source)
  • Known issues are published in the repository with symptom, workaround and status for each entry. (source)
  • Very frequent tagged releases with checksummed binary installs. (source)

Cons

  • The license is the Sustainable Use License 1.0, not an open-source license: use or modification is limited to internal business or non-commercial or personal purposes, and redistribution only free of charge for non-commercial purposes. (source)
  • Anonymous usage telemetry is on by default and must be switched off by the user. (source)
  • Team Mode, the multi-agent coordination feature, is experimental and off by default. (source)
  • Known open issues include ulw mode not persisting across follow-up messages and worktree merge status ignoring dirty files. (source)
  • Three editions with different feature sets: the Codex edition has no OpenCode agent registry or team_* tool family, and the OpenCode edition is documented as legacy in places. (source)

Alternatives

FAQ

Is oh-my-openagent open source?

No. GitHub reports no license, and the LICENSE.md file contains the Sustainable Use License 1.0. It allows use and modification for internal business purposes or non-commercial or personal use, and distribution only free of charge for non-commercial purposes. It is source-available, not OSI open source.

Does it support MCP?

Yes, as a client. The OpenCode edition injects built-in servers (websearch, context7, grep_app, lsp), loads .mcp.json files and starts skill-embedded servers, and OmO Native keeps servers in ~/.omo/agent/mcp.json. No MCP server of its own is documented.

Which harnesses does it plug into?

OpenCode through the Ultimate edition and Codex through the Light edition, per the installation guide. OmO Native is a standalone command on a bundled pi-fork engine and needs no host.

Does it coordinate several agents?

Yes. A main agent delegates to category workers and read-only agents, background agents run in parallel, and an experimental Team Mode adds a lead, up to 8 members, a mailbox and shared task list. Team Mode is off by default.

What was it called before?

oh-my-opencode. The features reference has a rename-compatibility section saying the published package and binary remain oh-my-opencode, with legacy plugin entries still loading with a warning.

Sources

Unknown fields: pricing_model: the tool is free to use under the Sustainable Use License, but that is not an open-source license, and no official pricing page exists (omo.dev/pricing returns 404). The maintainer's separate Sisyphus Labs page offers a waitlist for a hosted agent (Dori) with no prices, so pricing_model is unknown. license: GitHub reports NOASSERTION; LICENSE.md is the Sustainable Use License 1.0 (custom, source-available). protocols.a2a and protocols.agui: no mentions found in the README, docs read or code search. kind is orchestrator per the selection file, but the README now leads with OmO Native, a standalone agent on a pi fork.

Something wrong or out of date, or do you maintain Oh My OpenAgent (OmO) and want this page removed? Report a correction or request removal.