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
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.
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.
claude plugin marketplace add Hoya324/oh-my-harnessclaude plugin install oh-my-harness@oh-my-harness
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.
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.gitcd oh-my-harness && npm linkcd /path/to/your-projectoh-my-harness init --runtime claudeoh-my-harness init --runtime codexoh-my-harness init --runtime both
| 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.
OMH hooks into the native Claude Code or Codex lifecycle at every stage.
Auto-detects your project's language, test framework, and linter. Injects conventions as context.
[omh:convention-detect]
Checks for ambiguity and multi-task requests. Asks clarifying questions or suggests plan mode.
[omh:ambiguity-guard]
[omh:auto-plan]
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]
Verifies tests exist for changed code. Saves context snapshots before compaction.
[omh:test-enforcement]
18 features that activate automatically. No manual intervention needed.
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.
Ambiguity guidance plus hard pre-tool guards for detected destructive operations, malformed hook input, and audited out-of-scope Codex mutations.
Automatically delegates tasks to the right model tier — Haiku for lookups, Sonnet for implementation, Opus for architecture.
Spawn runtime-selectable Claude Code or Codex workers in tmux with git worktree isolation, or use each runtime's native collaboration operations.
Scans your project at session start — detects language, test runner, linter, and formatter. Supports Node, Python, Go, Rust, Java, Kotlin.
Verifies tests exist after every code change. Auto-generates project-specific skills for code review, test writing, and linting.
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.
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.
Cost-efficient delegation. The right model for the right task.
File lookups, simple questions, code exploration, pattern searches.
"Find all TODO comments"
"What's in this file?"
Bug fixes, feature implementation, debugging, test writing.
"Fix this validation bug"
"Write unit tests"
System design, complex refactoring, security review, deep analysis.
"Design the auth system"
"Security audit"
OMH replaces Claude Code's default status line with a live dashboard.
claude plugin marketplace add Hoya324/oh-my-harnessclaude plugin install oh-my-harness@oh-my-harness
Install the Claude Code plugin from the OMH marketplace.
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.
oh-my-harness init --runtime claude|codex|both
Use the runtime you want, or both to provision Claude Code and Codex together.