Open Agent Harness · for Claude Code and Codex CLI.

Does coding feel hard?

Just ask, then confirm.

Your AI builds, reviews and records the work: it checks what a change touches, reserves the paths it edits, keeps the wiki and the gate evidence, and runs Codex review until nothing blocks. You answer when a decision is needed, then confirm before it lands.

Go to installation Free & open source
★ Star on GitHub

Without a harness, every session starts over. Every single time.

Less context to repeat. Less work to redo. Follow each step to see the saved work add up.

30%

Tokens & time savedUp to · calculated

Calculated allocation of 30 saved units from a 100-unit workload; actual savings vary by task and environment.

A receipt for the work you save

Intent & scope01 / 06

  • Explain the same task again→
  • Reuse the written intent+6%
  • Saved so far6%

Impact map02 / 06

  • Read unrelated files→
  • Follow the affected paths+8%
  • Saved so far14%

Project wiki03 / 06

  • Rediscover past decisions→
  • Keep the decision and its reason+5%
  • Saved so far19%

Review loop04 / 06

  • Rebuild the review context→
  • Carry findings into correction+4%
  • Saved so far23%

Evidence & gates05 / 06

  • Repeat unaffected checks→
  • Keep evidence bound to its inputs+5%
  • Saved so far28%

Next session06 / 06

  • Reconstruct the handoff→
  • Continue from the recorded state+2%
  • Saved so far30%
Total saved30%

Required final checks stay in place.

Youask · answer · confirm

Your AI carries the work. You keep the decisions.

A harness is the set of tools, rules and records around an AI coding assistant. oah connects them so one plain request is carried through scope, build, review, checks and records — and stops for you when a decision is needed. Take the parts that help, or start with the whole setup and make it yours.

New in v0.3.0 ↗
  1. 001 / Impact map

    When your AI changes a file, the impact map lists the related code, documents and checks to rerun. Results are ranked pin, exec, link and mention, so the gates that pin or run a changed path come first. The map is bound to HEAD and its inputs, and oah never uses a stale map silently.

  2. 002 / Project wiki

    oah init creates docs/wiki/, an Obsidian-compatible folder where your AI keeps the task history, decisions and reasons beside the code. oah wiki maintain writes each task's log entry and index line, oah finish checks that it ran, and the next session has a record to read instead of asking you to explain everything again.

  3. 003 / Leases

    A lease reserves the paths one task may change, so two AI sessions never edit the same files by accident. An overlapping lease is refused with OAH_LEASE_CONFLICT, naming the holder. When the task finishes, oah compares the files really changed with the scope, because a lease cannot stop an editor from writing elsewhere.

  4. 004 / Gates

    A gate turns “done” into a check with recorded evidence: one checkable result, the command that proves it and the output it must produce. oah gates check runs the CHECK lines through unlazy after you approve them, ticks passing gates with evidence and binds them to their inputs. oah finish refuses unmet gates.

  5. 005 / Build and review loop

    Claude Code builds the first version; Codex CLI reviews a clean, read-only snapshot, corrects the blocking findings and reviews again. There is no fixed number of rounds: a series ends when a round approves or leaves only P2/P3 follow-ups. A repeated problem or a design choice stops the loop for your answer, and a round limit is optional.

  6. 006 / TypeSafe Jev, the optional judge

    TypeSafe Jev is the recommended, optional judge. It re-orders chosen skills and, in v0.3.0, judges difficulty from the Intent and Scope paths. Its tier guides model choice, subject to confidence thresholds and minimum tiers. Without a key, with Jev off or with an uncertain answer, the rules decide.

  7. 007 / Intent, scope and packets

    A packet holds everything about one task: intent, scope, plan, acceptance gates and return format. The intent states the problem, desired outcome and checkable success conditions, must be accepted before it binds to a lease, and travels byte for byte to every stage, worker and reviewer. Every return ends with one AC line per success condition.

  8. 008 / Difficulty, model and effort

    Each task gets a tier — low, medium, high or max — and the tier picks the model and reasoning effort for each engine. Readable rules score four axes: kind, intensity, reasoning and risk. Effort is verified and never lowered silently, optional tier pools list models you have checked, and every run records where its tier came from.

  9. 009 / Skill selection and updates

    Skills are instruction folders that Claude Code and Codex load. oah picks them for each brief by task kind, stage, risk and the file kinds in the Scope, with a reason for each. The kit cache updates at most once a day when no lease is active, and your project's tracked copies stay pinned until you run oah skills update --project.

  10. 010 / Landing after you confirm

    oah land --check decides whether the exact reviewed head may land, printing one line each for lease, intent, review, gates, impact, required checks, fast-forward, secret scan and CI. oah land --merge runs every check again, asks you to confirm, and only then fast-forwards the remote default branch to exactly that head.

  11. 011 / Guided setup with oah init

    Run oah init once in each project, a git repository with a remote. It asks once about each option, checks your tools and your Claude Code and Codex sign-ins, shows the complete plan, and changes files only after you confirm. Then it writes the config, rules block, wiki and templates and builds the first impact map.

  12. 012 / Use it with any AI setup

    The oah command drives Claude Code and Codex CLI today, but its ideas work with one AI or several, including other tools and harnesses. Take the parts you need — leases, engine stages, evidence gates, the impact map, the wiki, the review loop — and give each stage to the AI that suits you.

