What is an agent harness?
A model answers a question. A harness lets it read your files, run commands, keep notes and ask before the risky step. The words people use for it, where the term came from, and what it adds to the model before you install anything.
The short answer
An agent harness is the program around a model. It gives the model tools, files to work on, somewhere to keep notes, and limits on what it may touch. The model does the thinking. The harness does the acting.
Wikipedia's entry puts it in one sentence: the software around a model that manages tool use, memory, state and feedback, as against the model's own reasoning (Agent harness, read 5 October 2026).
The phrase you will see most often is shorter. LangChain's anatomy post says: "If you're not the model, you're the harness" (10 March 2026). Databricks writes it as a formula: agent equals model plus harness (no date).
Scaffolding and harness mean the same here. Some writers say scaffold, most say harness, and both mean everything that is not the model.
Why a model needs one
A model on its own answers once and stops. It cannot read a file, run a test, or remember what it did last Tuesday. The harness is what turns an answer into work that landed somewhere.
Arize's explainer gives the clearest example: a model in a harness can read a file, edit it, run the tests, see them fail, read the error, fix the code, and run the tests again (April 2026).
Anthropic's engineers make the point that every part of a harness is an assumption about what the model cannot do alone (26 November 2025). That is a useful way to read any harness: each tool and rule is there because something went wrong without it.
What it adds to the model
| The harness supplies | In practice | What you notice |
|---|---|---|
| A loop | look, decide, act, look again | the agent finishes a job, not a sentence |
| Tools | files, a terminal, a browser, an API | the work happens on your files |
| Skills | named procedures loaded for a job | you stop repeating the same instructions |
| Memory | a store it reads at start and writes to | it remembers the project next week |
| Permissions | rules, allowlists, and prompts to a person | it asks before the risky step |
| A record | a transcript of what ran, and when | you can read back a bad afternoon |
Of those, LangChain calls the filesystem the most foundational primitive, because a file is how one session hands work to the next (10 March 2026).
Microsoft's docs describe the same set from the runtime's side: it drives model and tool calls, keeps conversation state, applies approval policies, and keeps a multi-step task moving (no date).
Harnesses you have heard of
Once you have the word, the products you already know sort into place.
| Harness | What it is |
|---|---|
| Hermes Agent | a harness that takes any model, and installs a template's skills into a profile |
| DeepSeek Harness | DeepSeek's open-source harness, in developer preview: the model, the tools, the loop and the interface are all plugins |
| Claude Code | Anthropic's coding harness; its own docs call it "the agentic harness around Claude" |
| Codex CLI | OpenAI's coding harness, installable with npm i -g @openai/codex |
| Cursor | an editor built around a harness, rather than a harness you install into an editor |
| Devin | Cognition's harness, with subagents and sandboxing |
| Aider | a terminal harness that works on a Git repository |
| OpenClaw | an open-source harness that runs on your own machine and reaches you through the chat apps you already use |
Hermes takes any model, so a provider change is a setting rather than a rewrite. The others are more tightly bound to one family of models; Hugging Face's glossary notes that some harnesses allow any model and some do not (no date).
The harness inside the harness
Birgitta Böckeler's harness engineering piece draws a line worth knowing. There is an inner harness, shipped by whoever built the agent: the loop, the tools, the sandbox. And there is an outer harness, which is what you add: instruction files, skills, connections to other services (2 April 2026).
Your agent template is the outer harness. That is why a template is portable: it describes work and rules, and it runs under whichever harness you already use.
What a harness is not
- Not the model. Change the model and your instructions and skills still work.
- Not automatically a framework. Arize is blunt that a framework you configure is a different thing from a harness that runs as it ships, though the industry does not fully agree on where that line sits (April 2026).
- Not an editor extension. Devin's docs separate plugins that extend the agent from extensions that extend the editor (no date).
- Not a guarantee of good work. A harness supplies reach and a record. Correctness is still your review, and the limits are still yours to set.
A chat window is the simplest possible harness: it calls the model and appends the reply. Harness design starts to matter when the work takes many steps.
Where to go next
One install, a model and a key, then a template's skills into a profile.
The parts of an agent: goals, guardrails, memorySix parts, in the order they matter: instructions, skills, tools, memory, guardrails, report.
API keys and permissions for an agentGive it the smallest key that does the job, keep it out of the repository, and know how to revoke it.