# What is an agent harness?

> An agent harness is the software around a language model that turns it into a working agent, made of the tool loop, the context, the permissions, the checkpoints and the record of what happened.

Canonical: https://fabric.pro/what-is-an-agent-harness

---

## Why the word exists

An agent harness is the software around a language model that turns it into a working agent. It is the loop that calls tools, the context it is given, the permissions it runs under, the checkpoints that let a run resume, and the record of what it did. The model reasons. The harness makes the reasoning safe to run.

Everyone has the same models. Two teams calling the same model with the same prompt get the same quality of reasoning, so the reasoning is not where products differ. They differ in what surrounds it, meaning which tools the model can reach, what it knows about the task before it starts, what it is allowed to change, what happens when it fails halfway, and whether anyone can reconstruct what it did.

That surrounding software needed a name, and by 2026 the industry had settled on harness. LangChain, Databricks and Martin Fowler have each written about it under that word, with slightly different boundaries. The center is the same: the harness is the part you build, and the model is the part you rent.

## What an agent harness contains

- 01 The tool loop The model proposes a call, the harness runs it, the result goes back, and the loop continues until the task is done or a limit is hit. Every agent has one. The differences are in retries, limits and what counts as done.
- 02 Context What the agent is given before it starts: the relevant documents, the codebase, past decisions, the team's standards. A harness that retrieves and cites context produces answers that can be checked. One that does not produces answers that merely sound right.
- 03 Permissions What the agent may read and what it may change, decided by a person rather than by whatever credentials happen to be in the environment. The useful shape is a permission for one tool, read or write, for a fixed time, with the request and the approval recorded.
- 04 Durability A run that takes hours, waits on a person and survives a restart or a deploy needs checkpoints and a way to resume from the last one. Without this, every interruption is a fresh start and long tasks are not possible.
- 05 Sandboxes Somewhere for the agent to run commands, read files and try things without touching production. Local, container, or remote, but isolated, and cleaned up when the run ends.
- 06 The record What was asked, what was retrieved, which tools ran with what input, what came back, who approved what and when. Recorded by the harness as a property of running, not by a logging call somebody remembered to add.

## Harness, framework, agent

The words overlap and it helps to keep them apart. An agent is the running thing that does a job. A harness is the software that makes an agent runnable, and it consists of the loop, the context, the permissions, the durability and the record. A framework is a library for building harnesses. In practice a product ships a harness and calls it a platform, and a library ships the pieces and calls itself a framework.

The distinction matters when you are choosing. If you are buying, ask what the harness records and what it refuses to do without a person. If you are building, ask what the framework gives you for durability and permissions, because those are the parts teams most often leave out and most regret leaving out.

## An example

Fabric's agents run on a harness that TechFabric also publishes on its own as an open-source TypeScript framework, TechFabric Harness. It gives an agent a tool loop, mounted data sources, a choice of sandboxes from local to container to remote, approvals, tasks, artifacts and metrics, and an option to run each session as a durable workflow so it survives worker restarts. The same runtime keeps the record that Fabric shows for every run.

That split is deliberate. Fabric is the product, with the shared record and the delivery agents built in. The harness is the part you would reach for to build your own agent on the same footing, with the same guarantees about what it can touch and what it leaves behind.

## What to look for

- 01 Ask what the agent is given before it starts, and whether its answers point back at sources. If they do not, you are checking every answer by hand.
- 02 Ask what it will do without asking. The right answer is read, search and draft. Anything that changes a shared system should need a person.
- 03 Ask what happens when the process dies mid-run. If the answer is start again, long tasks will not be possible and short ones will be fragile.
- 04 Ask to see the record of a finished run. If it is a chat transcript, that is a log, not a record.

## Questions

### What is an agent harness?

An agent harness is the software around a language model that turns it into a working agent. It includes the loop that calls tools, the context the model is given, the permissions it runs under, the checkpoints that let a run resume, a sandbox to run in, and the record of what it did. The model reasons; the harness makes that reasoning safe and repeatable to run.

### What is the difference between an agent harness and an agent framework?

A harness is the running software around one agent, covering loop, context, permissions, durability and record. A framework is a library for building harnesses. Products ship a harness; libraries ship the parts. When you buy, evaluate the harness. When you build, evaluate what the framework gives you for the parts teams usually skip, which are permissions and durability.

### Why does an agent harness matter more than the model?

Because everyone has the same models. Two teams calling the same model get the same reasoning. What differs is what the agent knows before it starts, what it may change, what happens when it fails halfway, and whether anyone can reconstruct what it did. All of that lives in the harness.

### Does Fabric have an agent harness?

Yes. Fabric's agents run on a harness that gives each run its context, its tools, durable checkpoints and a full record. TechFabric publishes the same harness as an open-source TypeScript framework, TechFabric Harness, for teams building their own agents.

### What should an agent harness record?

What was asked, what was retrieved and from where, every tool call with its input and output, every permission requested, approved or denied and when it expired, and how the run ended. Recorded by the harness itself, so the record exists whether or not anyone thought to log it.
