Harnesses

The harness is the runtime that executes your agent loop. Swap one line to switch runtimes.

executor:
  harness: claude

Supported harnesses

HarnessRuntimeBest for
claudeClaude CodeClaude Code out of the box. Add tools, policies, and prompts to customize.
codexCodexCodex out of the box. Add tools, policies, and prompts to customize.
piPiHeadless multi-model worker that runs on any gateway model. Ideal for review, exploration, and read-heavy tasks delegated by a supervisor agent.

More harness integrations are on the way.

Swap harnesses

Tools, policies, and other config stay the same across harnesses. Just change the harness value in your YAML, or override it at runtime:

omni run agent.yaml --harness codex

See Models & Credentials for how to set up API keys and choose models.