The AI agent space is drowning in heavyweight frameworks that obscure the simple truth: an agent is just a loop. Today, the open-source project Agent-Harness dropped a minimal, composable Go library that strips away the cruft, offering a single Run() function to handle the core cycle of calling an LLM, executing tools, and feeding results back. Built for Go 1.26+, this library refuses to manage your storage or prompt engineering, forcing developers to confront the actual mechanics of agentic behavior.

The Core Philosophy: Less is More

Agent-Harness explicitly rejects the 'framework' label in favor of a library approach. Its design centers on a single Run() entry point that orchestrates the tool-calling loop. The library does not force a specific LLM provider; instead, it exposes a simple Chat() provider interface with built-in adapters for OpenAI and Anthropic. Crucially, it leaves conversation storage, system prompt construction, and multi-agent orchestration entirely to the developer, ensuring the core remains lightweight and unopinionated.

Advanced Control Without the Bloat

Despite its minimalism, Agent-Harness packs serious functionality for production-grade agents. It supports pause/resume workflows via WithBeforeTool hooks, allowing developers to implement approval gates for dangerous actions like delete_deployment. The library also features progressive tool disclosure through WithToolFilter, which can dynamically adjust available tools based on the current step of the agent's reasoning. For observability and streaming, it integrates hooks like WithOnDelta and WithEventHandler, ensuring developers aren't flying blind during long-running tasks.

Practical Implementation and Status

The project is already functional, with core loops, hooks, and thread state implemented alongside unit tests for pause/resume behavior. It includes a runnable REPL example called claw that demonstrates file-backed memory and recall tools, allowing for manual testing via commands like /remember and /stop. While the library handles the agent loop, it composes naturally with external standards like ACP and MCP, making it a viable building block for complex, interoperable agent systems.

Key Takeaways

  • Agent-Harness is a Go 1.26+ library focused solely on the agent loop, excluding storage and prompt management.
  • It supports pause/resume workflows and progressive tool disclosure for fine-grained control over agent execution.
  • Built-in adapters for OpenAI and Anthropic are available, with a simple interface for custom providers.
  • The library is designed to compose with MCP and ACP standards rather than replacing them.

The Bottom Line

This is the anti-framework we needed. By refusing to abstract away the loop, Agent-Harness forces you to understand your agent's behavior, not just configure it.

Technical Specs

  • Requires Go 1.26 or higher.
  • Includes optional file-backed memory and recoverable tool transcripts.
  • Supports cancellation of active runs via a dedicated runner.Runner control plane.
  • Documentation focuses on architecture, provider contracts, and memory management.