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

The Agent Harness Landscape — all projects plotted by adoption surface area against GitHub stars

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.

Autonomy × Recovery — every loop-owning project placed by designed autonomy regime and failure-recovery tier

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:

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.

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 serverrecommend (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, plus list_comparisons/get_comparison for the decision guides. Published to PyPI and the official MCP registry as io.github.RyanAlberts/agent-harnesses. One-line install (needs uv):
claude mcp add agent-harnesses -- uvx agent-harnesses-mcp

Contents

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/