Yeachan-Heo/oh-my-claudecode
Teams-first Multi-agent orchestration for Claude Code
README
English | 한국어 | 中文 | 日本語 | Español | Tiếng Việt | Português
oh-my-claudecode
For Codex users: Check out oh-my-codex — the same orchestration experience for OpenAI Codex CLI.
Liked OmC but found it a bit overkill? Try gajae-code.
Keeps Claude OAuth as-is while being faster, cheaper, simpler, and more powerful — with an SDK-based integration path built for OpenClaw, Hermes, Grokbot, and similar agent runtimes.
Multi-agent orchestration for Claude Code. Zero learning curve.
_Don't learn Claude Code. Just use OMC._
Get Started • Documentation • CLI Reference • Workflows • Migration Guide • Discord
---
Core Maintainers
| Role | Name | GitHub | | -------------- | ----------- | ---------------------------------------------- | | Creator & Lead | Yeachan Heo | @Yeachan-Heo |
Ambassadors
| Name | GitHub | | ---------- | ------------------------------------------------ | | Sigrid Jin | @sigridjineth |
Document Specialists
| Name | GitHub | | ------- | -------------------------------------- | | devswha | @devswha |
Top Collaborators
| Name | GitHub | Commits | | -------------- | ---------------------------------------------- | ------- | | JunghwanNA | @shaun0927 | 65 | | riftzen-bit | @riftzen-bit | 52 | | Seunggwan Song | @Nathan-Song | 20 | | BLUE | @blue-int | 20 | | Junho Yeo | @junhoyeo | 15 |
Quick Start
Step 1: Install
Marketplace/plugin install (recommended for most Claude Code users). These are Claude Code slash commands — enter them one at a time (pasting both lines at once will fail):
/plugin marketplace add https://github.com/Yeachan-Heo/oh-my-claudecode
Then:
/plugin install oh-my-claudecode
If you prefer the npm CLI/runtime path instead of the marketplace flow:
npm i -g oh-my-claude-sisyphus@latest
Known npm warning: npm may print deprecated [email protected] during the CLI install.
This currently comes from the upstream better-sqlite3 native-addon dependency
(better-sqlite3 -> prebuild-install);[email protected]is still the latest
published version, so there is no safe repo-side dependency bump or override to remove
the warning yet. The warning is tracked in #2913
and does not by itself mean the OMC CLI install failed.
Step 2: Setup
# Inside a Claude Code / OMC session
/omc-setup
From your terminal
omc setup
If you run OMC via omc --plugin-dir or claude --plugin-dir , add --plugin-dir-mode to omc setup (or export OMC_PLUGIN_ROOT before running it) so the installer doesn't duplicate skills/agents that the plugin already provides at runtime. See the Plugin directory flags section in REFERENCE.md for a complete decision matrix and all available flags.
Step 3: Build something
# Inside a Claude Code / OMC session
/autopilot "build a REST API for managing tasks"
Natural-language in-session shortcut
autopilot: build a REST API for managing tasks
Named autopilot stage profiles (v1)
Select a configured stage profile only through /autopilot --workflow :
/autopilot --workflow plan-build-qa "build a REST API for managing tasks"
Profiles are configured under autopilot.workflows in .claude/omc.jsonc (project) or ~/.config/claude-omc/config.jsonc (user). A v1 profile contains only version: 1 and stages:
{
"autopilot": {
"workflows": {
"plan-build-qa": {
"version": 1,
"stages": ["ralplan", "execution", "qa"]
}
}
}
}
The admitted sequences are [ralplan, execution], [ralplan, execution, ralph], [ralplan, execution, qa], and [ralplan, execution, ralph, qa]. A project profile of the same name wholly replaces the user profile; different names coexist. Environment variables cannot define profiles. Profiles remain within autopilot's existing state, cancel, resume, Stop, and HUD lifecycle; legacy invocations without --workflow remain compatible.
Named profiles currently require Linux with the flock utility because their transcript evidence boundary uses Linux no-follow file-descriptor traversal and their recoverable mutation lock uses kernel advisory locking. Unsupported environments reject explicit --workflow invocation before creating or changing autopilot state; legacy autopilot remains available.
V1 intentionally excludes model fields or routing (stageModels), inline execution, dynamic commands/modes/state, arbitrary stages or plugins, and the separate custom-skill frontmatter parser mismatch. See Named Autopilot Stage Profiles ADR and Reference.
That's it. Everything else is automatic.
CLI Commands vs In-Session Skills
OMC exposes two different surfaces:
- Terminal CLI commands: run
omc ...from your shell after installing the npm/runtime path (npm i -g oh-my-claude-sisyphus@latest) or from a local checkout. - In-session skills: run
/...inside a Claude Code session after installing the plugin/setup flow.
omc setup | /omc-setup | Both are real entrypoints. |
| Ask providers | omc ask codex "review this patch" | /ask codex "review this patch" | Both route through the same advisor flow. Providers: claude, codex, gemini, antigravity, grok, cursor. |
| Team orchestration | omc team 2:codex "review auth flow" | /team 3:executor "fix all TypeScript errors" | Both exist, but they are different runtimes: omc team launches tmux CLI workers; /team runs the in-session native team workflow. |
| Pre-flight danger scan | omc lookout scan --brief "..." [--json] [--strict] | — | Advisory only: scans the task briefing and workspace before an unattended run and reports danger findings (findings/severity contract). Exit codes: 0 for successful non-strict scans (and strict scans without high-risk signals), 1 --strict with high-risk signals, 2 usage/scan error. |
| Autopilot / Ralph / Execute / Deep Interview | — | /autopilot ..., /ralph ..., /execute ..., /deep-interview ... | These are in-session skills. There is no omc autopilot / omc ralph / omc execute CLI subcommand in this repo. |
| Autoresearch | omc autoresearch (hard-deprecated shim) | /deep-interview --autoresearch ... + /oh-my-claudecode:autoresearch | Setup stays in deep-interview; execution now belongs to the stateful skill. |
VS Code, Agent SDK, and automation scope
- VS Code / IDE extension: OMC does not ship a VS Code extension and does not document extension-specific install or automation flows. Use the Claude Code plugin or terminal CLI surfaces above; IDE integrations are only an optional way to access Claude Code itself.
- Agent SDK / programmatic usage: the npm package exports TypeScript helpers such as
createOmcSession()and prompt expansion utilities for local Node.js programs using@anthropic-ai/claude-agent-sdk. This is a library surface, not a replacement for the Claude Code plugin UI. - CI/CD and headless automation: prefer deterministic terminal commands (
omc setup,omc ask,omc session search, repository scripts such asnpm run sync-metadata:verify) and setANTHROPIC_API_KEYor provider-specific CLI auth in the runner environment. Do not rely on interactive slash commands (/autopilot,/ralph,/execute,/team) in CI; they require an active Claude Code session.
Not Sure Where to Start?
If you're uncertain about requirements, have a vague idea, or want to micromanage the design:
/deep-interview "I want to build a task management app"
The deep interview uses Socratic questioning to clarify your thinking before any code is written. It exposes hidden assumptions and measures clarity across weighted dimensions, ensuring you know exactly what to build before execution begins.
Team Mode (Recommended)
Starting in v4.1.7, Team is the canonical orchestration surface in OMC. The legacy swarm keyword/skill has been removed; use team directly.
/team 3:executor "fix all TypeScript errors"
Use /team ... when you want Claude Code's in-session native team workflow. Use omc team ... when you want terminal-launched tmux CLI workers (claude / codex / gemini panes).
Team runs as a staged pipeline:
team-plan → team-prd → team-exec → team-verify → team-fix (loop)
Enable Claude Code native teams in ~/.claude/settings.json:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
If teams are disabled, OMC will warn you and fall back to non-team execution where possible.
tmux CLI Workers — Codex, Gemini & Antigravity (v4.4.0+)
v4.4.0 removes the Codex/Gemini MCP servers (x, g providers). Use the CLI-first Team runtime (omc team ...) to spawn real tmux worker panes:
omc team 2:codex "review auth module for security issues"
omc team 2:gemini "redesign UI components for accessibility"
omc team 2:antigravity "redesign UI components for accessibility"
omc team 1:claude "implement the payment flow"
omc team 1:cursor "implement the payment flow"
omc team status auth-review
omc team shutdown auth-review
For mixed Codex + Antigravity work in one command, run /ask codex and /ask antigravity and have Claude synthesize the results (Gemini remains available as an enterprise/API-key fallback):
/ask codex "Review this PR — architecture"
/ask antigravity "Review this PR — UI components"
| Surface | Workers | Best For |
| ------------------------------- | ----------------------------- | -------------------------------------------- |
| omc team N:codex "..." | N Codex CLI panes | Code review, security analysis, architecture |
| omc team N:gemini "..." | N Gemini CLI panes | UI/UX design, docs, large-context tasks (enterprise/API-key) |
| omc team N:antigravity "..." | N Antigravity (agy) panes | UI/UX design, docs, large-context tasks |
| omc team N:grok "..." | N Grok Build CLI panes | Code review, analysis cross-check |
| omc team N:cursor "..." | N Cursor agent panes | Implementation and reviewer-style tasks |
| omc team N:claude "..." | N Claude CLI panes | General tasks via Claude CLI in tmux |
| /ask codex + /ask antigravity | Tri-model advisor synthesis | Mixed Codex + Antigravity review in one pass |
Workers spawn on-demand and die when their task completes — no idle resource usage. Requires the selected CLI (codex, gemini, agy (antigravity), grok, or cursor-agent) installed/authenticated and an active tmux session.
Autopilot can prefer Cursor executor workers during team execution via .claude/omc.jsonc:
{
"autopilot": {
"execution": "team",
"team": { "agentTypes": ["cursor"] }
}
}
This config makes the autopilot execution stage use omc team 1:cursor "..." or /team 1:cursor "..." for implementation work. Cursor also supports reviewer-style roles (critic, code-reviewer, security-reviewer, test-engineer): those workers emit the structured verdict file the team leader consumes to transition the task, and final approval stays a lead-session responsibility. Cursor requires an installed/authenticated cursor-agent.
Pin a Cursor model with the OMC_EXTERNAL_MODELS_DEFAULT_CURSOR_MODEL environment variable, or per role with team.roleRouting..model. externalModels.defaults.cursorModel applies to workers routed through team.roleRouting. Ids come from cursor-agent --list-models, for example cursor-grok-4.6-high or composer-2.5. Left unset, cursor-agent chooses its own model.
Native team worker worktrees are being added behind an opt-in/config gate. See Native Team Worktree Mode for the workspace contract, canonical state-root rules, dirty-worktree preservation policy, and verification checklist.
Note: Package naming — The project is branded as oh-my-claudecode (repo, plugin, commands), but the npm package is published asoh-my-claude-sisyphus. If you install or upgrade the CLI tools via npm/bun, usenpm i -g oh-my-claude-sisyphus@latest; the package installs bothoh-my-claudecodeand the shortomccommand aliases.
Updating
If you installed OMC via npm, upgrade with the published package name:
npm i -g oh-my-claude-sisyphus@latest
Package naming note: the repo, plugin, and commands are branded oh-my-claudecode, but the published npm package name remainsoh-my-claude-sisyphus. npm installs expose bothoh-my-claudecodeandomc; examples preferomcfor brevity.
If you installed OMC via the Claude Code marketplace/plugin flow, update with:
# 1. Update the marketplace clone
/plugin marketplace update omc
2. Re-run setup to refresh configuration
/omc-setup
If you are developing from a local checkout or git worktree, update the checkout first, then re-run setup from that worktree so the active runtime matches the code you are testing.
Note: If marketplace auto-update is not enabled, you must manually run /plugin marketplace update omc to sync the latest version before running setup.
If you experience issues after updating, clear the old plugin cache:
/omc-doctor
Your Claude Just Have been Steroided.
---
Why oh-my-claudecode?
- Zero configuration required - Works out of the box with intelligent defaults
- Team-first orchestration - Team is the canonical multi-agent surface
- Natural language interface - No commands to memorize, just describe what you want
- Automatic parallelization - Complex tasks distributed across specialized agents
- Persistent execution - Won't give up until the job is verified complete
- Cost optimization - Smart model routing saves 30-50% on tokens
- Learn from experience - Automatically extracts and reuses problem-solving patterns
- Real-time visibility - HUD statusline shows what's happening under the hood
Features
Orchestration Modes
Multiple strategies for different use cases — from Team-backed orchestration to token-efficient refactoring. Learn more →
| Mode | What it is | Use For |
| --------------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| Team (recommended) | Canonical staged pipeline (team-plan → team-prd → team-exec → team-verify → team-fix) | Coordinated Claude agents on a shared task list |
| omc team (CLI) | tmux CLI workers — real claude/codex/gemini/antigravity/grok/cursor-agent processes in split-panes | Codex/Gemini/Antigravity/Grok/Cursor CLI tasks; on-demand spawn, die when done |
| Tri-model advisor (/ask codex + /ask antigravity) | Claude synthesizes both advisors' output | Mixed backend+UI work needing both Codex and Antigravity |
| Autopilot | Autonomous execution (single lead agent) | End-to-end feature work with minimal ceremony |
| Execute | Persistent execution with verify/fix loops, from plan to working code | Tasks that must complete fully (no silent partials) |
| Verify | Evidence-based completion checks until tests/build/lint/typecheck goals pass | Quality gates that need repeat diagnose/fix cycles |
| Claude Code /goal | Native Claude Code cross-turn goal loop | One measurable session completion condition; not an OMC evidence ledger |
| Artifact-only Ultragoal | Durable goal/checkpoint/evidence artifacts without starting a loop | Handoffs, audits, or unavailable/conflicting loop runtimes |
Goal Workflow Guidance
Use only one primary loop authority in a session. Claude Code /goal is useful for a native cross-turn completion condition, while Execute owns single-agent verified completion, Team owns parallel staged execution, and Verify owns repeated quality-gate cycling. Artifact-only Ultragoal is the safe fallback when you need durable goal artifacts and evidence without starting another loop.
For /goal behavior, rely on Claude Code/Anthropic sources: the Claude Code /goal docs and Anthropic Claude Code changelog. Do not claim the /goal evaluator independently runs commands or reads files; surface test output, diffs, and review evidence in the conversation before treating a goal as proven.
Intelligent Orchestration
- 19 specialized agents (with tier variants) for architecture, research, design, testing, data analysis
- Smart model routing - Haiku for simple tasks, Opus for complex reasoning
- Automatic delegation - Right agent for the job, every time
- Model × Agent Compatibility Matrix - Which model to pair with each agent, with premium/balanced/budget presets
Developer Experience
- Prompt triggers -
ralph,ralplan; Team stays explicit via/team - HUD statusline - Real-time orchestration metrics in your status bar
- If you launch Claude Code directly with
claude --plugin-dir(bypassing theomcshim), exportOMC_PLUGIN_ROOT=in your shell so the HUD bundle resolves to the same checkout as the plugin loader. See the Plugin directory flags section in REFERENCE.md for details. - Skill learning - Extract reusable patterns from your sessions
- Analytics & cost tracking - Understand token usage across all sessions
Contributing
Want to contribute to OMC? See CONTRIBUTING.md for the full developer guide, including how to fork, set up a local checkout, link it as your active plugin, run tests, and submit PRs.
Custom Skills
Learn once, reuse forever. OMC extracts hard-won debugging knowledge into portable skill files that auto-inject when relevant.
| | Project Scope | User Scope |
| --------------- | -------------------------------------------------------- | ----------------- |
| Path | .omc/skills/ | ~/.omc/skills/ |
| Shared with | Team (commit the skill file to keep it across worktrees) | All your projects |
| Priority | Higher (overrides user) | Lower (fallback) |
# .omc/skills/fix-proxy-crash.md
---
name: Fix Proxy Crash
description: aiohttp proxy crashes on ClientDisconnectedError
triggers: ["proxy", "aiohttp", "disconnected"]
source: extracted
---
Wrap handler at server.py:42 in try/except ClientDisconnectedError...
Manage skills: /skill list | add | remove | edit | search
Skillify: /skillify extracts reusable patterns with strict quality gates
Auto-inject: Matching skills load into context automatically — no manual recall needed
Project-scoped OMC-authored skills are stored in .omc/skills/ and are intended to be committed when you want them shared. During slash/skill execution OMC also reads Claude Code workspace skills from .claude/skills/ and compatibility skills from .agents/skills/, so existing workspace-local SKILL.md packages remain callable without copying them into user-global skills. If you create project-local skills inside a linked git worktree and do not commit them, they disappear when that worktree is removed.
.omc/ state and git
OMC writes runtime state, session data, plans, logs, handoffs, research notes, and local artifacts under .omc/ by default. The repository .gitignore keeps that runtime data local with one intentional exception: .omc/skills/** remains commit