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.
Simon Willison's definition of the agent itself is the cleanest: "an LLM agent runs tools in a loop to achieve a goal." The harness is everything around that loop: which tools exist, what needs approval, what the model sees each turn, what survives a crash. Andrej Karpathy named the architecture back in 2023: the model is "the kernel process of a new Operating System", and the harness is the rest of that OS, its scheduler, permissions, and memory. The SWE-agent paper proved the stakes by coining the agent-computer interface: how tools and feedback are presented changes what a model can do, independent of the model. The field's advice has since converged on investing here rather than in framework plumbing, from Anthropic's build-simple guidance to Jerry Liu's argument that the framework era is over and the layers that matter now are skills, tools, and context quality. Those are the layers this list catalogs.
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 benchmark data now backs this up. On SWE-bench Pro, "swapping the agent harness changed pass@1 more than many model upgrades do" (AINews, Aug 8 2026, citing analysis by @joelniklaus). Same model, different harness: 23% to 52% pass@1 on GLM-5.2, and 15% to 36% on Gemma 4 26B. Harness rankings barely transfer across models (rank correlation -0.05), so a small model in the right harness can approach a much larger model in the wrong one.
The gap is widest on long-horizon work. A bare frontier model was verified at about 30% on ARC-AGI-3; Prime Agent's harness took Opus 5 to 95.5%, and the YC Paper Club talk on why the harness matters more than the model (September 2026) walks through how. The gains come from a new class of self-improving harnesses, not from piling on scaffolding: the best of them stay thin and expose only what the model cannot do for itself. And because rankings barely transfer across models, the harness choice is a pairing that must be re-asked whenever the model changes. Who says so, what they measured, and what the claim does not mean is its own page.
That is the problem the MCP server in this repo solves. Point your agent at it and it can call recommend or pick_harness to choose a harness matched to your model and task, instead of inheriting whichever harness someone else benchmarked.
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:
- Why the harness matters more than the model: the measurements (ARC-AGI-3 30% to 95.5% on the same weights), who says so, and what the claim does not mean
- How to pick a harness: six questions that turn this list into a decision, plus the chart to internalize first (the harness moves scores more than the model)
- How to test-drive a harness: the two-week trial protocol, with a fair setup, tasks from your own repos, seven measurements, and the walk-away test
- The best AI agent harnesses in 2026, ranked by category: the top three per category from this week's data, regenerated on every refresh
- OpenClaw vs Hermes — the always-on personal-agent debate: presence vs discipline, plus what the field reports actually say
- Managed vs self-hosted always-on agents: Grok Bot, Claude Managed Agents, QM, OpenClaw, Hermes, and OpenJarvis; who owns the computer and who pays for idle time
- 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
- Agent sandboxing: what it is, the key concepts, and the field (E2B vs Daytona vs Modal and more)
- Agent evals (SWE-bench vs inspect_ai vs Terminal-Bench)
- Eval and observability platforms (Langfuse vs LangSmith vs Braintrust vs Phoenix)
- Browser agents (browser-use vs Stagehand vs Playwright MCP vs chrome-devtools-mcp)
- Browser infrastructure (Browserbase vs Steel vs Hyperbrowser)
- Claude Code skill packs (superpowers vs GStack vs get-shit-done vs Anthropic Skills)
- Context files for agents (AGENTS.md vs CLAUDE.md vs skills vs MCP tool search)
Templates and Playbooks
The list tells you which harness to use. These tell you how to set it up. Templates are files you copy into your project; Playbooks walk you through one task, step by step.
Templates
- One AGENTS.md for every coding agent: One briefing file that Codex, Claude Code, Cursor, OpenCode, GitHub Copilot, Gemini CLI, and Aider all read, so you write your build commands, conventions, and hard rules once instead of once per tool.
- Safe Claude Code settings: permissions and a guard hook: Project settings that stop Claude Code from force-pushing, wiping work, reading secrets, or piping downloads into a shell, while leaving everyday commands alone. Two files, copy and commit.
- Minimal agent harness in Python: A working coding-agent harness in about 180 lines of Python: the loop, three tools, a permission gate, a context file, a turn budget, and a transcript you can resume after a crash. Copy it to learn how harnesses work, or as the start of your own.
Playbooks
- Build your own agent harness: Build a working coding agent in about an hour: a loop, three tools, permissions, a context file, a budget, and crash recovery, in one Python file you fully understand. You finish with the minimal harness template running on your own repo.
- Write one AGENTS.md for every coding agent: Write one briefing file that Codex, Claude Code, Cursor, OpenCode, Copilot, Gemini CLI, and Aider all read, test that each tool actually loaded it, and keep it short enough to help instead of hurt. You finish with the AGENTS.md template filled in for your repo.
Skills
A skill is a folder your agent loads when a task calls for it. Each one below runs a script on your own setup and hands back a result you can check: what your agent can reach, which of its claims had no proof, where your tokens went. They run on your machine, and anything that changes a file or spends money waits for your yes.
Pick a harness
- Test-drive coding agents on tasks from your own repo: Runs Claude Code, Codex, and Gemini CLI on tasks taken from your own git history, scores each one with your repository's tests, and reports how many tasks each passed, the dollars per pass, the minutes, and the size of each change.
Set it up
- Check which instruction files your coding agents load: See which instruction files Claude Code, Codex, Gemini CLI, OpenCode, Cursor, GitHub Copilot, and Aider load from your repo, what each one cuts or skips, and whether the commands in those files still work.
- Grade your MCP tools the way a model reads them: Point it at an MCP server or a saved tool list to grade each tool's purpose, parameters, annotations, and token size, or let it find the MCP servers configured across your coding agents and count what they load into every session.
Keep it safe
- Test your agent's guardrails against dangerous commands: Checks whether the permission rules and hooks you already have in Claude Code, Codex, Gemini CLI, OpenCode, or Cursor stop about 90 dangerous commands, shows each one that gets through with a tested fix, and counts how often your rules interrupt real work.
- Stop a runaway agent session: A hook for Claude Code and Codex that stops a live session when the agent repeats the same call, keeps failing, or spends past a dollar cap you set.
- Check what your coding agent can reach: A one-minute probe that runs through your agent's own shell and shows which secret files, trust files, Docker, and sudo access it really has, then compares that with what your sandbox settings claim.
Check its work
- Check your agent's 'tests pass' claims: Find out how often your coding agent said tests passed without a passing run to back it up, and whether the current change quietly weakened your tests. It reads your local session logs and sends nothing anywhere.
- Turn the rules your agent breaks into hooks: Finds the rules in AGENTS.md, CLAUDE.md, and GEMINI.md that your coding agent breaks, counts every break in your recent sessions, and turns each broken rule into a hook (a check your agent runs before each tool call) that blocks it, tested against those real breaks.
See what it costs and what changed
- Find the update where your coding agent started working differently: Splits your own Claude Code or Codex sessions by version, model, or week, measures how the agent works in each, and places the change at the update, or within the span of versions, where the numbers moved, along with anything else that changed then.
- See where your coding agent wastes tokens and money: A report on your own Claude Code, Codex, Gemini CLI, and OpenCode sessions that shows which habits cost the most, such as re-read files, huge tool outputs, polling, and breaks that expire the prompt cache (the provider's cheap copy of the conversation), and which failures repeat, each with a fix.
Install one skill in any agent:
npx skills add https://github.com/RyanAlberts/best-of-Agent-Harnesses/tree/main/skills/<name>
Or all of them in Claude Code:
/plugin marketplace add RyanAlberts/best-of-Agent-Harnesses
/plugin install harness-skills@agent-harnesses
How the skills are built and tested.
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, Prime Agent · 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), QM, OpenJarvis · 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, Graphiti (Zep), claude-mem, agentlog, 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, Dify, n8n · see Frameworks
- I want browser-using agents — browser-use, Stagehand, WebVoyager, puppeteer-real-browser-mcp · see Plugins, MCPs, CLI tools
- I want sandboxed code execution for agent-generated code — E2B, Agent Sandbox, smolagents, OpenHands · see Libraries and SDKs
- I want to evaluate or benchmark agents — SWE-bench, Terminal-Bench, AgencyBench, inspect_ai, WebArena, 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),pick_infrastructure(picks at any level of the infra stack plus a live GitHub/Hacker News discovery pass, so answers aren't limited to this list),search_harnesses,get_harness,list_categories,whats_new(the weekly digest), pluslist_comparisons/get_comparisonfor the decision guides andlist_templates/get_template/list_playbooks/get_playbook/list_skills/get_skillso your agent can install a template or a skill for you. 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
Or hire a skeleton
Don't just read the list — agents/ ships three agent skeletons: open-source agents that run on the AI subscription you already pay for. Clone the file, customize the instructions, done. All three work against the current week's data and deliver to Slack or Notion when either is connected:
- harness-scout — describe what you're building; it picks your harness, with evidence and a graveyard check.
- stack-auditor — flags the harnesses in your codebase that died, and can trace your agent session logs to show how the harness steers your technical decisions.
- harness-radar — weekly movement briefing: climbers, arrivals, deaths, graduations.
curl -fsSL https://raw.githubusercontent.com/RyanAlberts/best-of-Agent-Harnesses/main/agents/harness-scout.md -o .claude/agents/harness-scout.md
Contents
- The landscape at a glance
- How to Pick a Harness
- Templates and Playbooks
- Skills
- Pick by use case
- For agents: harnesses.json, llms.txt, MCP server, agent templates
- FAQ
- Progressive disclosure harnesses 8 projects
- Coding agent products (IDEs, CLIs, full suites) 31 projects
- Coding harness configs and SDKs 18 projects
- Personal agent runtimes 14 projects
- Frameworks 26 projects
- Multi-agent and orchestration 22 projects
- Plugins, MCPs, CLI tools 19 projects
- Memory and state 6 projects
- Evaluation and benchmarking harnesses 19 projects
- Observability and eval-ops 4 projects
- Research and task-specific harnesses 6 projects
- Libraries and SDKs 14 projects
Guide to rankings
- ⭐ Stars — GitHub star count, captured 2026-10-25; 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).
- archived upstream — the maintainers archived the repo, so it gets no new fixes. Kept in the table for reference, never in the use-case picks.
- ✅ 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).
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).
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.
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.
Frameworks
General-purpose agent and LLM application frameworks (the app layer, not harnesses per se).