All features · 35

Explore the harness

Loading…

EN · —v0.3.0 @ cc0c0b6

Less repeated work. More work that counts.

Follow each feature diagram through its workflow, one step at a time.

  • Impact map: Know what a change touches

    Impact map

    Know what a change touches

    A changed path becomes a ranked set of dependencies and checks. Required pin and exec results stay in the plan.

    Read more · docs/concepts.md

    01 · Know what a change touchesImpact map

  • Leases: Keep parallel changes apart

    Leases

    Keep parallel changes apart

    Reserve paths before writing. An overlapping lease stops at the boundary; a completed task releases its paths.

    Read more · docs/concepts.md

    02 · Keep parallel changes apartLeases

  • Review loop: Review. Correct. Review again.

    Review loop

    Review. Correct. Review again.

    Codex reviews a read-only snapshot. P0/P1 findings return to correction; repeated problems ask for your decision.

    Read more · docs/concepts.md

    03 · Review. Correct. Review again.Review loop

  • Gates: Make done a checkable result

    Gates

    Make done a checkable result

    Commands and expected results become recorded evidence. When bound inputs change, the affected evidence needs checking again.

    Read more · docs/concepts.md

    04 · Make done a checkable resultGates

  • Project wiki: Keep the reason for next time

    Project wiki

    Keep the reason for next time

    Decisions become task records, then an index the next session can follow. Repeated maintenance avoids duplicate entries.

    Read more · docs/concepts.md

    05 · Keep the reason for next timeProject wiki

  • Model selection: Choose a model for the task

    Model selection

    Choose a model for the task

    Difficulty and benchmark scores meet your profile and risk floor. Optional Jev can judge difficulty; rules remain the fallback.

    Read more · docs/concepts.md

    06 · Choose a model for the taskModel selection

Your first task, hello-oah

Step 1 of 8

Steps 1–2 · Set up once

Make a practice copy and run oah init

You ask your AI to copy hello-oah into a separate project; it prepares git and a remote, either a GitHub repository or a local practice remote that stops before landing. Then you run oah init yourself, answer its questions (yes to unlazy, and to the CI starter if you want to land on GitHub) and confirm the complete plan. It installs the rules, wiki and templates and builds the first impact map. This example leaves Jev off, so the rules decide the difficulty and model.

Copy hello-oah into a separate project so I can try it.
hello-oah › 1–2. Practice copy and setup ↗

Get started

One installer per OS. Then talk to your AI.

v0.3.0 is the current release, for developers fluent with git and pull requests. macOS and native Windows are supported; Linux is not yet supported. The installer asks before it installs any missing tool and never sees your passwords or keys.

macOS 13 or newer · Terminal

These commands clone the release tag. Standalone release installers are also available; they verify the archive’s pinned SHA-256 before unpacking. Installers & SHA256SUMS ↗

Then, in your project

  • “Build login with oah.”
  • “Is the review done? Did all the gates pass?”
  • “Land this version.” — after you inspect the result and the checks.

When the AI stops for a repeated problem or a design choice, answer so it can continue.

Read the full install guide
  1. 01 · Git first

    xcode-select --install

    Only if git --version fails.

  2. 02 · Install oah

    git clone --branch v0.3.0 --depth 1 https://github.com/KenSuh/open-agent-harness.git
    cd open-agent-harness
    bash install/install.sh

    Add --dry-run to print every step and change nothing.

  3. 03 · Preview (optional)

    bash install/install.sh --dry-run
  4. 04 · New terminal, check

    oah --version

    Expected: oah 0.3.0

  5. 05 · Once per project

    oah init

    A git repository with a remote. It shows the plan and changes files only after you confirm.

Before you start

Go to installation Free & open source
Docs
  • oah is for developers and small teams who already use git and pull requests and want production-grade review discipline on their own machine. It was made first of all for people dissatisfied with AI coding results or setting up their first harness.

    The current release, v0.3.0, still expects you to be fluent with git and pull requests: you work on branches, push, open a pull request and confirm the landing yourself.