Harness
Also called Agent harness · Scaffold
The software around the model that gives it hands: a system prompt, tools, permissions, hooks and the loop that feeds results back.
A harness is the software that wraps a model and gives it hands. It writes the system prompt, defines the tools, executes each tool call and feeds the tool result back in, asks before risky actions, decides when a long session gets compacted, and loads project instructions such as AGENTS.md. Claude Code, Codex, Cursor's agent and Antigravity's manager are all harnesses; the model is one component inside each.
Most of what you experience as the agent's personality is harness behaviour. One product asks before every shell command and another just runs it; one rewrites whole files and another edits by diff; one remembers your preferences and another forgets them at restart. Same underlying model, different wrapper. When a run goes sideways, look at the wrapper before you blame the weights.
It's also where your leverage lives. You can't change the model, but you can change nearly everything the harness does: add tools through MCP, set hooks that run your linter after every edit, tighten or loosen the permission mode, write skills, shape the memory files. Treating the harness as configurable infrastructure rather than a black box is the difference between using an agent and running one.
- Claude CodeThe harness is the CLI, its settings files, hooks and MCP config; the model is whatever
/modelcurrently says. - AntigravityThe agent manager is a harness that runs several agents, each with its own workspace and review policy.
“Claude in the browser explains the bug perfectly but Claude Code keeps missing it.”
“Different harness. The CLI is working from your actual files and tests; give it the same context you pasted into chat and it'll get there.”
Course 01 puts every one of these terms to work: you install Claude Code, run the loop, and ship a real project — permission modes, compaction, hooks and all.
Start Course 01 →