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. <sup>mcp · memory</sup>) 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 · 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, everything-claude-code, 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 —
pick_harness(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 6 projects
- Coding agent products (IDEs, CLIs, full suites) 9 projects
- Coding harness configs and SDKs 9 projects
- Personal agent runtimes 7 projects
- Frameworks 23 projects
- Multi-agent and orchestration 8 projects
- Plugins, MCPs, CLI tools 12 projects
- Evaluation and benchmarking harnesses 16 projects
- Research and task-specific harnesses 2 projects
- Libraries and SDKs 14 projects
Guide to rankings
- ⭐ Stars — GitHub star count, captured 2026-07-05; 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.
<br>Progressive disclosure harnesses
<a href="#contents"><img align="right" width="15" height="15" src="https://git.io/JtehR" alt="Back to top"></a>
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 | <a name="awesome-cursorrules"></a>awesome-cursorrules | 40.2k | Curated .cursorrules and skills that leverage Cursor's index-then-load model; the canonical collection for rules-as-progressive-disclosure in the IDE. <sup>ide</sup> | ✅ | super simple (content bundle) | PyTorch cursorrules |
| 2 | <a name="agentsmd"></a>agents.md | 22.8k | 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. <sup>typescript</sup> | ✅ | super simple (format only) | Self-hosting AGENTS.md |
| 3 | <a name="langgraph-bigtool"></a>langgraph-bigtool ✱ | 545 | Build LangGraph agents with large tool sets; retrieval and on-demand tool loading so agents scale beyond context without stuffing every schema upfront. <sup>tool-discovery · python</sup> | ✅ | slightly complex (large tool sets) | Math-library tool agent |
| 4 | <a name="mcp-zero"></a>MCP-Zero | 488 | 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). <sup>tool-discovery</sup> | ✅ | complex (3k tools, full routing) | APIBank experiment |
| 5 | <a name="toolgen"></a>ToolGen | 181 | ICLR 2025: unified tool retrieval and calling via generation; 47k+ tools without context stuffing—retrieval and invocation in one generative step. <sup>tool-discovery · python</sup> | ❓ | complex (47k+ tools) | Full eval pipeline |
| 6 | <a name="toolrag"></a>ToolRAG | 29 | Semantic tool retrieval for LLMs; serves only the tools the user query demands (MCP-compatible), unlimited tool sets with zero context penalty. <sup>mcp · tool-discovery</sup> | ✅ | mostly simple (query-driven retrieval) | MCP server retrieval |
Coding agent products (IDEs, CLIs, full suites)
<a href="#contents"><img align="right" width="15" height="15" src="https://git.io/JtehR" alt="Back to top"></a>
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 | <a name="opencode"></a>opencode ★ | 183k | 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. <sup>mcp · provider-agnostic · cli · tui · typescript</sup> | ✅ | slightly complex (multi-provider, plugins, MCP) | Agent system page |
| 2 | <a name="gemini-cli"></a>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. <sup>mcp · cli · typescript</sup> | ✅ | slightly complex (official CLI, plugins, MCP) | MCP server setup |
| 3 | <a name="codex"></a>Codex | 95.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." <sup>sandbox · provider-agnostic · cli</sup> | ✅ | slightly complex (reference CLI, sandboxed) | Sandboxing concept |
| 4 | <a name="openhands"></a>OpenHands ★ | 79.5k | 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. <sup>memory · browser · sandbox · python</sup> | ⚠️ (multi-license) | complex (Docker runtime, multi-surface agent — product suite) | Repository microagents |
| 5 | <a name="cline"></a>Cline | 64.3k | 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. <sup>ide · typescript</sup> | ✅ | slightly complex (plan-then-act, approval gates) | Plan & Act mode |
| 6 | <a name="openinterpreter"></a>Open Interpreter | 64.3k | 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. <sup>cli · python</sup> | ✅ | mostly simple (lean code-exec loop) | Quick start |
| 7 | <a name="goose"></a>goose ★ | 50.7k | 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. <sup>mcp · rust</sup> | ✅ | slightly complex (extensions, MCP/ACP) | Goose recipes guide |
| 8 | <a name="crush"></a>crush | 26.1k | 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. <sup>memory · cli · tui</sup> | ⚠️ FSL-1.1-MIT | slightly complex (terminal agent, TUI) | Crush launch post |
| 9 | <a name="claw-code-agent"></a>claw-code-agent | 524 | 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. <sup>mcp · rust · python · typescript</sup> | ❓ | slightly complex (pure Python, plugin runtime) | Quick Start guide |
Coding harness configs and SDKs
<a href="#contents"><img align="right" width="15" height="15" src="https://git.io/JtehR" alt="Back to top"></a>
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 | <a name="superpowers"></a>superpowers | 247k | 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. <sup>memory · ide</sup> | ✅ | complex (multi-IDE skill stack — product suite) | TDD skill |
| 2 | <a name="ecc"></a>everything-claude-code | 226k | The breakout 2026 harness pack for Claude Code: 28 specialized subagents, 119 reusable skills, 60 slash commands, 34 rules, 20+ automated hooks. Ships a full "AI engineering team" as config. <sup>multi-agent</sup> | ✅ | complex (subagents + skills + hooks — product suite) | autonomous-agent-harness skill |
| 3 | <a name="skills"></a>Anthropic Skills | 158k | 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 |
| 4 | <a name="gstack"></a>GStack | 120k | 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. <sup>typescript</sup> | ✅ | slightly complex (multi-role slash-command harness) | /ship SKILL.md |
| 5 | <a name="swe-agent"></a>SWE-agent ★ | 19.7k | LM-driven harness built for SWE-bench: edit state, command execution, and issue-focused loop—the reference agent stack next to the benchmark itself. <sup>memory · evals · python</sup> | ✅ | slightly complex (SWE-bench pairing, stateful edits) | Default agent config |
| 6 | <a name="claude-agent-sdk-python"></a>Claude Agent SDK ★ | 7.5k | Official Anthropic SDK (Python + TypeScript, demos, quickstarts): built-in tools, MCP, long-running coding agents with session bridging. <sup>mcp · memory · python · typescript</sup> | ✅ | complex (full SDK, session bridging — product suite) | Research agent demo |
| 7 | <a name="repomaster"></a>RepoMaster ★ | 533 | 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. <sup>workflow · python</sup> | ❓ | slightly complex (graph-based exploration) | PDF-parse case study |
| 8 | <a name="autoharness"></a>AutoHarness | 339 | 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. <sup>memory · multi-agent · provider-agnostic · python</sup> | ✅ | super simple (2-line wrapper, YAML gov) | Full pipeline demo |
| 9 | <a name="pmstack"></a>pmstack | 4 | 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." <sup>evals</sup> | ✅ | super simple (skills bundle, PM-focused) | PRD-from-signal skill |
Personal agent runtimes
<a href="#contents"><img align="right" width="15" height="15" src="https://git.io/JtehR" alt="Back to top"></a>
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 | <a name="openclaw"></a>OpenClaw ★ | 382k | 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. <sup>typescript · multi-agent</sup> | ✅ | complex (always-on runtime, channels, skill ecosystem — product suite) | Agent runtime architecture |
| 2 | <a name="hermes-agent"></a>Hermes ★ | 210k | 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). <sup>memory · python · provider-agnostic</sup> | ✅ | slightly complex (lean runtime, learning loop, disk-first memory) | Built-in skills |
| 3 | <a name="khoj"></a>Khoj ★ | 35.5k | Self-hostable "AI second brain": answers over your docs and the web, custom agents, scheduled automations, and multi-client reach (web, Obsidian, Emacs, WhatsApp). A personal-agent harness with retrieval at the core. <sup>python</sup> | ✅ | complex (server + clients — product suite) | Feature tour |
| 4 | <a name="eliza"></a>Eliza ★ | 18.7k | Open "agentic operating system" (elizaOS): persistent multi-agent runtime with character files, a plugin ecosystem, and social/platform integrations — the harness behind a large share of autonomous social agents. <sup>memory · multi-agent · typescript</sup> | ✅ | complex (runtime + plugin ecosystem — product suite) | Agent quickstart |
| 5 | <a name="agent-zero"></a>Agent Zero | 18.3k | Organic, prompt-defined personal agent framework: hierarchical sub-agents, persistent memory, browser and code tools, and self-modifying behavior; runs in Docker with a web UI. <sup>memory · multi-agent · browser · sandbox · python</sup> | ❓ | slightly complex (prompt-defined, Docker + web UI) | Framework tour |
| 6 | <a name="openharness"></a>OpenHarness (HKUDS) | 14.6k | Open agent harness with a built-in personal agent ("Ohmo") that runs across Feishu, Slack, Telegram, and Discord; core tool-use, skills, memory, multi-agent coordination with auto-compaction for multi-day sessions. <sup>memory · multi-agent</sup> | ✅ | complex (personal agent + multi-channel — product suite) | harness-eval skill |
| 7 | <a name="ailice"></a>AIlice | 1.4k | Fully autonomous general-purpose agent; one binary, Docker-ready, for when you want "set goal and walk away" without a framework. <sup>sandbox · python</sup> | ✅ | slightly complex (autonomous, one binary) | Task showcase |
Frameworks
<a href="#contents"><img align="right" width="15" height="15" src="https://git.io/JtehR" alt="Back to top"></a>
General-purpose agent and LLM application frameworks (the app layer, not harnesses per se).
| # | Project | ⭐ Stars | Description | Open source | Simplicity ↔ capability | Examples |
|---|---|---|---|---|---|---|
| 1 | <a name="n8n"></a>n8n ★ ✱ | 195k | Fair-code workflow engine with 400+ nodes and native AI nodes; the self-hosted Zapier that actually does agents and LangChain. <sup>workflow · local · typescript</sup> | ⚠️ Fair-code | complex (400+ nodes, workflow engine — product suite) | Agent vs chain workflow |
| 2 | <a name="autogpt"></a>AutoGPT ★ | 185k | The original autonomous loop: goal in, agent iterates with tools and memory; Forge is the dev framework, Benchmark the eval harness. <sup>memory · evals · python</sup> | ⚠️ Polyform-SU | complex (autonomous loop, tools, memory — product suite) | Medium blogger graph |
| 3 | <a name="langflow"></a>langflow ★ | 151k | Low-code UI to build and deploy LangChain/LangGraph flows; visual DAG editor and one-click run. <sup>low-code · python</sup> | ✅ | complex (low-code, visual — product suite) | Chat with RAG flow |
| 4 | <a name="dify"></a>Dify ★ | 148k | One-stop LLM app platform: visual workflows, RAG pipeline, 50+ tools, model management; "ship from prototype to prod" in a single UI. <sup>low-code · rag · python</sup> | ⚠️ Fair-code | complex (one-stop platform — product suite) | Customer-service bot |
| 5 | <a name="langchain"></a>langchain | 141k | Chains, tools, retrievers, and agents; the usual entry point for "add tools to an LLM" in Python/JS. <sup>python</sup> | ✅ | complex (kitchen-sink ecosystem — product suite) | Build an agent notebook |
| 6 | <a name="browser-use"></a>browser-use | 103k | Python layer over Playwright: natural-language goals become browser actions—web-agent loop without hand-rolling MCP or a custom driver for every site. <sup>mcp · browser · python</sup> | ✅ | slightly complex (LLM + browser, Playwright) | Grocery shopping agent |
| 7 | <a name="flowise"></a>Flowise ★ | 54.3k | Drag-and-drop LangChain UI; deploy flows without code. The low-code sibling to Langflow, with a different component and hosting story. <sup>low-code · typescript</sup> | ⚠️ Apache+CLA | complex (low-code, drag-drop — product suite) | Agentic RAG flow |
| 8 | <a name="llama_index"></a>llama-index | 50.7k | Data-centric: indexing, RAG, and query engines; agent abstractions sit on top of your data pipelines. <sup>rag · python</sup> | ✅ | complex (RAG + agents — product suite) | Research assistant workflow |
| 9 | <a name="agno"></a>agno | 41k | Python agents with memory, knowledge bases, tools, and structured outputs; continues the PhiData-era product line under the Agno name—production apps, evals, and pipelines. <sup>memory · evals · python</sup> | ✅ | complex (memory, KB, observability — product suite) | Agent with tools |
| 10 | <a name="langgraph"></a>langgraph ★ ✱ | 36.5k | State-machine graphs over LLM steps; checkpointing, human-in-the-loop, and durable execution so workflows survive restarts. <sup>workflow · python</sup> | ✅ | slightly complex (graphs, checkpointing, durable exec) | Customer support agent |
| 11 | <a name="semantic-kernel"></a>semantic-kernel | 28.3k | Microsoft's plugin and planner layer for LLMs; C#, Python, Java; strong on enterprise auth and orchestration. <sup>python</sup> | ✅ | complex (enterprise, multi-language — product suite) | Chat completion agent |
| 12 | <a name="mastra"></a>mastra ✱ | 25.8k | TypeScript-first; agents, tools, and workflows with a single runtime and minimal boilerplate. <sup>typed · typescript</sup> | ⚠️ Elastic-2.0 | slightly complex (TS-first, minimal boilerplate) | Durable research agent |
| 13 | <a name="letta"></a>letta ★ ✱ | 23.7k | Python agent runtime with tool use and control flow; lean API; stateful agents with long-horizon memory. <sup>memory · python</sup> | ✅ | mostly simple (lean API) | Loop .af agent file |
| 14 | <a name="rasa"></a>rasa ★ | 21.2k | Conversational AI stack (NLU, dialogue, actions); long-standing OSS choice for chat and voice bots. <sup>voice · python</sup> | ✅ | complex (full stack — product suite) | Sara conversational demo |
| 15 | <a name="adk-python"></a>Google ADK ★ | 20.5k | Google's official Agent Development Kit: code-first Python toolkit for building, evaluating, and deploying agents. Optimized for Gemini but model-agnostic; deploys to Cloud Run / Vertex AI; ships a dev UI with eval and a code-execution sandbox. <sup>evals · sandbox · python</sup> | ✅ | complex (official Google SDK, eval, deploy — product suite) | Travel concierge agent |
| 16 | <a name="botpress"></a>botpress ★ | 14.8k | Visual bot builder and runtime; multi-channel, open-source alternative to commercial bot platforms. <sup>low-code · typescript</sup> | ✅ | complex (visual builder, multi-channel — product suite) | Inter-bot delegation |
| 17 | <a name="r2r"></a>R2R ★ | 7.9k | RAG-first: hybrid search, knowledge graphs, multimodal; the framework for "production RAG" when you care more about retrieval than chat UI. <sup>vision · rag · workflow · python</sup> | ✅ | complex (production RAG — product suite) | hello_r2r RAG example |
| 18 | <a name="agent-squad"></a>agent-squad | 7.7k | AWS-originated orchestrator (now under 2FastLabs): intent classification, streaming, SupervisorAgent; "agent-as-tools" so one agent delegates to a squad. <sup>multi-agent</sup> | ✅ | slightly complex (squad orchestration) | E-commerce support sim |
| 19 | <a name="agentverse"></a>AgentVerse ★ | 5.1k | Task-solving and simulation envs for multi-LLM agents; deploy many agents in custom environments without building infra from scratch. <sup>multi-agent · python</sup> | ✅ | complex (simulation envs, multi-agent — product suite) | NLP classroom sim |
| 20 | <a name="beeai-framework"></a>Bee Agent Framework | 3.3k | Python + TypeScript, LF AI–backed; MCP/ACP, workflows, Requirement Agent; the one that pushes "production multi-agent" without LangChain. <sup>mcp · multi-agent · python · typescript</sup> | ✅ | complex (production multi-agent — product suite) | ReAct agent example |
| 21 | <a name="agentstack"></a>AgentStack | 2.2k | Scaffolds full agent projects; plugs in CrewAI, LangGraph, OpenAI Swarm, LlamaStack and wires AgentOps observability from day one. | ✅ | slightly complex (scaffold, multi-backend) | Research assistant crew |
| 22 | <a name="agentsilex"></a>AgentSilex | 451 | ~300 lines of readable agent code on top of LiteLLM; the "I want to see the whole loop" option for learning or minimal production. <sup>python</sup> | ✅ | super simple (~300 LOC) | Simple weather agent |
| 23 | <a name="superagentx"></a>SuperAgentX | 200 | Lightweight multi-agent orchestrator with an AGI-angle; minimal surface, docs-first, for teams that want orchestration without the kitchen sink. <sup>multi-agent · python</sup> | ✅ | mostly simple (minimal surface) | Parallel marketing agents |
Multi-agent and orchestration
<a href="#contents"><img align="right" width="15" height="15" src="https://git.io/JtehR" alt="Back to top"></a>
Harnesses and patterns for multi-agent coordination and handoffs.
| # | Project | ⭐ Stars | Description | Open source | Simplicity ↔ capability | Examples |
|---|---|---|---|---|---|---|
| 1 | <a name="metagpt"></a>MetaGPT ★ | 69.2k | The "AI software company" multi-agent framework: role-played PM, architect, and engineer agents turn a one-line requirement into specs, designs, and code along an SOP assembly line. The landmark of the genre; development pace has slowed in 2026. <sup>multi-agent · python</sup> | ✅ | complex (role pipeline, SOPs — product suite) | Build a customized agent |
| 2 | <a name="autogen"></a>autogen | 59.5k | Conversable agents and group chats; code execution and human-in-the-loop; Microsoft origin, AG2 ecosystem. <sup>multi-agent · python</sup> | ✅ CC-BY | complex (group chat, code exec, AG2 — product suite) | Distributed group chat |
| 3 | <a name="crewai"></a>crewAI | 54.9k | Role-based agents (roles, goals, backstories) in Crews; Flows add event-driven and hierarchical control for production. <sup>python</sup> | ✅ | complex (roles, Flows, production — product suite) | Trip planner crew |
| 4 | <a name="chatdev"></a>ChatDev ★ | 33.7k | Multi-agent software-company simulation (CEO, CTO, programmer, tester) built on chat chains with communicative dehallucination; ChatDev 2.0 continues the line. MetaGPT's conversational sibling. <sup>python</sup> | ✅ | slightly complex (chat-chain simulation) | Company simulation quickstart |
| 5 | <a name="openai-agents-python"></a>openai-agents-python | 27.7k | Handoffs, guardrails, and multi-LLM routing; minimal surface so you own the loop. <sup>python</sup> | ✅ | mostly simple (minimal surface) | Airline customer service handoffs |
| 6 | <a name="agent-framework"></a>Microsoft Agent Framework | 11.9k | Microsoft's convergence of AutoGen and Semantic Kernel: build, orchestrate, and deploy agents and multi-agent workflows in Python and .NET, with graph-based workflows and checkpointing — the designated successor harness for both lines. <sup>multi-agent · workflow · python</sup> | ✅ | slightly complex (Python/.NET SDK, graph workflows) | Python samples |
| 7 | <a name="praisonai"></a>PraisonAI | 8.3k | Autonomous multi-agent teams with a single entry point; emphasis on minimal config. <sup>multi-agent · python</sup> | ✅ | mostly simple (single entry, minimal config) | Orchestrator-workers pattern |
| 8 | <a name="agentrl"></a>AgentRL ★ | 309 | Multitask, multiturn RL for LLM agents; Ray-based scaling, rollout/actor workers—for teams that want to train agents, not just run them. <sup>training · python</sup> | ✅ | complex (RL, Ray, train agents — product suite) | Async GRPO trainer |
Plugins, MCPs, CLI tools
<a href="#contents"><img align="right" width="15" height="15" src="https://git.io/JtehR" alt="Back to top"></a>
IDE plugins, concrete MCP servers, and CLI tools that give agents tools and context.
| # | Project | ⭐ Stars | Description | Open source | Simplicity ↔ capability | Examples |
|---|---|---|---|---|---|---|
| 1 | <a name="claude-mem"></a>claude-mem | 85.9k | Claude Code plugin that captures everything an agent does during a session, AI-compresses it (via claude-agent-sdk), and injects the relevant context into future sessions—session-to-session memory as a drop-in. <sup>memory</sup> | ✅ | slightly complex (session capture + compression) | Lifecycle hooks config |
| 2 | <a name="aider"></a>aider | 47.1k | Git-aware CLI pair programmer; edits in-repo, supports multiple models and MCP so agents see version control and tools. <sup>mcp · cli · python</sup> | ✅ | slightly complex (CLI, git-aware, MCP) | Repo map source |
| 3 | <a name="continue"></a>continue | 34.7k | Open-source IDE extension (VS Code, JetBrains); in-editor completion and chat with local or API models. <sup>ide · typescript</sup> | ✅ | complex (IDE extension, multi-editor — product suite) | VS Code extension demos |
| 4 | <a name="github-mcp-server"></a>github-mcp-server | 31.2k | GitHub's official MCP server (Go): repos, issues, PRs, code search, Actions. Replaces the older community cyanheads/github-mcp-server as the canonical way to give agents GitHub access. <sup>mcp</sup> | ✅ | slightly complex (official GitHub MCP) | Remote server toolsets |
| 5 | <a name="python-sdk"></a>MCP Python SDK | 23.5k | Official SDK to build and consume MCP servers/clients in Python; stdio and SSE transports. <sup>mcp · python</sup> | ✅ | mostly simple (SDK only) | Website fetcher server |
| 6 | <a name="typescript-sdk"></a>MCP TypeScript SDK | 12.8k | Official MCP implementation for Node/TS; reference for the protocol. <sup>mcp · typescript</sup> | ✅ | mostly simple (protocol reference) | Streamable HTTP server |
| 7 | <a name="inspector"></a>MCP Inspector | 10.3k | GUI to test and debug MCP servers; inspect tools, resources, and prompts. <sup>mcp · typescript</sup> | ✅ | super simple (debug GUI) | Inspector UI walkthrough |
| 8 | <a name="registry"></a>MCP Registry | 7k | Official, community-driven registry for MCP servers—the "app store" MCP clients use to discover servers. Maintained by Anthropic + ecosystem maintainers; v0.1 API frozen, production-grade. <sup>mcp</sup> | ✅ | slightly complex (official discovery layer) | Registry seed entries |
| 9 | <a name="mcp-gateway"></a>Docker MCP Gateway | 1.5k | Docker's official MCP CLI plugin / gateway; container-aware MCP tooling from Docker (replaces deprecated docker/mcp-servers path). <sup>mcp · sandbox · cli</sup> | ✅ | slightly complex (Docker-aware MCPs) | Gateway usage walkthrough |
| 10 | <a name="puppeteer-real-browser-mcp-server"></a>puppeteer-real-browser-mcp | 23 | Puppeteer MCP with real-browser and anti-detection; for agents that need to drive sites that block headless. <sup>mcp · browser · typescript</sup> | ❓ | mostly simple (real browser, anti-detect) | 11 anti-detection tools |
| 11 | <a name="better-opencodemcp"></a>Better-OpenCodeMCP | 8 | MCP server for OpenCode/Crush: async task execution, model bridging (e.g. Claude→Gemini), process pooling. <sup>mcp · typescript</sup> | ✅ | mostly simple (MCP server, model bridging) | opencode delegate tool |
| 12 | <a name="agentlog"></a>agentlog | 0 | Persistent decision memory for any project: remember, recall, reflect. Single-file Python CLI that stores decisions as JSONL and uses Claude or Gemini to retrieve and synthesize patterns—Karpathy's LLM Wiki concept as a CLI. <sup>memory · cli · python</sup> | ✅ | super simple (one file, three commands) | Sample decisions.jsonl |
Evaluation and benchmarking harnesses
<a href="#contents"><img align="right" width="15" height="15" src="https://git.io/JtehR" alt="Back to top"></a>
Agentic eval systems, reasoning benchmarks, and open agent benchmarks.
| # | Project | ⭐ Stars | Description | Open source | Simplicity ↔ capability | Examples |
|---|---|---|---|---|---|---|
| 1 | <a name="agent-lightning"></a>Agent Lightning ★ | 17.4k | Microsoft's training-oriented harness: optimization loops for agent behavior—when you need to improve policies over rollouts, not only score a fixed prompt. <sup>evals · training · python</sup> | ✅ | complex (agent training, Microsoft stack — product suite) | APO room-booking example |
| 2 | <a name="swe-bench"></a>SWE-bench ★ | 5.3k | LMs resolve real GitHub issues; Docker harness, instance IDs; standard for code-agent evals. <sup>evals · sandbox · python</sup> | ✅ | slightly complex (real GitHub issues, standard) | SWE-bench Verified leaderboard |
| 3 | <a name="agentbench"></a>AgentBench ★ | 3.5k | ICLR'24 benchmark: agents across AlfWorld, DB, knowledge graphs, OS, webshop; Docker Compose, function-calling interface. <sup>evals · sandbox · rag · workflow · python</sup> | ✅ | complex (multi-env, Docker Compose — product suite) | AgentBench ICLR'24 paper |
| 4 | <a name="inspect_ai"></a>inspect_ai ★ | 2.3k | Inspect AI core: composable eval tasks, sandboxes, scorers, and multi-model runs; the framework behind inspect_evals, not just the task bundle. <sup>evals · sandbox · python</sup> | ✅ | complex (eval framework, AISI stack — product suite) | Inspect tutorial example |
| 5 | <a name="webarena"></a>WebArena ★ | 1.5k | Realistic web env (e.g. e‑commerce, CMS, dev tools); 812 tasks; measures end-to-end web agent success. <sup>python</sup> | ✅ | complex (812 tasks, web env — product suite) | WebArena leaderboard |
| 6 | <a name="webvoyager"></a>WebVoyager ★ | 1.1k | End-to-end web agent with LMMs: screenshots + actions on real sites; benchmark on 15 sites, GPT-4V for automatic eval. <sup>evals · vision</sup> | ✅ | slightly complex (LMMs, screenshots, 15 sites) | 643 web tasks dataset |
| 7 | <a name="arc-agi-2"></a>ARC-AGI-2 | 720 | ARC Prize task set: grid-based abstraction/reasoning; public and private splits for generalization. | ✅ | super simple (task set) | ARC Prize leaderboard |
| 8 | <a name="swe-gym"></a>SWE-Gym ★ | 700 | Training and evaluation for SWE agents and verifiers (ICML 2025). <sup>evals · training · python</sup> | ✅ | slightly complex (training + eval, ICML) | SWE-Gym ICML 2025 paper |
| 9 | <a name="swe-smith"></a>swe-smith ★ | 691 | Data generation for SWE agents; 50k+ instances across 128 repos; used for SWE-agent-LM training. <sup>training · python</sup> | ✅ | slightly complex (50k+ instances, data gen) | SWE-smith trajectories |
| 10 | <a name="inspect_evals"></a>inspect_evals ★ | 570 | UK AISI/Arcadia/Vector: GAIA and other evals in Inspect AI; level 1–3, sandboxed, tool-calling solvers. <sup>evals · sandbox</sup> | ✅ | slightly complex (Inspect AI, UK gov) | inspect SWE-bench eval |
| 11 | <a name="arc-agi-benchmarking"></a>arc-agi-benchmarking ★ | 351 | Runner for ARC-AGI: multi-provider (OpenAI, Anthropic, Gemini, etc.), rate limits, retries, and scoring. <sup>evals · provider-agnostic · python</sup> | ✅ | mostly simple (runner, multi-provider) | o3 prompt example |
| 12 | <a name="vitabench"></a>VitaBench ★ | 152 | ICLR'26: 66 tools, real-world apps (delivery, travel, retail); 100 cross-scenario + 300 single-scenario tasks; adopted by Qwen/Seed. | ✅ | complex (66 tools, cross-scenario — product suite) | VitaBench paper |
| 13 | <a name="agencybench"></a>AgencyBench ★ | 88 | Long-horizon agent benchmark: 32 scenarios, 138 tasks, ~1M tokens and ~90 tool calls; Docker sandbox and rubric-based + LLM judges. <sup>evals · sandbox · python</sup> | ✅ | complex (32 scenarios, Docker, judges — product suite) | AgencyBench leaderboard |
| 14 | <a name="letta-evals"></a>letta-evals ★ | 74 | Eval harness for stateful Letta agents; configurable suites and grading (LLM or rule-based) so you can measure what you ship. <sup>memory · python</sup> | ✅ | mostly simple (Letta-specific harness) | LoCoMo memory benchmark |
| 15 | <a name="super-benchmark"></a>SUPER ★ | 53 | Agents that set up and run ML/NLP from GitHub repos; 45 expert problems, 152 masked tasks, 602 AutoGen tasks; Docker-based. <sup>sandbox · python</sup> | ✅ | slightly complex (ML/NLP repos, Docker) | SUPER EMNLP paper |
| 16 | <a name="trail-benchmark"></a>TRAIL | 20 | Trace reasoning and agentic issue localization; 148 long-context traces, 841 errors, 20+ error types; Hugging Face dataset. | ✅ | mostly simple (traces, Hugging Face) | TRAIL dataset card |
Research and task-specific harnesses
<a href="#contents"><img align="right" width="15" height="15" src="https://git.io/JtehR" alt="Back to top"></a>
Deep research, document QA, and domain-specific agent loops.
| # | Project | ⭐ Stars | Description | Open source | Simplicity ↔ capability | Examples |
|---|---|---|---|---|---|---|
| 1 | <a name="gpt-researcher"></a>gpt-researcher | 28.1k | Autonomous deep-research agent: web + local sources, citation-grounded reports, multi-agent and deep-research modes. The reference open-source research harness. <sup>multi-agent · python</sup> | ✅ | complex (deep research, multi-agent — product suite) | Multi-agent LangGraph walkthrough |
| 2 | <a name="openagents"></a>openagents ★ | 437 | Platform for autonomous agents and autopilot-style workflows; decentralized/Nostr-oriented (Pylon runtime, actively shipped in 2026). | ✅ | complex (platform, decentralized — product suite) | Production earning proof |
Libraries and SDKs
<a href="#contents"><img align="right" width="15" height="15" src="https://git.io/JtehR" alt="Back to top"></a>
Lightweight runtimes, tool loops, and provider-agnostic harness primitives.
| # | Project | ⭐ Stars | Description | Open source | Simplicity ↔ capability | Examples |
|---|---|---|---|---|---|---|
| 1 | <a name="daytona"></a>Daytona | 72.3k | Elastic dev environments for AI-generated code: workspaces, Git, previews—infra harness between "the model wrote a patch" and "it ran in a real machine." <sup>sandbox</sup> | ✅ | slightly complex (dev env API, isolation) | Charts in sandbox |
| 2 | <a name="mem0"></a>Mem0 | 60.1k | Universal memory layer for AI agents: stores user/org/session memory, retrieves on demand. Apache-2.0; the de-facto memory primitive paired with most harnesses in 2026. <sup>memory · python</sup> | ✅ | slightly complex (memory layer, multi-platform) | Next.js memory demo |
| 3 | <a name="litellm"></a>LiteLLM | 52.7k | One interface to 100+ LLMs; routing, caching, budgets. Not an agent framework—the pipe every agent framework uses. <sup>provider-agnostic · python</sup> | ✅ | mostly simple (LLM pipe only) | Anthropic Agent SDK gateway |
| 4 | <a name="composio"></a>Composio | 29.1k | 1,000+ toolkits with auth, tool search, and a sandboxed workbench—drop-in tool layer so agents stop reinventing OAuth + integrations. Python and TypeScript. <sup>sandbox · tool-discovery · python · typescript</sup> | ✅ | complex (1k+ tools, auth, search — product suite) | HackerNews agent quickstart |
| 5 | <a name="smolagents"></a>smolagents | 28.2k | Code-as-action agents: model outputs Python executed in sandbox (E2B, Modal, etc.); ~1k LOC core. <sup>sandbox · python</sup> | ✅ | mostly simple (code-as-action, ~1k LOC) | RAG code agent |
| 6 | <a name="deepagents"></a>deepagents ✱ | 25.7k | LangChain's Python+TypeScript agent harness on top of LangGraph: planning tool, virtual filesystem, shell sandbox, sub-agent spawning—the "Claude Code-style" harness as a reusable library. <sup>multi-agent · sandbox · python · typescript</sup> | ✅ | slightly complex (planning, files, sub-agents) | Deep research agent |
| 7 | <a name="ai"></a>vercel/ai | 25.4k | React and Node SDK for streaming, tool calls, and agent-style UIs; provider-agnostic. <sup>provider-agnostic · typescript</sup> | ✅ | slightly complex (React/Node SDK, provider-agnostic) | Next.js agent example |
| 8 | <a name="pydantic-ai"></a>pydantic-ai ✱ | 18.2k | Type-safe Python agents with Pydantic I/O; multi-provider, MCP, Logfire observability, and human-in-the-loop. <sup>mcp · typed · provider-agnostic · python</sup> | ✅ | slightly complex (type-safe, MCP, Logfire) | Bank support agent |
| 9 | <a name="e2b"></a>E2B | 12.8k | Firecracker sandboxes for executing agent-generated code; the hosted isolation layer many tool-calling demos use instead of running arbitrary LLM output on your laptop. <sup>sandbox · python</sup> | ✅ | slightly complex (sandbox API, code execution) | Claude Code in sandbox |
| 10 | <a name="harness-sdk"></a>strands-agents | 6.4k | Model-driven Python SDK; decorators for tools, native MCP, multi-agent; "minimal code" without sacrificing provider choice. <sup>mcp · multi-agent · typed · python</sup> | ✅ | mostly simple (decorators, MCP, minimal code) | First agent tutorial |
| 11 | <a name="agents"></a>Cloudflare Agents ★ ✱ | 5.2k | Persistent, stateful agents on Durable Objects: state, websockets, scheduling, and AI chat baked in. The serverless answer to "where does the agent live?" <sup>memory · typescript</sup> | ✅ | slightly complex (Durable Objects, stateful) | SDK playground app |
| 12 | <a name="openai-agents-js"></a>openai-agents-js | 3.3k | Official OpenAI Agents SDK for Node/TS: handoffs, guardrails, voice; the JS counterpart to openai-agents-python. <sup>multi-agent · voice · typescript</sup> | ✅ | slightly complex (handoffs, guardrails, voice) | Financial research agent |
| 13 | <a name="open-harness"></a>open-harness | 580 | TypeScript Agent class on Vercel AI SDK; streaming events, filesystem/bash tools, MCP, and subagent delegation. <sup>mcp · multi-agent · typescript</sup> | ✅ | slightly complex (streaming, tools, subagents) | Terminal CLI agent |
| 14 | <a name="awesome-ai-agents"></a>Community-curated agent lists | 11 | Broader directories: e.g. brandonhimpfen/awesome-ai-agents, axioma-ai-labs/awesome-ai-agent-frameworks, mb-mal/awesome-ai-agents-frameworks—differ by scope and update cadence. | ❓ | super simple (curated lists) | Frameworks section |
⚰️ Graveyard
Archived upstream. Kept here — not deleted — for citation and historical integrity; excluded from counts, the landscape chart, and harnesses.json's main list.
| Project | Last ⭐ Stars | Archived since | |
|---|---|---|---|
| get-shit-done | 64.7k | 2026-07-03 | archived — kept for integrity |
| Roo Code | 24.3k | 2026-07-03 | archived — kept for integrity |
| spring-ai-tool-search-tool | 76 | 2026-07-03 | archived — kept for integrity |
| coderClaw | 3 | 2026-07-03 | archived — kept for integrity |
FAQ
Which agent harnesses can run unattended (headless)?
Harnesses designed for unattended runs, batches, and fleets: opencode, OpenHands, goose, SWE-agent, Claude Agent SDK, RepoMaster, OpenClaw, Hermes.
Which agent harnesses survive a crash mid-task (durable)?
Harnesses whose execution state persists across restarts: langgraph-bigtool, n8n, langgraph, mastra, letta, deepagents, pydantic-ai, Cloudflare Agents.
How many of these agent harnesses are open source?
93 of 106 carry a standard open-source license; the rest are source-available or unclear, and flagged per row.
What is an agent harness?
The runtime that turns a model into an agent: it decides what the model's reasoning is allowed to touch, and supplies the orchestration, tool wiring, memory, error recovery, and guardrails around per-turn inference.
How is this list ranked?
By relevance to harness concerns (environment, orchestration, lifecycle, guardrails) and by GitHub stars (captured 2026-07-05); each project also carries an adoption-surface tier and autonomy/recovery scores.
How can an AI agent use this list directly?
Three machine-readable surfaces: harnesses.json (structured), llms.txt (one file), and an MCP server (uvx agent-harnesses-mcp) exposing pick_harness and search_harnesses.
<br>Related Resources
- Awesome: Awesome lists on many topics
- OpenAI – Harness engineering: Environment design, intent, feedback loops, repo-as-system-of-record
- Anthropic – Effective harnesses for long-running agents: Session bridging, feature lists, incremental progress, testing
- Aakash Gupta (Medium) – 2026 is agent harnesses: Harness as moat, minimal intervention, progressive disclosure
- LangChain, Anthropic, OpenAI: Official docs for major agent platforms
Contribution
Contributions are welcome. To add or suggest projects:
- Open an issue with the repo URL, category, and a short description.
- Or submit a pull request editing projects.yaml (and optionally README.md).
For contribution guidelines, see CONTRIBUTING.md and the Code of Conduct.
Show your listing
If your project is in this list, you're welcome to show it in your README:
[](https://github.com/RyanAlberts/best-of-Agent-Harnesses)