v0.5.0 · Claude Code + Codex

Oh My
Harness Native for Claude Code and Codex

A spec-driven autonomous loop with real walls — plus safety guards, intelligent model routing, and multi-agent orchestration through native Claude Code and Codex hooks.

$ claude plugin marketplace add Hoya324/oh-my-harness
$ codex plugin marketplace add Hoya324/oh-my-harness
Get Started Explore Features
11+2Shared + bridge scripts
13/14Claude/Codex Skills
3Agents
7Features
Philosophy

Autonomy with
real walls.

For everyday work OMH stays light: advisory hooks warn, while critical pre-tool guards deny operations that cannot be verified as safe. In the autonomous loop, the harness owns continuation and termination against the spec.

Native in both runtimes

Claude Code and Codex, one harness

OMH ships native manifests, lifecycle hooks, skills, and MCP memory for the Codex CLI and desktop while preserving the existing Claude Code plugin.

Marketplace installation bundles hooks, skills, and MCP. To add Codex role profiles and durable AGENTS.md guidance, invoke /harness-setup and approve those writes, or run oh-my-harness init --runtime codex.

01

Claude Code plugin

claude plugin marketplace add Hoya324/oh-my-harness
claude plugin install oh-my-harness@oh-my-harness
02

Codex CLI / desktop local marketplace

codex plugin marketplace add Hoya324/oh-my-harness

This registers the source. In Codex CLI, enter /plugins, choose the configured marketplace, install oh-my-harness, then start a new session.

In Codex desktop, open Plugins, choose the configured marketplace under Personal, install oh-my-harness, then open a new chat.

03

Local project installation

If the oh-my-harness CLI is not already on PATH, clone the repository and link it first.

git clone https://github.com/Hoya324/oh-my-harness.git
cd oh-my-harness && npm link
cd /path/to/your-project
oh-my-harness init --runtime claude
oh-my-harness init --runtime codex
oh-my-harness init --runtime both

Runtime feature parity

Capability Claude Code Codex
Lifecycle hooks Native Claude contract Native Codex contract through a shared-core bridge
Spec, loop, and verify /omh-spec · /omh-loop · /omh-verify /omh-spec · /omh-loop · /omh-verify
Project state and memory .claude/.omh/ · ~/.omh/memory/graph.jsonl .claude/.omh/ · ~/.omh/memory/graph.jsonl
Status presentation Custom status-line HUD Hook messages and omh-status

After Codex installation, open /hooks and review the lifecycle hooks before trusting them. OMH never bypasses Codex's native trust boundary.

Codex has no equivalent custom status-line extension, so the Claude HUD is not rendered there. Use omh-status for tier, loop, verification, usage, and memory state.

How it works

The Hook Pipeline

OMH hooks into the native Claude Code or Codex lifecycle at every stage.

1

Session Start

Auto-detects your project's language, test framework, and linter. Injects conventions as context.

[omh:convention-detect]
2

Prompt Analysis

Checks for ambiguity and multi-task requests. Asks clarifying questions or suggests plan mode.

[omh:ambiguity-guard] [omh:auto-plan]
3

Tool Execution

Denies detected destructive operations or malformed hook input before execution. Routes subagents to the right model tier. Enforces commit conventions.

[omh:dangerous-guard] [omh:model-routing]
4

Task Complete

Verifies tests exist for changed code. Saves context snapshots before compaction.

