Thin Harnesses
A small agent runtime that leaves reusable procedures to skills and reliable operations to deterministic tools.
A thin harness keeps the agent runtime focused on the model loop, file access, context management and safety. Garry Tan's "thin harness, fat skills" approach puts reusable procedures in skills and reliable operations in deterministic tools (Tan, 2026).
Source: Garry Tan, "Thin Harness, Fat Skills".
It's part of a broader move towards simpler harnesses that hand more control to the model. Some markers along the way:
- mini-SWE-agent gives the model nothing but bash, in about 100 lines of Python.
- Pi (coding agent) ships four tools (read, write, edit and bash) and a system prompt under 1,000 tokens, and leaves out MCP, sub-agents and plan mode.
- Harness Engineering Anatomy, Architecture, and Evolution of Coding Agents compared eleven production harnesses, from mini-SWE-agent to Codex CLI, and found the same seven parts in all of them. The authors note their source-code study doesn't show that a simpler harness performs better.
- An Empirical Study of Harness Design for Coding Agents found that the best context management method depends largely on the model, and that it matters most when the context window is small.
- Context Language Models hand context management itself to the model, by giving it its own context as a file to edit.
The usual argument behind the trend is The Bitter Lesson. General methods that scale with computation eventually beat hand-built human knowledge, so as models improve, harness logic should give way to the model.
I build a small harness along these lines in Building an agent harness from scratch to pass Ian Goodfellow's intelligence test.
References
Garry Tan. Thin Harness, Fat Skills. April 2026. URL: https://x.com/garrytan/status/2042925773300908103 (visited on 2026-10-10). ↩