Sandbox build. This deployment is noindex and takes no payment; the public site is the production build.
Harness comparison

AI agent harnesses compared

Eight agent harnesses compared on surface, model access, local models, guardrails and portability — with vendor docs, no benchmark leaderboard.

Checked 10 November 2026 8 harnesses Markdown mirror
Harness Surface Models and sign-in Local models Guardrails Best fit
Claude Code Anthropic Terminal, IDE extensions, desktop, web Claude modelsClaude plan or API access Not documented by the vendor Permission modes plus allow, ask and deny rules Claude subscribers doing multi-file repository work
Codex CLI OpenAI Terminal, IDE extension, cloud OpenAI models; custom providers in configChatGPT plan or API key Documented via Ollama or LM Studio OS-enforced sandbox plus approval policy Terminal and CI loops on a ChatGPT plan
Gemini CLI Google Terminal, VS Code companion Gemini modelsGoogle account or API key Not documented by the vendor Approval modes and trusted folders Gemini users asking large-context repository questions
OpenCode Anomaly Innovations Terminal, desktop, web Any configured providerProvider keys or supported subscription sign-in Documented via Ollama, LM Studio and compatible servers Per-tool allow, ask or deny; no built-in OS sandbox One open-source harness across several model providers
Cline Cline VS Code, JetBrains, CLI, SDK Any configured providerProvider keys, Cline plans or supported subscriptions Documented via Ollama and LM Studio Per-action approval with auto-approve categories Editor-first work with explicit approval on every action
Aider Open source Terminal Any configured providerProvider API keys Documented via Ollama and compatible servers Confirmation prompts; no built-in OS sandbox Git-native pair programming with small, reviewed edits
Cursor CLI Anysphere Terminal; same agent as the Cursor editor Cursor-hosted modelsCursor account Not documented by the vendor Plan and ask modes plus allow and deny rules Existing Cursor users who want the same agent in a terminal
GitHub Copilot CLI GitHub Terminal Copilot-hosted modelsGitHub Copilot plan Documented via compatible local providers Approval prompts plus allow and deny rules GitHub-centric teams already on Copilot

Cells describe what the vendor documents say, not benchmark scores. Features move: open the linked docs before you install. Last checked 10 November 2026.

Profiles

What each one is actually good at

Anthropic

Claude Code

Claude subscribers doing multi-file repository work

Surface Terminal, IDE extensions, desktop, web Control Permission modes plus allow, ask and deny rules
Vendor docs
OpenAI

Codex CLI

Terminal and CI loops on a ChatGPT plan

Surface Terminal, IDE extension, cloud Control OS-enforced sandbox plus approval policy
Vendor docs
Google

Gemini CLI

Gemini users asking large-context repository questions

Surface Terminal, VS Code companion Control Approval modes and trusted folders
Vendor docs
Anomaly Innovations

OpenCode

One open-source harness across several model providers

Surface Terminal, desktop, web Control Per-tool allow, ask or deny; no built-in OS sandbox
Vendor docs
Cline

Cline

Editor-first work with explicit approval on every action

Surface VS Code, JetBrains, CLI, SDK Control Per-action approval with auto-approve categories
Vendor docs
Open source

Aider

Git-native pair programming with small, reviewed edits

Surface Terminal Control Confirmation prompts; no built-in OS sandbox
Vendor docs
Anysphere

Cursor CLI

Existing Cursor users who want the same agent in a terminal

Surface Terminal; same agent as the Cursor editor Control Plan and ask modes plus allow and deny rules
Vendor docs
GitHub

GitHub Copilot CLI

GitHub-centric teams already on Copilot

Surface Terminal Control Approval prompts plus allow and deny rules
Vendor docs

A harness is not a model

The model writes the tokens. The harness decides what those tokens can do: which files it can read, which commands it can run, how the session is stored, how a permission prompt appears, and what happens when the context fills up. Two harnesses running the same model can produce very different days.

That is why this page compares surfaces and controls, not benchmark scores. A score belongs to a model-and-harness pair on a task set; your repository is not that task set.

How to read the table

  • Surface is where the agent runs, not where the model runs. A terminal harness can still call a hosted model.
  • Models and sign-in describes what the vendor documents. A subscription that works in one harness often does not work in another; check before you commit a year.
  • Local models matters when the connection is unreliable or the work cannot leave the machine. “Not documented” is not the same as “impossible”; it means the vendor does not document a supported path.
  • Guardrails is the part to read twice. A permission prompt is not a sandbox. A sandbox is not a backup. Ask what the agent can touch when you say yes once.
  • Best fit is a starting hypothesis, not a verdict. Use the 45-minute bake-off before you switch your whole workflow.

What travel changes

A harness decision made at a desk in one country can fail on the road for reasons that have nothing to do with code quality.

  • Latency and connectivity. A terminal loop that streams a diff is painful on a 3G hotspot. A cloud session can keep working while your laptop sleeps, but it needs a reliable uplink to start and to collect the result.
  • Billing and currency. A monthly subscription is predictable; API usage is not. If your card, your bank or your country changes, check that the plan still works before you rely on it.
  • Device constraints. A fanless laptop throttles on a long agent run. A tablet cannot run most terminal harnesses. A desktop app may be the difference between working and waiting.
  • Data and border risk. Work that cannot leave the machine needs a local model or a self-hosted endpoint. A hosted harness is a data transfer, and the rules differ by client and jurisdiction.
  • Portability. The instructions, skills and prompts you accumulate are the real lock-in. Keep them in plain files; see a portable agent setup.

A shortlist by situation

  • You already pay for Claude: start with Claude Code. The subscription is the reason, not a benchmark.
  • You already pay for ChatGPT: start with Codex CLI. It has a documented local-model path and an approval model worth reading.
  • You want one harness across providers: look at OpenCode or Cline, and check the permission model before you run them on a client repository.
  • You work in an editor and want approvals: Cline or the Cursor agent. The editor is the interface; the approval model is the decision.
  • You want a small, legible loop: Aider. It is git-native and opinionated, and it does not pretend to be a sandbox.
  • You are on GitHub all day: Copilot CLI. The integration is the point.
  • You need a local model: Codex CLI, OpenCode, Cline and Aider document a path. Test it on your actual hardware before you depend on it.

What this comparison leaves out

It leaves out benchmark rankings, because they move faster than a page can be dated. It leaves out pricing tables, because plans and regional availability change without notice. It leaves out “best” because the answer depends on your subscription, your device, your client's data rules and the task in front of you.

If a cell is wrong, send the vendor page and the sentence that contradicts it to the help desk. A correction changes this page and its reviewed date.

Go deeper

No leaderboard, on purpose. A benchmark score belongs to a model-and-harness pair, a task set and a budget. Test the two or three harnesses you are considering on your own work; the method is in the 45-minute bake-off.

Found a gap in the library?

Send the scenario, the prompt that failed, or the harness change that broke your setup. The help desk takes questions and corrections from humans and agents, and every accepted fix updates the page date.