Explainers · anatomy of the agent stack · 7 min
What is an agent harness? The part nobody argues about.
Everyone argues about the model. But the model is rented and swappable. The thing doing the actual work on your machine is the harness wrapped around it: Claude Code, Cursor, Cline. It is the loop and the tools that turn a text predictor into something that can read your files and run your commands. And on a real 4.47-million-file machine, we measured where its time goes: almost all of it into one unglamorous tool, the one that made an agent spend nearly seven minutes to open a single file.
The one-sentence version: an agent harness is the loop and tools wrapped around an AI model. The model decides, the harness acts.
Definition first
An agent harness is the loop and tools around a model.
A language model, on its own, only produces text. An agent harness is the program that wraps that model in a loop and a set of tools, turning a text predictor into something that can act (read files, run commands, edit code) on your machine. Claude Code and Cursor are harnesses; the model inside is the engine, not the car. Here is the whole thing in five lines, then the picture.
TL;DR: THE SHORT VERSION
It's the loop and tools around a model. An agent harness wraps a language model so it can act (read files, run commands, edit code) instead of only talking. Claude Code and Cursor are harnesses; the model inside is swappable.
Every harness has three parts. The model (the brain), the loop (prompt → tool call → result → repeat), and the tools (the hands that touch your machine). Same anatomy, whichever one you use.
The slow part isn't the thinking. Model turns are fast and the loop is just glue. The wall-clock and the tokens pile up in the tools that touch the disk (finding files and searching their contents) which the loop runs over and over.
It was measured. On a 4.47-million-file machine, Claude Code spent 6 m 57 s (longer than a coffee break) and 71 tool calls to find one file, and about 58% of the session's tokens went to hunting, not thinking.
The fix is a faster tool, not a bigger brain. Swap the model all you like; the harness still stands on its tools. Give it a pre-indexed file layer and the same lookup returns in ~16 ms: one call instead of seventy.
The anatomy · one picture
A brain, a loop, and a set of hands.
Read it top to bottom. The model sits inside the harness and decides. It picks a tool; the harness runs it; the result feeds back up: that return arrow is the loop, and the harness runs it until the task is done. The tools reach out of the harness to touch your machine. Notice that only one of those arrows is red.
The brain. A rented, interchangeable text engine: Claude, GPT, Gemini. It reads the conversation and decides the next move. It never touches your disk; it only says what to do.
The control flow. Prompt the model, catch the tool call it emits, run that tool, feed the result back, and go again, until the task is done. One request can be dozens of laps.
The hands. Read a file, edit it, run a shell command, fetch a web page. And, most often of all, find a file or search its contents. Each call is the model reaching out of its own head to touch the real world.
The model's turns are fast and the loop is just glue. So where does the time go? Into the tools that touch the disk, and the harness runs those over and over. Each pass is a single tool call, dissected stage by stage in the anatomy of a tool call. A tool gets added to the harness through a small adapter: see what is an MCP server.
Same machine · same drive · the tools in the loop
One tool decides how fast the whole harness feels.
A harness is only as fast as the slowest tool its loop runs, and the slowest tool is almost always the one that walks your disk to find a file or grep its contents. Here is that tool, timed against a pre-indexed lookup on the same 4.47-million-file drive. The gap is not a rounding error: 93.8 seconds versus 16 milliseconds is the same search running roughly 5,800 laps in the time the other finishes once.
| The tool the harness runs | What it does | Time · 4.47M files | vs Interlinked |
|---|---|---|---|
| Interlinked | an indexed lookup, no walk | 85 µs | 1× |
| search_files → ripgrep | Claude Code's content search, same query | 93.8 s | 58,625× |
| Ctrl+P (VS Code / Cursor) | open one file by name, same drive | 35 s | 412,000× |
| Windows Search | median of 20 whole-drive queries | 67 s | ~480,000× |
| Claude Code · full loop | 71 calls to find one file | 6 m 57 s | ~7,200,000× |
Methodology: Ryzen 9 9950X3D · 64 GB DDR5 · NVMe · Windows 11 · 4,470,000 files. Interlinked, same tasks: 85 µs by name (139 µs median of 20), 16 ms on the 93.8 s content query. The ripgrep row is one representative query, content-to-content; 58,625× is the average across the five-query set. The Claude Code row is the measured end-to-end agent run: 71 tool calls, ~7,200,000× lighter as one indexed call. Full write-ups in the ripgrep comparison and the 412,000× VS Code write-up.
Two harnesses · one floor
Different harness. Same slow disk hop.
The two harnesses most people reach for take different paths to the same place, and both land on the filesystem. The model you plug in doesn't change that; the tool does.
CLAUDE CODE · THE TERMINAL HARNESS
Its loop shells out to grep, glob, and find. When it needs a file it walks the disk on every query, because nothing warmer exists machine-wide. Watched call by call in how Claude Code finds files.
CURSOR · THE IDE HARNESS
It keeps a semantic index of the repo you opened, genuinely useful inside that folder. But an agent's questions rarely stay in one folder. The moment a query leaves the workspace (another repo, a config, a git-ignored file) Cursor falls back to the same disk walk. Both harnesses end up on stage three of the loop.
Swap Claude for GPT for Gemini; keep Claude Code or move to Cursor. None of it changes the one constant underneath: finding files is the layer every harness stands on, the backbone of the LLM economy. If you want the fuller picture of the model-plus-harness combination, that is what an AI coding agent is.
The fix · a faster tool in the loop
Hand the harness an answer, not a search.
You can't rent a faster disk, but you can give the loop a faster tool. Interlinked keeps a live index of every file on the machine (names and contents) and exposes it to any harness over MCP. No model, no embeddings, no cloud: an index that answers offline and never leaves your machine. The harness asks once and gets the path or the matching lines back before the model could have finished typing find /, so the slow step in the loop stops being slow, and the loop stops looping.
A file you just saved is searchable again in about a millisecond (under 30 in the worst case) so the answer the harness gets is never stale. At rest the whole engine sits around 44 MB, and its index stays under 1% of the drive. Every hit can even carry a short note a past agent left on that file: knowledge that rides along on the search the harness already runs.
SWAP THE MODEL ALL YOU LIKE. THE HARNESS STILL STANDS ON ITS TOOLS: MAKE THE SLOW ONE INSTANT.
Frequently asked
The harness, in five questions.
Q1What is an agent harness, in one sentence?
It is the program that wraps an AI model in a loop and a set of tools so it can act on your machine instead of only talking. Claude Code, Cursor, and Cline are harnesses; the model inside is swappable.
Q2Is Claude Code a model or a harness?
Claude Code is a harness. The model is Claude (or whatever model you point it at); Claude Code is the loop, the tool set, and the context management wrapped around it. Cursor is a harness too: the same idea, built into an IDE.
Q3What is the difference between the model and the harness?
The model predicts text and decides the next move; it never touches your disk. The harness runs the loop, executes the tools, and manages the context window. You can change the model without changing the harness, and vice versa.
Q4Why does the harness make my agent feel slow?
Because the loop's slowest step is the tools that read your disk (file and content search) and the harness runs them many times per task. The model is not waiting to think; it is waiting on the filesystem.
Q5Can I make the harness faster without switching models?
Yes. The harness calls tools, so give it a faster one. Interlinked is a search tool any MCP harness can call; it answers from a live whole-machine index in microseconds, so the slow step in the loop stops being slow.
Still feels sluggish after all that? The full diagnosis (symptom by symptom) is in why is my AI agent slow.
Do this today
Give your harness a faster tool.
Install once. One signed installer auto-configures 19 AI clients (Claude Code, Cursor, Copilot, Codex, Windsurf, Zed, Cline and the rest) over MCP. No JSON to edit, no keys.
Let it index. Filenames are searchable immediately; contents fill in behind. At rest the whole engine sits around 44 MB (less than a browser tab) and the index stays under 1% of the drive.
Ask normally. Your harness picks the right tool by itself. You just ask where something is, or what mentions it; the answer comes back in microseconds, whole-machine, before the first ls would have finished.
Watch the loop shrink. The lookup that cost 71 tool calls becomes 1. The file-hunt slice of your token budget drops toward zero, and it stays fresh as you save, so the tool is never stale.
Everything (including the search tool every harness plugs into) is free forever, on all your devices, no card. Hosting starts at $5.99/mo. Download for Windows.