The Familiar Pattern

Every powerful bare tool follows the same arc: someone ships the engine, and the community builds a distribution on top of it. You stop assembling parts and start using the thing.

OpenCode is the engine in this story. It is an open source, terminal-based coding agent that works with a long list of LLM providers. It is flexible and it does not tell you how to set it up, which is great right up until you are wiring agents, models, and MCP servers together on a Tuesday evening instead of writing code.

Oh My OpenAgent (the project you may know as Oh My OpenCode) is the community layer that does that wiring for you. The maintainer describes the relationship the way you would describe Ubuntu or Omarchy relative to Debian or Arch: same base, opinionated defaults.

This post covers what the layer adds, how to install it, and three things worth checking before it goes anywhere near a work machine.


Quick Background, Including the Name Change

  • Creator: code-yeongyu (YeonGyu Kim)
  • First release: version 1.0.0 shipped on December 13, 2025, under the name oh-my-opencode
  • Rename: the project became oh-my-openagent in version 3.11.0 on March 7, 2026. Its roadmap now targets multiple agent harnesses (OpenCode, Codex, Pi, Claude Code, and others), not just OpenCode
  • Popularity: roughly 69,000 GitHub stars at the time of writing
  • Influences: AmpCode and Claude Code. The maintainer says features were ported from both, and often improved

The rename left some loose ends worth knowing about. Both npm packages (oh-my-opencode and oh-my-openagent) are published together. The CLI binary is still called oh-my-opencode, but the recommended install command uses oh-my-openagent. In opencode.json, the plugin entry oh-my-openagent is preferred, and the legacy oh-my-opencode entry still loads with a warning.

The maintainer's own origin story is a familiar one: a lot of money spent on tokens across personal projects, every harness tried, and OpenCode chosen as the base to build on. The plugin is the accumulated fixes.


Three Editions, One Project

The project now ships in three forms. This post covers the first one.

Edition What it is Install
Ultimate The full plugin for OpenCode bunx oh-my-openagent install
Light A smaller set of components for OpenAI Codex CLI npx lazycodex-ai install
Senpi (beta) A standalone omo command with the engine built in bun add -g omo-ai@beta

One warning for anyone who likes to guess package names: plain omo on npm is an unrelated package by a different author. Do not run bunx omo or npx omo. The Senpi edition is installed as omo-ai@beta, and the beta tag is required.


What It Actually Adds

Eleven agents, one orchestrator

Instead of one generic agent, you get a cast. You mostly talk to the orchestrator and it delegates.

Agent Role
Sisyphus Main orchestrator. Plans, delegates, and drives the task to completion
Prometheus Strategic planner. Interviews you and writes a plan before any code changes
Hephaestus Deep autonomous worker, tuned for GPT models
Oracle Architecture and debugging consultant
Librarian External documentation and code search
Explore Fast codebase grep
Atlas Todo-list orchestrator

The remaining four are Multimodal-Looker (screenshots and PDFs), Metis (pre-planning review), Momus (plan reviewer), and Sisyphus-Junior (the executor spawned for delegated tasks).

Each agent has its own model fallback chain. Per the project docs at the time of writing, Sisyphus starts with Claude Opus 5 and falls back to Kimi K3 and GPT-5.6 Sol. Oracle prefers GPT-5.6 Sol. Explore and Librarian start with a fast, inexpensive model because speed matters more than depth for search work. The docs are direct about it: Sisyphus works best on Opus or Kimi K3, and other models may degrade the experience.

Categories instead of model names

When Sisyphus delegates work, it does not pick a model. It picks a category such as quick, deep, ultrabrain, writing, or visual-engineering, and the config maps each category to a model. You can change that mapping without touching prompts.

Background tasks and Team Mode

Background tasks let several specialists run in parallel while the main agent keeps working. A concurrency cap keeps this from turning into a rate-limit incident: the default is five tasks at once, and you can set limits per provider or per model.

