Compare coding harnesses.
Start with workflow, control, model access, and trade-offs. Open the technical rows only when you need them.
Comparing
| Dimension | Claude Code | Codex | OpenCode |
|---|---|---|---|
| Best fit | Developers already paying for Claude Pro or Max | ChatGPT subscribers who want one agent across app, IDE, and terminal | Developers who switch between providers and subscription paths |
| Interaction surfaces | Terminal, IDE, Web / desktop, Automation | Terminal, IDE, Web / desktop, Automation | Terminal, IDE, Web / desktop, Automation |
| Approval style | Policy | Policy | Policy |
| Model portability | Managed routing | Provider + local | Provider + local |
| Local models | Not documentedNo first-class support established by the current recordAbsence of current documentation is not proof that the capability is impossible. | DocumentedLocal or self-hosted model pathSource · checked 2026-07-27The source establishes the mechanism, not its quality or availability in every mode. | DocumentedLocal or self-hosted model pathSource · checked 2026-07-27The source establishes the mechanism, not its quality or availability in every mode. |
| Agent parallelism | DocumentedDelegated or parallel agent workflowSource · checked 2026-07-27The source establishes the mechanism, not its quality or availability in every mode. | DocumentedDelegated or parallel agent workflowSource · checked 2026-07-27The source establishes the mechanism, not its quality or availability in every mode. | DocumentedDelegated or parallel agent workflowSource · checked 2026-07-27The source establishes the mechanism, not its quality or availability in every mode. |
| Headless | DocumentedNon-interactive or automation surfaceSource · checked 2026-07-27The source establishes the mechanism, not its quality or availability in every mode. | DocumentedNon-interactive or automation surfaceSource · checked 2026-07-27The source establishes the mechanism, not its quality or availability in every mode. | DocumentedNon-interactive or automation surfaceSource · checked 2026-07-27The source establishes the mechanism, not its quality or availability in every mode. |
| Security sandbox | OptionalOptional OS sandbox locally; managed isolation on cloud surfacesSource · checked 2026-07-27Local sandbox coverage depends on configuration and does not contain every process or side effect. | Available by defaultSandbox-first local CLI and managed cloud executionSource · checked 2026-07-27The effective boundary still depends on the selected sandbox and approval policy. | No built-in supportHost execution; permission rules are not process isolationSource · checked 2026-07-27The official security policy explicitly states that OpenCode has no sandbox. |
| File rollback / restore | DocumentedProduct-supported file or session rollbackSource · checked 2026-07-27The source establishes the mechanism, not its quality or availability in every mode. | Not documentedNo first-class support established by the current recordAbsence of current documentation is not proof that the capability is impossible. | DocumentedProduct-supported file or session rollbackSource · checked 2026-07-27The source establishes the mechanism, not its quality or availability in every mode. |
| Admitted measured configuration | 83.82% ± 1.16anthropic/claude-fable-5, harness 2.1.167 | 83.15% ± 1.13openai/gpt-5.5, harness 0.125.0 | No admitted run |
| Main trade-off | The local CLI is host-first: OS sandboxing is disabled by default, may fall back to unsandboxed execution when unavailable unless failIfUnavailable is enabled, and covers Bash subprocesses rather than every tool | The standard local workspace sandbox limits writes and disables network access, but legacy modes can still read beyond the project; least-privilege permission profiles are beta and do not compose with legacy sandbox settings | Execution is host-first with no built-in OS or container sandbox; shell commands, plugins, custom tools, and local MCP servers inherit the user's privileges |