[omh:test-enforcement]
Example: add a feature Example: a one-line fix Example: verify gate + independent cross-check
[omh:convention-detect]Detected: TypeScript · vitest · eslint
Add rate limiting to the login API
[omh:tier]Tier 3 — auth domain, careful mode
[omh:plan-gate]Heavy work — present a plan first
Adding a sliding-window limiter…
[omh:dangerous-guard]rm -rf detected — confirm before running
[omh:test-enforcement]Tests cover the new limiter
Fix the typo in the README
[omh:tier]Tier 1 — light, no plan needed
[omh:model-routing → haiku]Trivial edit → routed to haiku
Fixed 'recieve' → 'receive'
[omh:commit-convention]docs: fix typo in README
Done — payment refund flow updated
[omh:verify-gate]Sensitive path + no test → risk-gated, not done
[omh:verify-gate]Gate runs the verify ladder itself: lint + tests
[omh:verify-gate]High risk → cross-model /omh-verify
[omh:model-routing → opus]Routed to an independent reviewer — fresh context, different model
[omh:cross-verify]Independent rounds: Claude · GPT · Gemini, no shared context
[omh:cross-verify]2 models catch a missed edge case (negative amount)
Handle the negative amount + add a test
[omh:cross-verify]Criteria PASS · revert → tests fail (not vacuous)
[omh:verify-gate]Cross-model consensus → stop allowed
Features

Everything OMH does for you

18 features that activate automatically. No manual intervention needed.

01

Autonomous Loop

Spec-driven, tiered, self- and cross-verifying. Author a machine-checkable SPEC.md, then /omh-loop implements, verifies, and cross-verifies until every acceptance criterion passes — or a guardrail fires. The Stop hook owns continuation and termination; the model never decides when to stop.

/omh-spec /omh-loop Cross-Verify
02

Safety Guards

Ambiguity guidance plus hard pre-tool guards for detected destructive operations, malformed hook input, and audited out-of-scope Codex mutations.

Ambiguity Guard Dangerous Guard Scope Guard
03

Intelligent Model Routing

Automatically delegates tasks to the right model tier — Haiku for lookups, Sonnet for implementation, Opus for architecture.

harness:quick harness:standard harness:architect
04

Multi-Agent Orchestration

Spawn runtime-selectable Claude Code or Codex workers in tmux with git worktree isolation, or use each runtime's native collaboration operations.

/agent-spawn /agent-apply /agent-stop
05

Convention Auto-Detect

Scans your project at session start — detects language, test runner, linter, and formatter. Supports Node, Python, Go, Rust, Java, Kotlin.

SessionStart 6 Languages
06

Test Enforcement & Skill Scaffolding

Verifies tests exist after every code change. Auto-generates project-specific skills for code review, test writing, and linting.

Test Enforcement /init-project
07

Weight-Aware Verification

Classifies task weight (Tier 1/2/3); heavy work runs N independent verify+fix rounds rotating Claude, GPT, and Gemini. Plus disk-anchored STATE.md to survive context compaction.

Weight Routing /omh-verify STATE.md
08

Long-Term Memory

A knowledge-graph memory shared across Claude Code and Codex — one store, both runtimes. The loop reads prior learnings and verified commands before planning, then persists reflexions and high-confidence findings so lessons carry into the next session.

omh-memory MCP Claude + Codex Knowledge Graph
Model Routing

3 Agent Tiers

Cost-efficient delegation. The right model for the right task.

Haiku Quick

File lookups, simple questions, code exploration, pattern searches.

"Find all TODO comments" "What's in this file?"
Sonnet Standard

Bug fixes, feature implementation, debugging, test writing.

"Fix this validation bug" "Write unit tests"
Opus Architect

System design, complex refactoring, security review, deep analysis.

"Design the auth system" "Security audit"
Status Line

Real-time HUD

OMH replaces Claude Code's default status line with a live dashboard.

[OMH] | 5h:14%(3h51m) | wk:7%(6d5h) | session:29m | ctx:39% | 🔧53 | agents:2 | opus-4-6
Rate limits Session Context Tools Agents Model

Install for your runtime

1

Claude Code

claude plugin marketplace add Hoya324/oh-my-harness
claude plugin install oh-my-harness@oh-my-harness

Install the Claude Code plugin from the OMH marketplace.

2

Codex CLI / desktop

codex plugin marketplace add Hoya324/oh-my-harness

In Codex CLI use /plugins; in desktop use Plugins → Personal. Install oh-my-harness and start a new session or chat.

3

Local project setup

oh-my-harness init --runtime claude|codex|both

Use the runtime you want, or both to provision Claude Code and Codex together.