Earendil — the company behind Pi, an open-source agent harness — published a piece this week called “What is a Harness?”. It starts from a genuine question and answers it without condescending.

The word “harness” has been used in AI tooling conversations for months and nobody has defined it clearly. Earendil’s definition is straightforward: an agent harness is a piece of software that provides an environment for an AI model to operate within. It gives the model instructions (a system prompt), makes tools available for it to call, runs an agentic loop so the model can decide when it’s done, and provides a translation layer so the same harness can work with models from different providers.

The climbing analogy they use works. A climbing harness supports you, connects you to safety systems, and lets you attach tools to your gear loops. You take it to different mountains. You modify it for the terrain. And — the part they’re clearly most interested in — you own it. It doesn’t belong to the wall.

The ownership argument is where I started paying closer attention. Claude Code, the first widely used agent harness, was built to work with one provider’s models. The open-source harnesses since — Pi, OpenClaw, OpenCode, Hermes — are built to be provider-agnostic. If you can swap the model underneath without changing your tools and instructions, you keep bargaining power. If you can’t, the harness vendor and the model vendor are the same company, and your switching costs increase the longer you use it.

Earendil frames this as an agency argument: people who own their harnesses and run them locally “retain their freedom to make their tools their own, and keep local copies of the sessions that over time will constitute their correspondence with machines.” The practical test is whether most people will actually run a local harness — Pi has over 5,000 community-built extensions, which suggests the early-adopter cohort will — but the principle is valid whether or not most people do it.

Earendil doesn’t say this directly, but it follows from the rest of the piece: the harness layer is where the user’s configuration and decisions build up over time. The system prompt, the tools, the instruction files, the extensions — that’s what you keep building on. The model underneath is replaceable by design. Whether you’re on Claude, GPT, Gemini, or an open-weight model running locally, your decisions stay with you when you switch.

If you think “agent” just means a chatbot that can do more things, read the piece. If you already know what a harness is, the provider-neutrality argument at the end is important.