Hermes MCP bridge: Bounded, opt-in session status, audited follow-up dispatch, safe artifact reads, log tails, and final coordination reports without exposing raw tmux scrollback or private runtime state.
Canonical $design workflow:DESIGN.md becomes the durable product/UI decision surface and mirrored skill guidance replaces the older frontend shortcut.
Plugin-mode discovery: Local Codex plugin marketplace setup exposes OMX skills, verifies plugin cache materialization, and includes plugin-scoped MCP metadata for Hermes.
Adversarial UltraQA:$ultraqa now requires hostile scenario modeling, prompt-injection attempts, interrupt/cancel/resume coverage, stale-state checks, and cleanup evidence.
Runtime ownership hardening: Windows native hooks, tmux continuation ownership, startup shell isolation, committed project memory loading, and Ultragoal reconciliation now match current OMX contracts.
Minor release. Published May 12, 2026.
v0.16.4
Approved Handoffs & Completion Proof
View changes in v0.16.4
Approved execution handoffs: Team DAG startup requires matching approved PRD/test-spec artifacts instead of consuming ambient stale plans.
Context-pack metadata: Bounded context packs preserve routing, evidence, and ownership metadata for safer continuation.
Hook/setup ownership: Codex hook feature flags, setup/notify ownership, and HUD/runtime state-root visibility were aligned with current runtime authority.
Ralph and Ultragoal proof: Completion audits require durable evidence, and Ultragoal final cleanup/review proof is mandatory before goal completion.
Patch release. Published May 11, 2026.
v0.14.2
Operator Reliability & Toolchain Refresh
View changes in v0.14.2
Safer omx question rendering: Fails closed outside attached tmux panes with a clear operator-facing error instead of spawning an unseen detached renderer.
Duplicate MCP cleanup: Older same-parent stdio duplicate siblings self-exit after a safe post-traffic idle window, reducing stale MCP server buildup.
Deep-interview state hardening: Session-scoped mode clears leave an inactive tombstone so legacy root fallback does not immediately reactivate the mode; failed question launches clear pending obligations.
Korean IME drift routing: Prompts typed as ㅕㅣㅈ on a Korean 2-set keyboard normalize to the ulw ultrawork shorthand before activation.
Shared tmux submit semantics: Question-answer injection now routes through the same buildSendPaneArgvs path as reply-listener pane injection.
Background question guidance: Agents now explicitly wait for background omx question terminals to finish and read the JSON answer before continuing.
Tooling refresh: TypeScript upgraded to 6.0.3, Biome lockfile metadata refreshed to 2.4.12, and tsconfig.json pins Node ambient types for the TS 6 build path.
Patch release. Released April 21, 2026.
v0.14.1
Interactive Surface Reliability Patch
View changes in v0.14.1
Deep-interview Stop gating: Pending question obligations now block Stop correctly even after the mode marks itself inactive.
Question pane resilience: Non-POSIX shells, missing panes, and detached-session startup failures now fail closed instead of leaving a dead question UI behind.
Setup refresh recovery: Explicit omx update can refresh setup state even when the installed version is already current; advisory update-state write failures no longer block the refresh path.
Lifecycle normalization: Terminal lifecycle helpers now reuse the shared runtime run-outcome contract instead of a parallel implementation.
Guidance polish: Code-review skill requires a more comprehensive dual-perspective review posture; lightweight fallback lanes stay intentionally lean.
Persistent Stop-hook correctness: Native Stop auto-nudge runs without being gated by the OMX runtime, while active OMX workflows still block Stop until they truly finish.
Ralph activation & recovery: Conversational Ralph mentions no longer seed workflow state, Ralph stays visibly active across continuation recovery, and steer-lock retries are capped.
Explore reentry guards:omx explore fails closed on shell-startup re-entry and allowlist wrappers no longer self-resolve.
Worker runtime identity: Worker runtime role identity is preserved through startup and scaling via one reviewable verification path.
Skill UX: Analyze skill revived as a read-only investigation surface, OMX-installed skills are marked in /skills without renaming, Shift+Enter tmux triage docs added.
Patch release. Released April 18, 2026.
v0.13.1
Team Status & Worker PID Patch
View changes in v0.13.1
Team status JSON: Leader mailbox pruning no longer replays duplicate delivered-message bridge calls, keeping omx team status --json parseable.
Worker PID metadata: Interactive team workers now record the PID from the resolved pane id and persist it into config/identity state.
Release alignment: Metadata synchronized across Node, Cargo, changelog, and release collateral.
Tmux: Enabled automatic tmux mouse scrolling for team sessions.
Agents: Registered OMX agents as Codex native multi-agent roles.
#Feature Guides
These quick references cover the major operational surfaces added across v0.7 through v0.9, from scaling and consensus planning to native exploration and notification integrations.
#Dynamic Team Worker Scaling
Phase 1 supports manual scale_up / scale_down while a team is running.
Enable scaling with OMX_TEAM_SCALING_ENABLED=1.
scale_down drains workers safely before removal, and scaling operations are lock-protected to prevent overlapping changes.
#RALPLAN-DR Consensus Planning
$ralplan is shorthand for $plan --consensus.
Workflow uses Planner → Architect → Critic with a structured RALPLAN-DR summary before execution.
Default mode is short consensus; use --deliberate for high-risk work (security, migrations, destructive operations, public API breakage).
#OpenClaw Integration
OpenClaw can be configured with explicit notifications.openclaw hooks or generic command/webhook aliases.
Set OMX_OPENCLAW=1 to enable the dispatch path. For command gateways, also set OMX_OPENCLAW_COMMAND=1.
Common hook events: session-start, session-idle, ask-user-question, session-stop, and session-end.
Team workers now run in isolated git worktrees by default. The --worktree flag is deprecated and treated as a no-op — worktrees are always on.
How It Works
Clean leader workspace required — leader must have a committed/stashed workspace before omx team starts.
Automatic worktree provisioning — each worker gets a detached worktree at .omx/team/<name>/worktrees/worker-N.
Workers commit to their worktree — isolated branches mean zero write conflicts between workers.
Leader merges incrementally — the runtime continuously integrates worker commits back into the leader branch.
Shutdown cleanup — provisioned worktrees are rolled back and branches deleted on team shutdown.
Incremental Merge Strategies
The integration engine selects the best strategy per worker automatically:
Merge (--no-ff -X theirs) — when the worker is cleanly ahead of the leader. Fast and conflict-free.
Cherry-pick — when histories have diverged. Picks individual worker commits into the leader branch.
Cross-worker rebase — for sequential dependencies between workers. Rebases one worker's branch onto another's integrated state.
Conflicts are detected early and logged to .omx/state/team/<team>/integration-report.md with per-file detail.
Worker Commit Protocol
Workers must commit before reporting completion: git add -A && git commit -m "task: <subject>". The runtime auto-commits as a fallback if a worker forgets, but explicit commits are preferred for cleaner history.
BASH
# Worktrees are automatic — no flags needed
omx team 3:executor "implement feature X"
# Check worker worktree status
omx team status <team-name>
# Output includes: worktree_path, worktree_branch, worktree_detached per worker
# Mixed providers — all get worktrees
OMX_TEAM_WORKER_CLI_MAP=codex,claude,gemini omx team 3:executor "full-stack work"
Cross-Worktree State Resolution
Team state root is resolved from the leader cwd (<leader-cwd>/.omx/state) and shared across all worktrees via OMX_TEAM_STATE_ROOT.
Dispatch, task claims, mailbox delivery, and lifecycle updates remain consistent across all worker worktrees.
Worker identity files track worktree_path, worktree_branch, worktree_detached, and worktree_created for full observability.
#Gemini-Powered Teams
Full support for Gemini CLI workers in OMX Team mode.
Leverage Gemini's massive context window and reasoning capabilities for complex architectural planning and codebase-wide refactors.
Mixed-provider teams (Codex + Claude + Gemini) enable the ultimate "best-of-breed" orchestration.
Configure with OMX_TEAM_WORKER_CLI_MAP=codex,claude,gemini.
Runtime Examples
Run mixed teams with Gemini to leverage specialized reasoning strengths.
BASH
# 1. Start a mixed provider team
export OMX_TEAM_WORKER_CLI_MAP=codex,claude,gemini
omx team 3:executor "full-stack implementation"
# 2. Force all workers to Gemini
export OMX_TEAM_WORKER_CLI=gemini
omx team 2:architect "large-scale architectural review"
# 3. Pass explicit Gemini models
export OMX_TEAM_WORKER_LAUNCH_ARGS="--model gemini-2.0-flash-exp"
omx team 1:executor "experimental feature"
Gemini worker behavior notes:
Prompt-interactive startup: Gemini workers are automatically seeded with an initial prompt using --approval-mode yolo -i "..." to ensure reliable tmux bring-up.
Model Filtering: Non-Gemini default models (like Spark) are automatically filtered out when launching Gemini workers to prevent provider/model mismatches.
Context Advantage: Use Gemini workers for tasks requiring deep codebase context or long-form architectural synthesis.
#Installation
BASH
# 1. Install globally
npm install -g oh-my-codex
# 2. Run setup
omx setup
# 3. Verify installation
omx doctor
#Quick Start
OMX uses "Magic Keywords" and $skill commands to detect your intent. Just describe what you want.
EXAMPLES
# Inside Codex CLI:
/prompts:architect "analyze current auth boundaries"
/prompts:executor "implement input validation in login"
$plan "ship OAuth callback safely"
$team 3:executor "fix all TypeScript errors"
# From terminal:
omx team 4:executor "parallelize a multi-module refactor"
omx team status <team-name>
omx team shutdown <team-name>
Autonomous Building
"autopilot build a React dashboard" — Full autonomous execution from idea to code.
Refactoring
"ralph refactor the API" — Persists until verified clean ("The boulder never stops").
Parallel Work
"ulw fix all errors" — Runs multiple agents in parallel for speed.
tmux Teams
"team 5:executor refactor backend" — Spawns a team of 5 agents coordinated from the leader pane.
Planning
"plan the auth system" — Starts an interactive planning interview.
#Why OMX
Codex CLI is strong for direct tasks. OMX adds structure for larger work:
Decomposition and staged execution: Managed through team-plan → team-prd → team-exec → team-verify → team-fix pipeline.
Persistent mode lifecycle state: Stored in .omx/state/ for resumable execution.
Memory + notepad surfaces: Dedicated workspace for long-running sessions.
Operational controls: Fine-grained control over launch, verification, and cancellation.
#Conductor Philosophy
The core principle of OMX is: You are the conductor, not the performer.
Golden Rule
NEVER make code changes directly. ALWAYS delegate to specialized agents. Your role is to guide, review, and orchestrate.
Agents have specialized roles. The architect sees the big picture, the executor writes the code, and the verifier proves it works. Respecting this division ensures higher quality output.
#Agent Tiers & Catalog
OMX organizes 30+ specialized agents into functional lanes. Use /prompts:name to invoke them.
🛑 Do It Yourself: Small clarifications, quick status checks, single-command operations. Direct writes are OK for .omx/, .codex/ config files.
#Execution Modes
🤖
Autopilot
autopilot
The flagship mode. Full autonomous execution from idea to delivered code. Self-correcting loop.
Expansion (Analyst + Architect)
Planning (Architect + Critic)
Execution (Ralph + Ultrawork)
QA Cycling (UltraQA)
🔄
Ralph
ralph
"The boulder never stops." Persistence mode. Keeps working until the Architect verifies the goal is met.
Infinite persistence loop
Includes Ultrawork automatically
Strong verification requirements
⚡
Ultrawork
ulw
Maximum parallelism. Aggressively delegates subtasks to multiple background agents.
Up to 5+ concurrent agents
Smart model routing
Non-blocking background execution
#Team Compositions
v0.10.0
All team compositions below run in isolated git worktrees by default. Each worker gets its own worktree automatically — zero merge conflicts, incremental integration, and clean shutdown rollback.
Resume a previous interactive Codex session from the terminal.
omx explore
Default read-only exploration surface for shell-native repository inspection. May route through sparkshell when appropriate.
omx sparkshell
Explicit shell-native inspection command with adaptive summaries and tmux pane capture support.
omx team
Spawn/status/resume/shutdown parallel worker panes in tmux.
omx ralph
Launch Codex with ralph persistence mode active.
omx status
Show active modes and execution state.
omx cancel
Cancel active execution modes (autopilot, team, etc.).
omx hud
Inspect runtime HUD state with watch/json/preset-oriented operator views.
omx reasoning [mode]
Show or set model reasoning effort (low|medium|high|xhigh).
omx version
Show version information.
omx help
Show the help message.
Launch Flags
Flag
What It Does
--yolo
Launch Codex in yolo mode.
--high / --xhigh
Shorthand for high/extra-high reasoning effort.
--madmax
DANGEROUS: bypass Codex approvals and sandbox.
--spark
Use Codex spark model (~1.3x faster) for team workers.
--madmax-spark
Spark model + bypass approvals for leader and workers.
-w, --worktree[=<name>]
Launch in a git worktree (isolated environment).
--force
Force reinstall (overwrite existing files) during setup.
--dry-run
Show what would be done without doing it.
--verbose
Show detailed output for debugging.
--scope <user|project>
Control installation target (global or local).
Explore, Sparkshell, and Resume
omx explore is intentionally read-only and shell-only. It is suited to quick repository discovery, while omx resume and omx sparkshell cover operator recovery and direct shell-native inspection.
omx explore does not promise full Codex tool parity. It stays read-only, shell-only, and blocks pipes, redirection, shell chaining, and path escapes outside the target repository.
omx explore currently allowlists rg, grep, ls, find, wc, cat, head, tail, pwd, and printf.
omx sparkshell uses env-based model routing such as OMX_SPARKSHELL_MODEL and supports explicit tmux-pane summarization when requested.
Advisor (Ask) Examples
The omx ask command allows you to query specialized advisors directly from your terminal.
BASH
# Simple queries
omx ask claude "review this diff"
omx ask gemini "brainstorm alternatives for the auth system"
# Role-specific queries
omx ask claude --agent-prompt executor "implement feature X with tests"
omx ask gemini --agent-prompt planner "draft a rollout plan for v0.9"
# Shorthand prompt flags
omx ask claude -p "summarize the recent changes"
omx ask gemini --prompt "check this regex for errors"
Team Commands
Command
What It Does
omx team 3:executor "task"
Start team workers on a task
omx team 2:explore "short scoped analysis task"
Launch a small read-only exploration team for fast repository analysis.
omx team status <team-name>
Check team status
omx team resume <team-name>
Resume team
omx team shutdown <team-name> [--force]
Shutdown team
Env vars
OMX_TEAM_WORKER_CLI (auto|codex|claude|gemini), OMX_TEAM_WORKER_CLI_MAP (per-worker mix like codex,claude,gemini)
Hooks, Extensions, and Native Build Helpers
OMX also exposes hook scaffolding, HUD inspection, and native build or verification helpers for autoresearch, exec, and team worktree surfaces.
Command
Description
omx hooks init
Scaffold a new hook plugin in .omx/hooks/.
omx hooks status
Show status of installed hook plugins.
omx hooks validate
Validate hook plugin implementation.
omx hud --watch
Watch runtime state and HUD output live.
omx hud --json
Emit HUD status as machine-readable JSON.
omx tmux-hook init
Initialize tmux prompt injection workaround.
npm run build:full
One-shot TypeScript plus packaged native build for explore harness and sparkshell.
npm run test:explore
Verify the native exploration harness and integration path.
npm run test:sparkshell
Verify sparkshell behavior, summaries, and native bridge wiring.
Plugins are disabled by default. Enable them by setting OMX_HOOK_PLUGINS=1 in your environment.
#Notifications
Get alerts when your OMX session changes state or needs your input.
Overview
OMX can send alerts when a Codex session starts, stops, goes idle, or asks for input.
Five platforms are supported: Discord (webhook), Discord (bot API), Telegram, Slack, and generic webhook.
You can configure notifications in config.toml or with environment variables.
Tip
Start with environment variables, then run omx setup to write a config file.
Quick Setup
The fastest setup is exporting env vars, then running setup.
OpenClaw is the recommended path for production-grade notification orchestration. It allows you to trigger agent turns and complex follow-up behaviors.
You can fine-tune team behavior using environment variables or .omx-config.json.
BASH
# Mix different AI providers in one team
export OMX_TEAM_WORKER_CLI_MAP=codex,claude,gemini
omx team 3:executor "parallel refactoring"
# Force all workers to Gemini CLI
export OMX_TEAM_WORKER_CLI=gemini
omx team 2:executor "sync docs and report"
# Force a specific model for workers
export OMX_TEAM_WORKER_LAUNCH_ARGS="--model gpt-5.3-codex-spark"
omx team 2:architect "design the system"
# Enable dynamic scaling
export OMX_TEAM_SCALING_ENABLED=1
omx team 2:executor "task"
Reply Injection
You can reply from Telegram, Discord, or Slack to inject text into the Codex session.
This feature requires tmux and authorized user IDs.
Core config fields are enabled, pollIntervalMs, maxMessageLength, and rateLimitPerMinute.
#Recommended Workflows
Battle-tested patterns for common tasks. Pick the one that fits.
Full-Auto from PRD
For big features that need a plan first.
$ralplan→$team→$ralph
$ralplan gathers requirements and creates a plan with planner + architect + critic consensus.
$team spawns parallel tmux workers to build in parallel.
$ralph persists until everything is verified complete.
No-Brainer
When the task is clear and you just want it done.
$autopilot→$ultrawork→$ralph
$autopilot takes the wheel and runs autonomously.
$ultrawork parallelizes subtasks for speed.
$ralph persists until verified ("The boulder never stops").
Fix / Debugging
For bugs and errors.
$plan→$ralph→$ultraqa
$plan investigates the problem and creates a fix strategy.
$ralph implements fixes and keeps going until done.
$ultraqa cycles through test -> verify -> fix until all tests pass.
Parallel Issue Handling
For handling multiple issues or tickets at the same time.
omx team (architect)→omx team (workers)→$ralplan→$ralph + $ultrawork→$ultraqa
Start architect workers to analyze all issues and draft one complete plan.
Run workers in parallel on separate worktrees, each submitting a PR to dev.
Review and merge open PRs, then run $ralplan to resolve conflicts safely.
Finish with $ralph, $ultrawork, and $ultraqa until all tests pass.
Good to know
These four patterns cover most real-world work. Other skills exist for specific tasks, but you rarely need them day-to-day.
#Advanced Orchestration
For large-scale engineering, OMX supports complex team configurations, mixed CLI workers, and git worktree isolation.
Mixed CLI Teams
You can mix different AI providers (Codex, Claude, and Gemini) within a single team to leverage their unique strengths.
BASH
# Mix Codex, Gemini, and Claude workers in one team
export OMX_TEAM_WORKER_CLI_MAP=codex,gemini,claude
omx team 3:executor "refactor the shared runtime docs"
Team CLI API
All mutations and coordination should use the CLI interop API for stable JSON-based state transitions. This is critical for automated tooling and complex worker coordination.
BASH
# Create a task programmatically
omx team api create-task --input '{"team_name":"my-team","subject":"Fix bug","description":"..."}' --json
# Claim a task with versioned safety
omx team api claim-task --input '{"team_name":"my-team","task_id":"1","worker":"worker-1"}' --json
# Transition terminal task status after claiming
omx team api transition-task-status --input '{"team_name":"my-team","task_id":"1","from":"in_progress","to":"completed","claim_token":""}' --json
Worktree Isolation
Launch teams in dedicated git worktrees to prevent parallel workers from clobbering each other's files. OMX handles state resolution across these worktrees automatically.
BASH
# Launch in a new worktree
omx team 4:executor "feature work" --worktree=feature-branch
Architecture Insight
OMX maintains a durable, claim-safe lifecycle for every task. If a worker fails or a session is interrupted, the state is preserved in .omx/state/team/, allowing for safe resumes with omx team resume <team-name>.