What is an agent harness?
A model answers; an agent acts. An agent harness is the runtime that turns one into the other — the model thinks; the harness decides what that thinking is allowed to touch.
Every prior wave of automation was constrained by brittleness: you scripted exact behavior, and when the world deviated, the system broke. Foundation models inverted that problem—they're flexible but directionless, stateless, and disconnected from anything real. The agent harness exists to bridge that gap: it is the orchestration infrastructure that converts a model's per-turn reasoning into sustained, tool-using, error-recovering, goal-directed behavior across time. Architecturally, it plays the role the kernel played in operating systems or the controller played in industrial robotics—mediating between raw capability and a messy environment—but with a critical difference: the "capability" it governs is general-purpose cognition, which means the harness is simultaneously a scheduler, a permission system, a memory manager, and a policy enforcement layer, all under-specified and evolving in real time.
Why harnesses matter
Better models make harnesses more important: more capabilities mean more failure modes, and production needs retry logic, fallbacks, and validation. Harness quality—not just model quality—determines whether agents actually ship. This list ranks projects by relevance to harness concerns (environment, orchestration, lifecycle, guardrails) and by stars/activity.
The landscape at a glance
Every project in the list, plotted by adoption surface area (the simplicity ↔ capability axis) against GitHub stars. Colors are categories; the largest projects in each tier are labeled.
The same projects placed by how much unsupervised rope they're designed to give (autonomy) and what happens when a run dies (recovery). In the tables below, ★ marks headless-ready projects and ✱ marks durable ones. Both charts regenerate from the list data on every refresh.
How to Pick a Harness
Start with the guide, then the head-to-head decision pages — grounded in the same data as the tables below:
- How to pick a harness — six questions that turn this list into a decision, including the post–June 2026 billing reality
- OpenClaw vs Hermes — the always-on personal-agent debate: presence vs discipline, plus what the field reports actually say
- Terminal coding agents — opencode vs Codex vs Gemini CLI vs crush vs goose
- Multi-agent orchestration — OpenAI Agents SDK vs CrewAI vs AutoGen vs LangGraph
- Agent memory layers — Mem0 vs Letta vs claude-mem
Pick by use case
Reader's index: pick by what you want to do, not by category. Tag chips (e.g. mcp · memory) next to each row let you cross-filter by capability — see TAGS.md for the full cross-reference.
- I want a turnkey coding agent today — opencode, Cline, Codex, Gemini CLI, OpenHands, crush, Roo Code · see Coding agent products (IDEs, CLIs, full suites)
- I want an always-on personal agent that lives in my chat apps — OpenClaw, Hermes, Khoj, Agent Zero, OpenHarness (HKUDS) · see Personal agent runtimes
- I want to extend Claude Code, Codex, or OpenCode with skills and slash commands — Anthropic Skills, wshobson/agents, superpowers, GStack, pmstack · see Coding harness configs and SDKs
- I want to build my own coding harness from scratch — Claude Agent SDK, Google ADK, AutoHarness, SWE-agent, RepoMaster, claw-code-agent · see Coding harness configs and SDKs
- I want a drop-in memory layer for agents — Mem0, claude-mem, agentlog, agno, letta · see Plugins, MCPs, CLI tools
- I want to plug hundreds to thousands of tools without context bloat — MCP-Zero, ToolGen, ToolRAG, langgraph-bigtool · see Progressive disclosure harnesses
- I want multi-agent orchestration — openai-agents-python, crewAI, autogen, Microsoft Agent Framework, PraisonAI, agent-squad · see Multi-agent and orchestration
- I want a general LLM app framework — langgraph, langchain, llama-index, pydantic-ai, agno · see Frameworks
- I want low-code / visual workflows — langflow, Flowise, Dify, n8n · see Frameworks
- I want browser-using agents — browser-use, WebVoyager, puppeteer-real-browser-mcp · see Plugins, MCPs, CLI tools
- I want sandboxed code execution for agent-generated code — E2B, Daytona, smolagents, OpenHands · see Libraries and SDKs
- I want to evaluate or benchmark agents — SWE-bench, AgencyBench, inspect_ai, WebArena, ARC-AGI-2, VitaBench · see Evaluation and benchmarking harnesses
- I want a deep research / autonomous research agent — deepagents, gpt-researcher, openagents · see Research and task-specific harnesses
- I want a provider-agnostic LLM pipe (not a framework) — LiteLLM, vercel/ai · see Libraries and SDKs
For agents
This list is also published in machine-readable form, so coding agents and research agents can recommend harnesses — not just humans browsing GitHub:
- harnesses.json — every project with category, complexity tier, capability tags, stars, license signal, and a concrete example link, plus the full use-case index.
- llms.txt — the entire list in one agent-readable file. Point any agent at the raw URL.
- MCP server —
recommend(one opinionated pick + alternatives + what to avoid, e.g. repos flagged for star manipulation),compare/compare_for(2–4 harnesses side by side — by id or by task — who leads on which axis incl. researched sandboxing/memory/hooks/prompt-optimization ratings, graveyard warnings, the matching decision guide),pick_harness(ranked, with complexity/autonomy/recovery filters),search_harnesses,get_harness,list_categories, pluslist_comparisons/get_comparisonfor the decision guides. Published to PyPI and the official MCP registry asio.github.RyanAlberts/agent-harnesses. One-line install (needs uv):
claude mcp add agent-harnesses -- uvx agent-harnesses-mcp
Contents
- The landscape at a glance
- How to Pick a Harness
- Pick by use case
- For agents: harnesses.json, llms.txt, MCP server
- FAQ
- Progressive disclosure harnesses 7 projects
- Coding agent products (IDEs, CLIs, full suites) 18 projects
- Coding harness configs and SDKs 14 projects
- Personal agent runtimes 8 projects
- Frameworks 24 projects
- Multi-agent and orchestration 10 projects
- Plugins, MCPs, CLI tools 16 projects
- Memory and state 4 projects
- Evaluation and benchmarking harnesses 17 projects
- Observability and eval-ops 2 projects
- Research and task-specific harnesses 2 projects
- Libraries and SDKs 13 projects
Guide to rankings
- ⭐ Stars — GitHub star count, captured 2026-07-19; tables sort by stars descending.
- ⚖️ Simplicity ↔ capability — adoption surface, 4 tiers: super simple (a format, one concept) → mostly simple (thin layer) → slightly complex (real SDK) → complex (product suite).
- ★ Headless-ready — designed for unattended runs, batches, and fleets (the top of the autonomy scale: step-gated → checkpoint-gated → bounded → headless).
- ✱ Durable — persisted execution state survives restarts mid-task (the top of the recovery scale: none → retry → resumable → durable).
- ✅ Open source — ✅ standard OSS license · ⚠️ source-available/restricted · ❓ no or unclear license.
- 🏷️ Tags — capability chips auto-derived from descriptions; full cross-reference in TAGS.md.
- 🎯 Examples — one concrete "show me it in action" link per project, not a docs root.
Every project's full autonomy and recovery tier is plotted in the grid above and carried in harnesses.json and llms.txt; scores are editorial, from public docs — maintainer corrections via issue/PR are merged fast.
Progressive disclosure harnesses
Formats, runtimes, and patterns that reveal context, tools, or instructions in layers—index first, details on demand—to control tokens and improve agent focus (the "map, not encyclopedia" principle).
| # | Project | ⭐ Stars | Description | Open source | Simplicity ↔ capability | Examples |
|---|---|---|---|---|---|---|
| 1 | awesome-cursorrules | 40.4k | Curated .cursorrules and skills that leverage Cursor's index-then-load model; the canonical collection for rules-as-progressive-disclosure in the IDE. ide |
✅ | super simple (content bundle) | PyTorch cursorrules |
| 2 | agents.md | 23.1k | Open format for repo-scoped agent briefings; v1.1 adds hierarchical scope and progressive disclosure so agents get a map of what exists, then load only what's relevant. typescript |
✅ | super simple (format only) | Self-hosting AGENTS.md |
| 3 | context-mode | 19.1k | Context-window optimization layer that sandboxes tool output before it reaches the model (claimed 98% reduction) and persists session memory across 17 agent platforms via MCP and hooks—progressive disclosure applied to tool results, not just instructions. mcp · memory · sandbox |
❓ | mostly simple (output sandboxing, cross-platform) | Project README |
| 4 | langgraph-bigtool ✱ | 549 | Build LangGraph agents with large tool sets; retrieval and on-demand tool loading so agents scale beyond context without stuffing every schema upfront. tool-discovery · python |
✅ | slightly complex (large tool sets) | Math-library tool agent |
| 5 | MCP-Zero | 500 | Active tool discovery for autonomous agents: model requests tools by requirement; hierarchical semantic routing over 308 servers / 2,797 tools with ~98% token reduction (APIBank). tool-discovery |
✅ | complex (3k tools, full routing) | APIBank experiment |
| 6 | ToolGen | 183 | ICLR 2025: unified tool retrieval and calling via generation; 47k+ tools without context stuffing—retrieval and invocation in one generative step. tool-discovery · python |
❓ | complex (47k+ tools) | Full eval pipeline |
| 7 | ToolRAG | 29 | Semantic tool retrieval for LLMs; serves only the tools the user query demands (MCP-compatible), unlimited tool sets with zero context penalty. mcp · tool-discovery |
✅ | mostly simple (query-driven retrieval) | MCP server retrieval |
Coding agent products (IDEs, CLIs, full suites)
Turnkey coding agents you install and run: IDE extensions, terminal CLIs, Dockerized workspaces. Each entry notes which part is the harness (the agent loop, tool wiring, approval model) versus the UI shell (VS Code extension, TUI, browser client).
| # | Project | ⭐ Stars | Description | Open source | Simplicity ↔ capability | Examples |
|---|---|---|---|---|---|---|
| 1 | opencode ★ | 187k | Open-source terminal coding agent (formerly sst/opencode; transferred to anomalyco). The harness is a multi-provider tool-call loop (Claude, OpenAI, Gemini, local) with strong plugin and MCP support; the TUI is the shell. 100% OSS, very actively shipped. mcp · provider-agnostic · cli · tui · typescript |
✅ | slightly complex (multi-provider, plugins, MCP) | Agent system page |
| 2 | Gemini CLI | 106k | Google's first-party terminal agent for Gemini. The harness is the plugin/MCP tool-call loop; the terminal is the shell—Google's parallel to Claude Code / Codex, not just an API. mcp · cli · typescript |
✅ | slightly complex (official CLI, plugins, MCP) | MCP server setup |
| 3 | Codex | 99.6k | OpenAI's terminal coding agent. The harness is the sandboxed tool-call loop with multi-provider support; the CLI is the shell. Reference implementation for "official CLI that ships code." sandbox · provider-agnostic · cli |
✅ | slightly complex (reference CLI, sandboxed) | Sandboxing concept |
| 4 | OpenHands ★ | 81.3k | Dockerized software-engineering agent. The harness is the bash/editor/browser toolset with micro-agents and event-stream session bridging; Docker is the sandbox. Main OSS choice for teams self-hosting autonomous repo work. memory · browser · sandbox · python |
⚠️ (multi-license) | complex (Docker runtime, multi-surface agent — product suite) | Repository microagents |
| 5 | pi | 72.6k | The upstream AI agent toolkit behind this list's oh-my-pi fork: a unified multi-provider LLM API, agent loop, and TUI shell providing the harness that oh-my-pi's Rust rewrite builds on. provider-agnostic · tui · rust |
❓ | slightly complex (multi-provider agent loop, TUI) | Project README |
| 6 | Open Interpreter | 66.8k | Lightweight terminal coding agent oriented to open models (DeepSeek, Kimi, Qwen). The harness is a code-execution loop — the model writes code, the harness executes it with confirmation gates; the CLI is the shell. The original "let the LLM run code on my machine" project, reborn for open weights. cli · python |
✅ | mostly simple (lean code-exec loop) | Quick start |
| 7 | Cline | 64.8k | VS Code extension whose harness is a plan-then-act loop with per-step human approval and cost transparency; the VS Code integration is the UI shell. Open-source counterweight to Cursor. ide · typescript |
✅ | slightly complex (plan-then-act, approval gates) | Plan & Act mode |
| 8 | goose ★ | 51.3k | Block-originated Rust agent, now stewarded by the Linux Foundation's Agentic AI Foundation (aaif-goose/goose). The harness is the MCP/ACP extension model with recipes and provider choice; there's no fixed UI slot—you bolt it into whatever shell you use. mcp · rust |
✅ | slightly complex (extensions, MCP/ACP) | Goose recipes guide |
| 9 | vibe-kanban | 27.4k | Kanban-style fleet manager for running Claude Code, Codex, or any coding agent across many tasks at once. The harness contribution is the task-queue/review layer on top of whichever agent executes; not an agent loop itself. | ❓ | slightly complex (task-fleet manager) | Project README |
| 10 | crush | 26.6k | Charm's terminal coding agent (Charm's fork of the original OpenCode). The harness is the tool-calling loop with session persistence; the Bubble Tea TUI is the shell. memory · cli · tui |
⚠️ FSL-1.1-MIT | slightly complex (terminal agent, TUI) | Crush launch post |
| 11 | Kilo Code | 26.4k | VS Code extension and CLI in the Cline/Roo-Code lineage — a natural pick now that Roo-Code is archived upstream. The harness is an approval-gated autonomous-mode loop with a provider/tool marketplace; the IDE is the shell. mcp · cli · ide · typescript |
❓ | slightly complex (IDE extension + CLI, MCP) | Project README |
| 12 | qwen-code | 26.1k | Alibaba's official terminal coding agent, forked from Gemini CLI's agent loop and retuned for Qwen models. The harness is the same sandboxed tool-call loop as its upstream; the terminal is the shell. sandbox · cli · typescript |
❓ | slightly complex (official CLI, Gemini-CLI fork) | Project README |
| 13 | Symphony ★ | 26k | OpenAI's harness for fanning a task out into many isolated, autonomous coding-agent implementation runs and surfacing the ones that pass, so a team manages outcomes instead of supervising each session. sandbox |
❓ | complex (parallel isolated runs — product suite) | Project README |
| 14 | Roo Code | 24.4k | VS Code/Cursor extension in the Cline lineage. The harness is the approval-gated agent with custom modes and a strong MCP story; the IDE is the UI. Popular community fork when you want that workflow without the upstream extension. mcp · workflow · ide · typescript |
✅ | slightly complex (IDE extension, MCP-first) | Custom modes guide |
| 15 | oh-my-pi | 18.4k | Terminal coding agent (fork of Pi) that wires the IDE into the harness: hash-anchored edits, a 32-tool loop tuned per-model, LSP rename/references/diagnostics on every write, a real DAP debugger (lldb/dlv/debugpy), long-lived Python + Bun execution kernels that call back into the agent's tools, browser control, and 40+ providers (Claude/OpenAI/Gemini/local). ~55k-line Rust core. browser · provider-agnostic · cli · ide · rust |
✅ | slightly complex (terminal agent, LSP/DAP, multi-provider) | LSP wired into edits |
| 16 | claw-code-agent | 531 | Python reimplementation of the Claude Code agent architecture with zero external dependencies; interactive chat, streaming, plugin runtime, nested agent delegation, cost tracking, MCP transport—portable harness without the Rust/TS toolchain. mcp · rust · python · typescript |
❓ | slightly complex (pure Python, plugin runtime) | Quick Start guide |
| 17 | AgentBox | 264 | Runs multiple coding agents in parallel, each in its own sandboxed VM, locally or in the cloud, from one command. The harness contribution is the VM-per-agent isolation and fleet fan-out layer; whichever agent runs inside owns the loop. sandbox · typescript |
✅ | slightly complex (VM-per-agent sandbox, parallel fan-out) | Parallel agents quick start |
| 18 | Proliferate | 157 | Open-source AI IDE for Claude Code, Codex, OpenCode, and more. The harness contribution is the workspace/session orchestration layer: run multiple coding agents in parallel, locally or in the cloud, with isolated workspaces, reusable workflows, and shared team context. multi-agent · sandbox · ide · typescript |
✅ | complex (multi-agent workspace orchestration — product suite) | Product README |
Coding harness configs and SDKs
Skill packs, slash-command libraries, meta-prompting frameworks, and official SDKs that give you the harness (the agent loop, planning, memory, hooks) without bundling a specific IDE or CLI shell.
| # | Project | ⭐ Stars | Description | Open source | Simplicity ↔ capability | Examples |
|---|---|---|---|---|---|---|
| 1 | superpowers | 257k | Performance-oriented harness pack for Claude Code, Codex, OpenCode, Cursor: skills, instincts, memory, security, research-first workflows. Treats harness engineering itself as the performance lever. memory · ide |
✅ | complex (multi-IDE skill stack — product suite) | TDD skill |
| 2 | Anthropic Skills | 163k | Anthropic's official Agent Skills repository: SKILL.md-based folders (instructions, scripts, resources) Claude dynamically loads on Claude Code, Claude.ai, and the API. The reference for progressive-disclosure skill packs in 2026. | ✅ | mostly simple (official skills format) | docx skill |
| 3 | GStack | 123k | Garry Tan's Claude Code skill stack: 23 slash-command modes (CEO/eng/design review, QA, ship, browse, retro, …) that structure one assistant as a virtual engineering team. Daily driver while running YC. typescript |
✅ | slightly complex (multi-role slash-command harness) | /ship SKILL.md |
| 4 | awesome-claude-code | 50.4k | Large community-curated index of Claude Code skills, slash commands, status lines, and plugins—resources for extending the harness, not a harness itself, but the most-followed catalog of the genre. | ❓ | super simple (curated resource index) | Project README |
| 5 | wshobson/agents | 38.1k | Cross-harness marketplace of drop-in subagents and skills for Claude Code, Codex CLI, Cursor, OpenCode, and Copilot; specialized, production-ready agent definitions you install rather than hand-write. multi-agent · cli · ide |
✅ | super simple (drop-in agent packs) | Agent catalog |
| 6 | SWE-agent ★ | 19.9k | LM-driven harness built for SWE-bench: edit state, command execution, and issue-focused loop—the reference agent stack next to the benchmark itself. memory · evals · python |
✅ | slightly complex (SWE-bench pairing, stateful edits) | Default agent config |
| 7 | Claude Agent SDK ★ | 7.7k | Official Anthropic SDK (Python + TypeScript, demos, quickstarts): built-in tools, MCP, long-running coding agents with session bridging. mcp · memory · python · typescript |
✅ | complex (full SDK, session bridging — product suite) | Research agent demo |
| 8 | get-shit-done | 6.9k | Goal-backward planning and wave-based execution over fresh context windows; avoids context rot by design. Python/JS meta-prompting for Claude Code, OpenCode, Gemini CLI. cli · python |
✅ | mostly simple (meta-prompting, you own stack) | gsd:ship command |
| 9 | agents-cli | 5.2k | Google's official CLI and skill pack that layers agent-creation, evaluation, and deployment skills on top of whatever coding assistant you already run, rather than shipping its own agent loop—the harness as a config/skills add-on, not a new runtime. evals · cli |
❓ | mostly simple (skills/CLI layer, no new runtime) | Project README |
| 10 | skillhub | 4.7k | iFlytek's self-hosted registry for publishing, versioning, and governing agent skill packages—the harness config layer treated as an enterprise artifact store rather than a CLI or IDE shell. local · cli · ide |
❓ | mostly simple (skill registry/governance) | Project README |
| 11 | RepoMaster ★ | 537 | Repo-scoped research harness: builds function-call and module-dependency graphs to explore only what's needed; large relative gains on MLE-bench and GitTaskBench with lower token use. workflow · python |
❓ | slightly complex (graph-based exploration) | PDF-parse case study |
| 12 | AutoHarness | 350 | Lightweight governance harness: wraps any LLM client in ~2 lines for automated harness engineering—6–14 step pipeline, YAML constitution, risk-pattern matching, session persistence with cost tracking, multi-agent profiles. memory · multi-agent · provider-agnostic · python |
✅ | super simple (2-line wrapper, YAML gov) | Full pipeline demo |
| 13 | LoopTroop | 71 | Config layer that chains LLM councils for planning, Ralph loops for iterative refinement, and OpenCode worktrees for shipping. The harness contribution is the council → loop → worktree pipeline; OpenCode underneath executes. typescript |
✅ | mostly simple (config pipeline over OpenCode) | Council → loop → worktree pipeline |
| 14 | pmstack | 6 | Claude Code config for AI product managers: CLAUDE.md plus skills for competitive analysis, PRD-from-signal, metric frameworks, stakeholder briefs, and agent eval design. "GStack for PMs." evals |
✅ | super simple (skills bundle, PM-focused) | PRD-from-signal skill |
Personal agent runtimes
Always-on, self-hosted agents you run as a daemon and talk to from chat apps: gateway runtimes, second brains, and self-improving assistants. The agent as a product you operate, not a library you build with.
| # | Project | ⭐ Stars | Description | Open source | Simplicity ↔ capability | Examples |
|---|---|---|---|---|---|---|
| 1 | OpenClaw ★ | 383k | Self-hosted, always-on personal agent (formerly Clawdbot/Moltbot): a gateway + event-loop runtime that treats messages, heartbeats, crons, and webhooks as one input queue, persists state to local files, and lives in your chat apps (WhatsApp, Telegram, Slack, Discord). 13,700+ community skills; the fastest-growing repo in GitHub history. typescript · multi-agent |
✅ | complex (always-on runtime, channels, skill ecosystem — product suite) | Agent runtime architecture |
| 2 | Hermes ★ | 217k | Nous Research's self-improving agent: a learning loop turns experience into reusable skills, builds a persistent user model across sessions, and checkpoints state to disk with rollback; lean enough for a $5 VPS, driven from chat, and model-agnostic (Nous Portal, OpenRouter, OpenAI, or any endpoint). memory · python · provider-agnostic |
✅ | slightly complex (lean runtime, learning loop, disk-first memory) | Built-in skills |
| 3 | [Khoj](https://github.com/ |
No comments yet
Be the first to share your take.