> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mutagent.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Harness Targets

> Apply approved fixes to harness markdown agents — Claude Code, Codex, OpenCode, Pi, Oh My Pi, Hermes — via GitHub.

When your agent is defined as **markdown in a coding-agent harness** — its system prompt, config, and
instructions as files in your repo — Helix applies approved fixes by editing those files and opening
a **pull request** on GitHub. Supported harnesses include Claude Code, Codex, OpenCode, and
the Pi family (Pi, Oh My Pi, Hermes).

<CardGroup cols={2}>
  <Card title="Claude Code" icon="https://mintcdn.com/architech/lNudYrm3oSHgdKIT/icons/claude-code.svg?fit=max&auto=format&n=lNudYrm3oSHgdKIT&q=85&s=233c2a58e7ec44d3d20fc0c14fa5aa85" width="1200" height="1200" data-path="icons/claude-code.svg">
    Agents defined in `.claude/agents/*.md`.
  </Card>

  <Card title="Codex" icon="https://mintcdn.com/architech/lNudYrm3oSHgdKIT/icons/codex.svg?fit=max&auto=format&n=lNudYrm3oSHgdKIT&q=85&s=d59281120906f1d921067d48eafe7c3b" width="16" height="16" data-path="icons/codex.svg">
    Agents defined as Codex markdown / TOML.
  </Card>

  <Card title="OpenCode" icon="https://mintcdn.com/architech/lNudYrm3oSHgdKIT/icons/opencode.svg?fit=max&auto=format&n=lNudYrm3oSHgdKIT&q=85&s=083f9225c8685ad095efa9ae8394297f" width="512" height="512" data-path="icons/opencode.svg">
    Agents defined as OpenCode markdown.
  </Card>

  <Card title="Pi" icon="https://mintcdn.com/architech/lNudYrm3oSHgdKIT/icons/pi.svg?fit=max&auto=format&n=lNudYrm3oSHgdKIT&q=85&s=3862e35f8e6e51beac82944664b079b0" width="800" height="800" data-path="icons/pi.svg">
    Agents defined for the Pi runtime.
  </Card>

  <Card title="Oh My Pi" icon="https://mintcdn.com/architech/lNudYrm3oSHgdKIT/icons/omp.svg?fit=max&auto=format&n=lNudYrm3oSHgdKIT&q=85&s=861d75580560c3c5cd9949ba10483dd8" width="64" height="64" data-path="icons/omp.svg">
    Agents defined for Oh My Pi.
  </Card>

  <Card title="Hermes" icon="https://mintcdn.com/architech/lNudYrm3oSHgdKIT/icons/hermes.png?fit=max&auto=format&n=lNudYrm3oSHgdKIT&q=85&s=918cff2667dcec83a4e0ff358d1d0e67" width="96" height="96" data-path="icons/hermes.png">
    Agents defined for the Hermes runtime.
  </Card>
</CardGroup>

## How a fix lands

Helix never writes to your repo directly. After Diagnose ranks a remedy and you approve it:

1. Helix prepares the change on a branch.
2. It opens a **GitHub pull request** with the diff.
3. You review and merge — the change is yours to accept.

<Note>
  Every apply is **approval-gated**. Helix proposes; GitHub is where you accept. Nothing lands on
  your default branch without your merge.
</Note>

Declare a harness target in your config:

```yaml .mutagent/config.yaml theme={null}
global:
  targets:
    - name: local-agents
      platform: local-claude          # local-claude · local-codex · local-cursor · local-opencode
      mode: local
      root: .claude/agents
      apply:
        kind: code-pr                 # ship fixes as a GitHub pull request
```

Building an agent as **code** instead of markdown? See [code targets](/integrations/targets/code).
