Skip to content

Harnesses

A harness is the coding agent that runs your sessions: OpenCode, Codex, or Claude Code. OpenDucktor uses the models of your sign-in to the harness.

Install a harness

Install the harness and sign in to it with its own tool. Then turn it on in OpenDucktor.

HarnessMinimum versionInstall and sign in
OpenCode2 or laterOpenCode documentation
CodexWith codex app-serverCodex documentation
Claude Code2.1.306 or laterClaude Code documentation

To steer a message into a running reply, OpenCode needs 2.0.24 or later and Codex needs 0.106.0 or later.

Goal mode needs OpenCode 2.2.1, Codex 0.166.0, or Claude Code 2.1.306 or later. See Goal mode support.

To update, run opencode upgrade or claude update. Update Codex with the tool that installed it, for example npm install -g @openai/codex@latest or brew upgrade --cask codex.

Claude subscriptions

To use Claude Code with a Claude subscription, read Use the Claude Agent SDK with your Claude plan.

Turn on a harness

The setup wizard turns on the harnesses that you choose. Use these steps to turn one on later.

  1. Open Settings, then Agent runtimes, then the harness. Settings shows Claude Code as Claude.
  2. Turn on Enabled. If the harness does not show Available, select Browse and choose its executable.
  3. Select Save settings.
The Agent runtimes section of Settings. OpenCode, Claude, and Codex show Enabled. The OpenCode card shows Available, the Enabled switch, the executable path with Browse, and the version with Check again.The Agent runtimes section of Settings. OpenCode, Claude, and Codex show Enabled. The OpenCode card shows Available, the Enabled switch, the executable path with Browse, and the version with Check again.

If the harness shows Needs attention, see Troubleshooting.

What each harness supports

All three harnesses run every agent role. Each one supports questions, permission requests, attachments, slash commands, skills, and session forks. They differ in these features:

FeatureOpenCodeCodexClaude Code
Image generationNoYesNo
Resume after a turn stopsNoYesYes
Speed choiceNoSome modelsSome models
Agent profile choiceYesNoNo
Todo list in the sessionNoYesYes
Subagents in the backgroundYesNoYes
Mention a subagent with @YesNoNo
Permission repliesApprove once, Allow for project, RejectApprove once, Approve for session, Always allow, RejectApprove once, Reject

Goal mode support

All three harnesses run Goal mode. They differ in these points:

OpenCodeCodexClaude Code
Minimum version2.2.10.166.02.1.306
Pause goal and Resume goalYesYesNo. Only Clear goal.
Stop session during a goalStops the turn and pauses the goalStops the turn and pauses the goalStops the turn and keeps the goal. The row shows Waiting for your message.

With an older harness, the Goal mode switch is off and names the version to install. OpenCode runs goals with its goal plugin. If your OpenCode config turns the plugin off, remove -opencode.goal from plugins in the OpenCode config.

Control what agents can do

Each harness has its own permission settings in Agent runtimes.

  1. In Agent runtimes, select the harness.
  2. Set the default value of each field. For Claude Code, open the group of the field first. To give one role another value, turn on Role overrides for the field.
  3. If the section asks you to confirm reduced protections, turn on the confirmation switch.
  4. Select Save settings.
The Sandbox mode card of the Codex settings. The default is Workspace-write. Role overrides is on, with Spec, Planner, and QA set to Read-only and Builder set to Inherited.The Sandbox mode card of the Codex settings. The default is Workspace-write. Role overrides is on, with Spec, Planner, and QA set to Read-only and Builder set to Inherited.
HarnessSettingWhat it does
OpenCodeOpenCode permissionsAllows, asks about, or denies each command, file access, or web fetch.
CodexSandbox modeSets what Codex can change.
CodexApproval promptsSets when Codex asks you.
CodexPrompt reviewerSets who reviews approval prompts: you or the Codex automatic review.
CodexCommand network accessLets commands in sandboxed turns use the network.
Claude CodeApproval modeSets when Claude Code asks you.
Claude CodeBash sandboxRuns shell commands in a sandbox.

The settings apply in this order:

In a Claude Code list field, such as Allow rules, OpenDucktor adds its entries to the native entries.

In Codex, a command in the Workspace-write sandbox can change files without a request. To stop the Spec, Planner, and QA roles from changing files with Codex, set their Sandbox mode to Read-only in Role overrides. The Builder cannot use Read-only.

OpenCode and Claude Code apply changes to new and forked sessions. Resumed and imported Claude Code sessions use the native Claude settings. Codex applies changes to sessions that start or resume after the save.

Reduced protections

These settings let agents act without your approval or outside the sandbox:

  • Codex Sandbox mode: Danger full access
  • Codex Approval prompts: Never
  • Claude Code Approval mode: Bypass permissions
  • Claude Code Bash sandbox: off

Use them only in a repository that you trust.

Next

On this page