What is a coding harness?
Everything in the agent that is not the model. The part you can actually change.
A coding harness is everything in an AI coding agent except the model itself, commonly written as Agent = Model + Harness. It is the layer that assembles context, exposes tools, runs the agent loop, interprets tool calls, enforces approvals, and verifies the result before a human sees it. Two agents running the identical model produce very different output depending on their harness, which is why the term exists at all.
The definition people are converging on
Birgitta Böckeler, writing on martinfowler.com in April 2026, puts it directly: the term has emerged as shorthand for everything in an AI agent except the model itself, Agent equals Model plus Harness. The formulation originates with LangChain's piece on the anatomy of an agent harness. The VS Code team's version is the most concrete: the harness is the layer that assembles context, exposes tools, runs the agent loop, interprets tool calls, and turns a model's output into something useful in the editor.
Why the distinction earns its keep
Because the model is the part you cannot change and the harness is the part you can. Run the same frontier model through two different harnesses and the results diverge sharply, which means most of the engineering leverage available to a team sits in the harness rather than in model selection. That is also why harness comparisons and benchmarks have appeared faster than harness definitions: practitioners felt the difference before anyone named it.
Guides and sensors
Böckeler splits the controls in two. Guides are feedforward: they anticipate the agent's behaviour and steer it before it acts, raising the probability of a correct first attempt. Sensors are feedback: they observe after the agent acts and help it self-correct, and she notes they are particularly powerful when their signals are written for a language model to consume, such as a linter message that carries its own correction instructions. She describes the combination as a cybernetic governor, regulating the codebase toward a desired state.
Computational and inferential
The second axis is cost. Computational controls are deterministic and fast, run on a CPU in milliseconds to seconds: tests, linters, type checkers, structural analysis, with reliable results. Inferential controls are semantic analysis, AI code review and LLM-as-judge, typically GPU-bound, slower, more expensive and non-deterministic. A harness that reaches for the inferential control when a computational one would do is burning money and latency for a less trustworthy answer.
Where Lucid Train sits
Lucid Train is a harness, and unusually it can run other harnesses as its execution engine: Claude Code, Codex, Cursor and OpenCode are interchangeable per tab, each CLI's native permission model mapped onto one set of approval modes. Its own controls include sub-agents that execute in isolated git worktrees with the diff applied back, concurrent read-only explorers, automatic context compaction with an emergency retry on provider overflow, Claude Code-compatible SKILL.md packs, and a publish-state guard that blocks destructive commands once an acceptance check has passed.
The four control types, after Böckeler
| Computational | Inferential | |
|---|---|---|
| Guide (before the act) | Type systems, scaffolds, templates, lint config | Prompts, skills, AGENTS.md, personas |
| Sensor (after the act) | Tests, linters, type checks, structural analysis | AI code review, LLM as judge, semantic checks |
| Speed | Milliseconds to seconds | Seconds to minutes |
| Determinism | Reliable and repeatable | Non-deterministic |
| Runs on | CPU | GPU or NPU |
Questions
Related
- Harness Engineering vs Context EngineeringOne is a component of the other, and confusing them is why teams optimise the wrong thing.
- Coding Agent vs HarnessAgent equals model plus harness. The harness is the half you control.
- Is Claude Code a Harness?Both, and the confusion is in the question rather than the answer.
- Is GitHub Copilot a Harness?Two products under one name, and only one of them is a harness.