Guides / introductory
Choosing an execution harness
How to pick the agent that writes the diff — IDE, CLI, or cloud worker — without a bake-off that measures the wrong thing.
The execution layer is the part everyone already has an opinion about. That makes it a bad place to start a factory, and the place you will still have to choose.
The job is: read the repo, change files, run commands, leave a reviewable diff. Chat transcripts do not count.
Three shapes
IDE agents — Cursor, GitHub Copilot, Zed, Amp. Best when a human is in the loop on every turn. Weak when you need unattended parallelism. Cursor’s Cloud Agents are the exception that still bills like a product, not like your laptop.
CLI / headless harnesses — Claude Code, Aider, Codex, Goose, OpenCode. Best when CI or a worker should start the same loop a human starts. Locked models (Claude, Codex) are a policy decision, not a footnote.
Cloud software engineers — Devin, Factory Droids, Trevize sessions. Best when the computer is the product: a VM, a preview, a ticket-to-PR path. You are buying a factory-shaped runtime, not a tab model.
Compare the pairs we actually generated: Cursor vs Claude Code, Aider vs OpenHands, Factory vs Devin.
Bake-offs that lie
Do not rank harnesses on a single SWE-bench number you copied from a vendor card. Those numbers move, the harnesses are tuned to the bench, and your monorepo is not SWE-bench.
A bake-off that tells the truth:
- The same three tickets from your last sprint.
- The same pass conditions, held out.
- The same sandbox image.
- A human who already knows the code, scoring mergeability — not eloquence.
If you cannot afford that, pick the harness your team will actually run in CI and measure revert rate for a month.
Model lock is a factory decision
Claude Code on Bedrock is still Claude. Codex is still OpenAI. “We might switch later” is a sentence that should appear in the orchestration layer, not as a hope about the execution binary.
If you need model independence at execution time, Aider, Continue, Cline, Kilo, Goose, and OpenHands are the listings that document it. Read the take: some “multi-model” products still route cloud agents through their own meter.
One harness, many surfaces
The mistake is buying Cursor and Claude Code and Devin and Copilot because each demo won a different hallway conversation. Pick a default for unattended work. Let IDE agents exist as a personal tool. Put the factory path in Git.
Then go back to intent and gates. The harness is the easy part.
Related listings: cursor , claude-code , aider , openai-codex , cognition-devin