AI harnesses
What form factors do AI harnesses come in?
AI harnesses come in three shapes: CLI agents live in the terminal and reward scripting, IDE agents work inside your editor with the lowest friction, and cloud or async agents run remotely so you can hand off a task and walk away.
Harnesses come in three shapes, and the shape is mostly about where the harness runs and what that does to friction and reach.
- CLI agents live in the terminal and reward scripting: pipe them into a build step, run them headless in CI, chain them with other command-line tools (Claude Code, Codex, Aider). The cost is that you leave your editor to use one.
- IDE agents work inside your editor with inline diffs and the lowest friction of the three — the suggestion appears where you are already looking, and accepting it is a keystroke (Cursor, Copilot). The trade is that they are usually scoped to what the editor’s extension API can see and do, which caps how far outside “edit this file” they comfortably reach.
- Cloud / async agents run on a remote machine, so you can hand off a task and walk away rather than babysit it (Devin, OpenHands Cloud). This is the form factor built for the fire-and-forget rung of the autonomy ladder — the harness has to be running somewhere other than your own laptop for “close the lid and check back later” to actually work.
None of these are mutually exclusive in practice. The same underlying agent often ships as more than one form factor — a CLI for local scripting and a cloud version of the same agent for background jobs — because the choice of shape is really a choice about where in your workflow you want the friction to sit, not a different agent underneath. Claude Code is the clearest case: the same agent ships as a terminal CLI, as IDE extensions for VS Code and JetBrains, and as a desktop app, with a cloud-hosted version for background jobs — one agent, four shells, each trading friction for reach differently. See harness anatomy for what stays constant across all three.