Team Mode goes further: a lead agent coordinates up to eight members working in parallel. It is off by default and you enable it in config. Two workflows sit on top of it. hyperplan sends five adversarial critics at your plan before any code is written, and security-research runs vulnerability hunters and proof-of-concept engineers over a codebase.

Built-in MCPs and skills

These two are easy to mix up, so here they are separately.

Built-in MCP servers (on by default): websearch (Exa), context7 (library docs), grep_app (GitHub code search), and lsp. They are injected by the plugin at runtime, which is why they do not show up in opencode mcp list.

Built-in skills: playwright (browser automation), git-master (atomic commits and rebase work), frontend, and review-work, among others. Add your own under .opencode/skills/<name>/SKILL.md in a project, or ~/.config/opencode/skills/<name>/SKILL.md for all projects.

If you already have a Claude Code setup, the plugin loads existing hooks, commands, skills, MCPs, and plugins unchanged.

Trigger words

Include one of these words in a normal prompt and the matching mode activates:

Keyword Effect
ultrawork or ulw Full orchestration. Every agent is available and the run continues until the task is done
search Web and documentation search focus
analyze Deep analysis mode
team Team Mode orchestration (requires Team Mode to be enabled)
hyperplan Adversarial planning with five critics

For precision work, press Tab to switch to Prometheus, then run /start-work to execute the reviewed plan.


Vanilla OpenCode vs. With Oh My OpenAgent

OpenCode has not stood still, so the comparison is narrower than it was a year ago. Vanilla OpenCode already ships Build and Plan as primary agents, General and Explore as subagents, per-agent model settings, and (since version 1.14.51 in May 2026) experimental background subagents.

Area Vanilla OpenCode With Oh My OpenAgent
Agents Build, Plan, General, Explore, plus any you define Eleven agents with delegation rules between them
Model per agent You configure it Default fallback chains per agent, category-based routing, and runtime fallback on API errors
Parallel work Experimental background subagents Background task manager with per-provider and per-model caps, plus opt-in Team Mode
MCPs and tools Bring your own websearch, context7, grep_app, and lsp built in, plus bundled skills
Guardrails Permissions system Todo enforcer, comment checker, opt-in hash-anchored edits, and 50+ lifecycle hooks
Config opencode.json opencode.json plus ~/.omo/omo.jsonc

The trade is simple: you get more capability and more opinions, and you also get more moving parts to understand.


Before You Install: Three Things Worth Knowing

1. Claude credentials

Anthropic's Claude Code documentation states that OAuth credentials from Free, Pro, and Max plans are intended for Claude Code and Claude.ai. Third-party developers should not route requests through those credentials. For anything else, Anthropic points to an API key from the Claude Console or a supported cloud provider.

The project's own install guide still includes a step that asks about a Claude Pro/Max subscription and walks through an OAuth login. Treat that step with care. If you want Claude models, use an API key or a cloud provider such as Amazon Bedrock. The other providers the installer supports include OpenAI, Gemini, GitHub Copilot, OpenCode Zen, OpenCode Go, Z.ai, Kimi, and Vercel AI Gateway. Check each provider's terms for your use case.

2. Telemetry is on by default

The plugin sends one anonymous event per day per machine, using a hashed installation identifier. It is opt-out. You can disable it in config (shown below) or with an environment variable:

Run this in your shell profile:

export OMO_SEND_ANONYMOUS_TELEMETRY=0

3. The license is source-available, not OSI open source

The project uses the Sustainable Use License. In plain terms, you may use and modify the software for your own internal business purposes or for non-commercial and personal use, and you may redistribute it only free of charge for non-commercial purposes. That covers most individual and internal team use, but read it (or ask your legal team) before you bundle it into anything you ship.


Setup Guide

Prerequisites

You need OpenCode 1.4.0 or newer and Bun. The installer relies on Bun, so use bunx. The project states that global installs (npm install -g, bun add -g) are not supported.

