Is Claude Code a harness or an agent?
Both, and the confusion is in the question rather than the answer.
Claude Code is a coding agent, and it contains a harness: the layer that assembles context, defines tools, runs the agent loop and enforces permissions around Anthropic's models. Under the common shorthand Agent equals Model plus Harness, Claude Code is the agent and everything in it other than the model is the harness. It is not an either-or question, which is why the answers you find disagree.
Why people ask this
Because the word is used at two levels. Colloquially, people call Claude Code a harness to mean it is the wrapper around a model rather than the model itself, which is a fair use. Technically, it is an agent that contains a harness. Both usages are current and neither is wrong; the argument is about which level of the stack the speaker means.
What Claude Code's harness does
It manages the context window with compaction, defines the tool set the model can reach, runs the agent loop and decides when a turn ends, enforces a permission model over shell and file access, and supports skills and MCP servers to extend both. That is a harness by any of the current definitions.
Where your own harness goes
On top. Böckeler's three-circle model puts your tests, linters, conventions and skills in an outer user harness around whatever the vendor ships. That layer is portable: the same linter with model-readable output helps Claude Code, Codex and Cursor equally, which is a good reason to invest in it rather than in per-agent configuration.
Running Claude Code inside another harness
This is where the layering becomes concrete rather than semantic. Lucid Train drives Claude Code as an execution engine alongside Codex, Cursor and OpenCode, mapping each CLI's native permission model onto one set of approval modes, and exposes its own tools back over MCP. Claude Code is the inner harness; Lucid Train is the outer one, adding a visual architecture surface and model routing above it.
Claude Code by layer
| Layer | What it is |
|---|---|
| Model | Anthropic's models |
| Builder harness | Claude Code: context, tools, loop, permissions, skills, MCP |
| User harness | Your tests, linters, conventions, AGENTS.md, skills |
| Outer harness | Optional, e.g. Lucid Train driving it as an engine |
Questions
Related
- What Is a Coding Harness?Everything in the agent that is not the model. The part you can actually change.
- Harness Engineering vs Context EngineeringOne is a component of the other, and confusing them is why teams optimise the wrong thing.
- Coding Agent vs HarnessAgent equals model plus harness. The harness is the half you control.
- Is GitHub Copilot a Harness?Two products under one name, and only one of them is a harness.