Harness
The program around the model in a coding agent: how it reads files, which tools it has, how it plans. It decides which lever works.
A harness is the program around the model in a coding agent: how it reads and writes files, which tools it can call, how it plans steps, what it keeps in context, and when it decides it is finished.
Claude Code, Codex and Cursor are three harnesses. They can run similar models and still behave differently, because the harness decides what the model gets to see.
What a harness controls
- Which tools exist: file reading, shell, web search, test running.
- How the repository is explored: a file listing, a semantic index, a grep.
- How much fits in context, and what gets dropped when it does not.
- Whether it plans first or acts immediately.
- Whether it runs the code it wrote.
- When it stops and reports back.
Why this matters commercially
The clearest example in our data:
| Agent | Ran at least one web search |
|---|---|
| Claude Code | 28% of sessions |
| Codex | 97% of sessions |
Some of that gap is the harness and some is the model. Inside Claude Code the rate ran from 6% of sessions with Claude Sonnet 5 to 37% with Claude Fable 5.1. Claude Opus 4.8, which took over 12 security testing sessions from Claude Opus 5.5, is too small a sample to place. The cleanest test is one model in two harnesses: Grok 4.7 searched in 77% of its Cursor sessions and 88% of its Grok Build CLI sessions, and on the same requests it made the same choice 64% of the time, against about 73% when one agent repeats a request.
The consequence for a vendor is direct. Against a harness that searches in a minority of sessions, whatever you published this month is absent from most of them. In those sessions your only routes in are the training data, which moves over years, and the repository, which you reach through templates and integrations.
Against a harness that searches in almost every session, a page written this week can change an outcome next week.
The harness decides which lever works. Content reaches the harnesses that search. The repository reaches all of them.
The related consequence: they disagree
Because harnesses differ, agents disagree. Claude Code, Codex and Cursor did not all name the same leader in 18 of the 29 categories all three ran.
They also differ in how often they avoid vendors altogether. Claude Code wrote its own implementation in 12% of runs, against 6% for Codex and 9% for Cursor. Grok Build CLI did in 10% and Muse Code in 15%.
What to do about it
Measure install share separately per harness. A blended number averages markets that behave differently, and the fixes are not the same.
Then find out which harnesses your users run. That ratio, more than anything else, should decide whether your next quarter goes into content or into templates.
Common questions
What is a harness in a coding agent?
The program wrapped around the model: how it reads and writes files, which tools it can call, how it plans steps, what it keeps in context, and when it stops. Claude Code, Codex and Cursor are three harnesses.
Why does the harness matter more than people expect?
Because it decides what evidence reaches the model. Claude Code ran at least one web search in 28% of sessions and Codex in 97%. That gap is partly the model and partly the harness, and it changes whether published content is in the room at all.
Can the same model behave differently in two harnesses?
Yes, substantially. The harness controls what the model sees, in what order, and how much of it fits, so the same model can reach different conclusions in two products. Grok 4.7 made the same choice in Cursor and in Grok Build CLI on 64% of identical requests.
Why should a vendor care about the harness?
Because it decides which lever works. A harness that rarely searches cannot be reached by content in the moment of choice, so the repository is the only route in.
Where this comes from
Armature ran 15,287 judged sessions with Claude Code, Codex, Cursor, Grok Build CLI and Muse Code inside 110 realistic codebases, and published every run. The numbers on this page come from that work.