Install OpenCode if you do not have it yet. Run this in your terminal:

curl -fsSL https://opencode.ai/install | bash

Confirm the version. Run this in your terminal:

opencode --version

Run the installer

Run this in your terminal:

bunx oh-my-openagent install

The installer opens a TUI and asks which providers you have access to (Claude, OpenAI, Gemini, Copilot, OpenCode Zen, Z.ai, OpenCode Go, Kimi, and Vercel AI Gateway). Those answers decide which model each agent gets. There is also a --no-tui mode with flags for each provider if you prefer to script it. Answer based on the credentials you can legitimately use, and see the first section above for Claude.

The maintainers recommend letting an LLM agent run the install by pasting the install-guide URL into it. That works, but read what it plans to do first, especially the authentication steps.

Verify the install

The doctor command checks plugin registration, config, tools, and model resolution. Run this in your terminal:

bunx oh-my-openagent doctor

For the model-by-model view, add --verbose.

You can also confirm that the plugin entry was registered. Run this in your terminal:

cat ~/.config/opencode/opencode.json

Where the config lives

Two files matter.

File: ~/.config/opencode/opencode.json (the installer adds the plugin entry for you)

{
  "plugin": ["oh-my-openagent"]
}

File: ~/.omo/omo.jsonc (agent models, concurrency, telemetry; JSONC allows comments)

{
  "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/omo.schema.json",

  "[opencode]": {
    "agents": {
      // Main orchestrator
      "sisyphus": { "model": "anthropic/claude-opus-5", "reasoning": "max" },

      // Architecture and debugging consultant
      "oracle": { "model": "openai/gpt-5.6-sol", "reasoning": "high" },

      // Fast codebase search: a small, cheap model is fine here
      "explore": { "model": "anthropic/claude-haiku-4-5" }
    },

    // Cap parallel work so you do not burn through rate limits
    "background_task": {
      "defaultConcurrency": 5,
      "providerConcurrency": { "anthropic": 3, "openai": 3 }
    },

    // Opt out of anonymous telemetry
    "telemetry": false

    // Team Mode is off by default. To enable it (then restart OpenCode):
    // "team_mode": { "enabled": true, "max_parallel_members": 4 }
  }
}

A project-level .omo/omo.jsonc is also read. The search walks up from your working directory toward $HOME, and the nearest file wins.

First run

Start OpenCode in a project and include the trigger word in a normal prompt. Run this in your terminal:

opencode

Then type a prompt such as: ulw add input validation to the signup endpoint and update the tests.


When To Use It

  • You work across several providers. Different agents on different models, with fallback when one provider errors out.
  • You have config fatigue. You have spent more time tuning OpenCode than using it.
  • You are coming from Claude Code. Existing hooks, commands, and skills carry over, and you keep an open, model-agnostic base.
  • Your tasks are long and parallel. Research in the background while the main agent works, with a todo enforcer that keeps runs on track.
  • You want a planning step. Prometheus interviews you and writes a plan before code changes.

When To Skip It

  • Small edits. One file, one change. Vanilla OpenCode handles this fine.
  • You want a small, auditable setup. The plugin registers dozens of lifecycle hooks and collects telemetry unless you turn it off.
  • Your only Claude access is a Pro or Max subscription. Per Anthropic's documentation, that credential is not meant for third-party tools, and the Sisyphus agent is tuned for Claude Opus or Kimi K3.
  • Token budget matters. Parallel agents multiply usage. If you use it, set the concurrency caps.
  • Licensing is a concern. The Sustainable Use License limits commercial redistribution.

Wrap-Up

Oh My OpenAgent is a genuine distribution layer: it takes an excellent engine and adds agents, routing, and guardrails that would otherwise take an evening or three to assemble. It also brings more surface area, so the checks above (credentials, telemetry, license) are worth five minutes before you install.

If OpenCode is your daily driver and you keep rebuilding the same agent setup, it is worth a trial on a test project.


Links