
A "harness" is originally horse tack — gear that converts a horse's raw power into controllable direction. In AI, the term now refers to the entire outer-layer system that turns the LLM (the horse) into a controllable worker.
"Claude Code serves as the agentic harness around Claude: it provides the tools, context management, and execution environment that turn a language model into a capable coding agent."
— Anthropic official docs (Memorizer: How Claude Code Works — Harness, AI Agent, Agentic Loop)
The six core components are:
flowchart LR
Model["LLM<br/>(the horse = inference engine)"]
subgraph Harness["Harness (the tack)"]
Tools["Tools<br/>Bash / Read / Write"]
Perm["Permissions &<br/>approval gates"]
Sandbox["Sandbox"]
Session["Session &<br/>memory"]
Context["Context window<br/>management"]
Ext["Extensions:<br/>MCP / Skills / Hooks"]
end
Model --> Harness
Harness --> Agent["AI Agent<br/>(judges & acts on its own)"]
Looking at the last two years, the standardization wave moved from model → tools → MCP → skills → CLI. Then in spring 2026, both vendors simultaneously tried to grab the reins back on one specific layer: the harness.
Primary source: <https://www.anthropic.com/engineering/harness-design-long-running-apps> (2026.3.24)
Anthropic published its design principles for harnesses targeting long-running apps (jobs that span hours or days).
"Find the simplest solution possible, and only increase complexity when needed."