Video 2:13

What is an agent harness?

A language model on its own only writes text. Everything that lets it open a file, search the web, remember you or keep going until a job is done is software around it, and that software has a name. The Claude app and Claude Code are both harnesses, and the choices made in them decide your privacy and what you pay.

A frame from the video: a blue box labelled Model in the middle of a rounded frame tagged Harness, with four cards around it reading Chat window, Tools, Memory and Permissions.

Open the Claude app and ask a question, and you get an answer. Open Claude Code and ask the same thing, and it reads your files, runs a command and edits the code. It’s the same model underneath, so the difference has to be somewhere else.

A language model on its own does one thing: it takes in text and writes text back. It can’t open a file, search the web or remember yesterday. Everything that lets an AI tool do those things is software around the model, and that software has a name. It’s the harness. It draws the chat window, hands the model its tools, keeps the memory of past chats, and decides what the model may do without asking you.

The video shows how the two work together. The model reads the conversation and writes a reply. If that reply asks for a tool, the harness runs it, adds the result to the conversation and sends the whole thing back, until the model answers in plain words. The model asks, and the harness makes it happen. Anthropic’s own documentation says it in one line: Claude Code is the harness, and Claude is the model inside it. The Claude app is a harness as well, built for conversation rather than code.

The part to carry away is that the harness decides more than the loop. It stops a stuck agent after so many turns, holds risky actions until you say yes, keeps a memory between runs and trims a long conversation. Those are harness decisions, and they are where your privacy and your spending are decided.

The quotes are from Anthropic’s Claude Code documentation. This is an independent explainer, not affiliated with Anthropic.

Transcript

Open the Claude app and ask a question, and you get an answer. Open Claude Code in a terminal and ask the same thing, and it reads your files, runs a command and edits the code. It's the same model underneath. So what's different?

On its own, a language model does one thing. It takes in text and writes text back. It can't open a file, search the web or remember yesterday. Anthropic's own documentation says it plainly. Without tools, Claude can only respond with text.

Everything else is software around the model. It draws the chat window, hands the model its tools, keeps the memory of past chats, and decides what it may do without asking you. That software has a name. It's called the harness.

The model reads the conversation and writes a reply. If that reply asks for a tool, the harness runs it, adds the result to the conversation, and sends the whole thing back. That repeats until the model answers in plain words. The model asks, and the harness makes it happen.

Claude Code is a harness, in Anthropic's own words. Claude is the model inside it. The harness gives it access to your files, lets it run commands, checks with you before anything risky, and runs the loop that chains one action to another.

The Claude app is a harness as well, built for conversation rather than code. It gives the same model web search, your files, the apps you connect, and a memory of what you've told it. Anthropic runs both on its own servers.

The harness decides more than the loop. It stops a stuck agent after so many turns. It holds risky actions until you say yes. It keeps a memory between runs, and trims the conversation when it grows long. Those are harness decisions, and they decide your privacy and your spending.

The model wrote the words. The harness decided what it could reach, what it asked you first, and when it stopped. A model writes text, and the harness turns that text into action.

Found this useful?

Subscribe for the next one, or tell me what you want explained. I take requests.