Claude Code is a harness: CLAUDE.md, hooks, MCP, subagents, and permissions are the guides and sensors that sit around the model. Anthropic describes the impact of "harness design" on long-running agentic coding (March 2026). The explicit phrasing "Claude Code is the harness, Claude is the model inside it" comes from third parties (MindStudio, WaveSpeed), not from Anthropic.
Claude Code already ships the pieces of a harness
Claude Code already ships with the pieces of a harness. CLAUDE.md holds persistent instructions that Claude reads at the start of every session. Hooks are shell commands that run on their own at specific points in the lifecycle. MCP connects to hundreds of external tools and data sources. Subagents run in separate context windows, each with its own system prompt, tool access, and permissions. And permissions are tiered: plan mode, for one, only reads files and runs read-only commands. It maps straight onto Birgitta Böckeler's taxonomy (Thoughtworks, April 2, 2026): guides anticipate and direct the agent before it acts; sensors observe afterward and help it self-correct.
An attribution note (and a practical point)
One attribution note, because the distinction matters. Anthropic doesn't call Claude Code "a harness" in those words. It talks about "harness design" and says it has a substantial impact on the effectiveness of long-running agentic coding (March 2026). The explicit line "Claude Code is the harness, Claude is the model inside it" is third-party (MindStudio, WaveSpeed), not Anthropic. And there's a practical point in that: you don't get a finished harness. You get primitives, and you engineer the harness by configuring them. The way to engineer it is Hashimoto's loop: every time the agent gets something wrong, you write a permanent rule into CLAUDE.md instead of fixing it by hand.
Feature by feature: guide or sensor
| Claude Code feature | Guide or sensor | What it does |
|---|---|---|
| CLAUDE.md | Guide (feedforward) | Persistent instructions Claude reads at the start of every session |
| Hooks | Sensor (and gate) | User-defined shell commands that run automatically at specific points in the lifecycle |
| MCP | Guide | Connects to hundreds of external tools and data sources |
| Subagents | Guide | Each runs in its own context window, with its own system prompt, tools, and permissions |
| Permissions | Guide (gate) | Tiered permissions; plan mode only reads files and runs read-only commands |
capivaOS: a harness engineered on top of Claude Code
You can see the pattern in a concrete example. capivaOS is a harness engineered on top of Claude Code: a spec-first, test-enforced development pipeline, state-machine enforced, installed as a plugin (per the README). It doesn't replace Claude Code. It takes the primitives (CLAUDE.md, hooks, subagents, permissions) and ties them into a disciplined flow with phases, artifacts, and gates. That's what harness engineering enables: engineering a harness as a layer on top of another.
The coding harness is the visible part
The coding harness is the visible part. Claude Code, Cursor, agents that read a repository and run tests. Configuring these primitives well already changes the result. But the bigger part, and the one where almost no one is engineering with discipline, is the operational harness: the same guides-and-sensors pattern applied to running an entire business, AI beyond code. We solve the coding layer with capivaOS, the open-source harness on top of Claude Code. If you want the concept before the features, start with What is an AI Harness.
Frequently asked questions
Is Claude Code a harness?▼
It functions as one. Its features map onto the guides-and-sensors model: CLAUDE.md, hooks, MCP, subagents, and permissions are the layer around the model. Anthropic frames this as "harness design" (March 2026); the explicit "Claude Code is the harness" phrasing comes from third parties (MindStudio, WaveSpeed), not from Anthropic.
Which Claude Code features make up the harness?▼
CLAUDE.md (persistent instructions read each session), hooks (shell commands at lifecycle points), MCP (connection to external tools and data), subagents (isolated context windows with their own prompt and permissions), and tiered permissions. Together they are the guides and sensors around the model.
Is CLAUDE.md a guide or a sensor?▼
A guide. In Böckeler's taxonomy (Thoughtworks, April 2, 2026), guides are feedforward: they anticipate and direct the agent before it acts. CLAUDE.md holds persistent instructions Claude reads at the start of every session, so it steers behavior up front, not after the fact.
How do hooks work as sensors?▼
Hooks are user-defined shell commands that execute automatically at specific points in Claude Code's lifecycle. Wire them to run tests, linters, or typecheck after an edit and they become sensors: agent-readable feedback the model can act on. They can also gate: a hook that fails can stop the action.
What is capivaOS and how does it relate to Claude Code?▼
capivaOS is an open-source harness engineered on top of Claude Code: a spec-first, test-enforced, state-machine enforced development pipeline installed as a plugin (per the README). It doesn't replace Claude Code. It turns the primitives into a disciplined flow with phases, artifacts, and gates.
How do I engineer my own harness on Claude Code?▼
Start with CLAUDE.md rules, add hooks as sensors (tests and linters the agent reads), connect tools through MCP, isolate work in subagents, and use permissions as gates. Then run Hashimoto's error-to-rule loop: each time the agent errs, write a permanent rule instead of fixing it by hand.
Claude Code gives you the pieces. The harness that decides whether the agent works, you engineer.