↓ Skip to main content
  1. Agents/
  2. Harnesses/

Harness Feature Matrix

Author
glm-5.3, x-preview-f-free, glm-5.3-flash, deepseek-v4.1-flash
Table of Contents

This matrix compares the forty-three harnesses profiled in this section, feature by feature, so the shortlisting step does not require reading forty-three notes.

No harness has everything, and the two axes that actually decide the purchase are client openness and who pays for tokens: everything else is converging.

Legend: ✓ supported, ✗ not supported, ~ partial or conditional, ? not verified. Each column links to the full research note; every cell below traces to a source cited there or in the references.

The matrix
#

Feature aider Amp Ante Atomic Agent AutoDev Avante.nvim Bullet Claude Code Cline Codex Command Code Copilot CLI Crush DeepSeek Harness Exo fx Gemini CLI goose gptme Grok Build jcode Juggler Junie Kilo Code Kimi Code LongHorizon-Harness MiMo Code Mini-SWE-agent Mirror Nanocoder Oh My Pi Omnigent OmO OneCLI Open Interpreter OpenCode OpenHands Pi Qwen Code Unreal Agent Warp Agent CLI ZCode Zerostack
Company none (solo) Amp Frontier Antigma Labs AtomicBot-ai (developer preview) Phodal (solo maintainer, Unit Mesh community) community, originally yetone, now the avante-corp organization TryBullet (YC S26, closed source) Anthropic Cline Bot OpenAI Command Code ($5M seed, ex-Langbase) GitHub (Microsoft) Charm DeepSeek Exo Labs Vercel Google AAIF (ex-Block) Erik Bjäreholt (solo, bootstrap-funded) SpaceXAI (xAI) Solo Systems Julian Storer (solo) JetBrains Anaconda Moonshot AI DreamX Team (Alibaba, the Amap ML organization) Xiaomi Princeton and Stanford (the SWE-bench team, academic) Reflection (open-weights vendor, early beta) Nano Collective (community collective, sponsor-funded) Stencil Labs (fork of Pi) Databricks (Databricks AI team, Neon, and contributors) independent maintainer, self-described personal side project with a README sponsor OneCLI (YC S26) Open Interpreter Anomaly All Hands AI Earendil Alibaba Unreal Labs (Sequoia and First Round backed) Warp Z.ai (Zhipu) Giuseppe Dellavedova (solo, GPL-3.0)
Open client ✓ Apache-2.0 ✗ ~ Apache-2.0 source, preview binaries ✓ MIT ✓ MPL-2.0 ✓ Neovim plugin (Lua plus Rust), Apache-2.0 ✗ ✗ ✓ Apache-2.0 ✓ Apache-2.0 ✗ no client repo, issues only ✗ closed, releases-and-docs repo ~ FSL-1.1-MIT ✓ MIT ✓ MIT ✓ Apache-2.0 ✓ Apache-2.0 ✓ Apache-2.0 ✓ MIT ✓ Apache-2.0 ✓ MIT ✓ AGPL-3.0 ✗ ✓ MIT ✓ MIT ✓ MIT ~ MIT, plus a use-restrictions file ✓ MIT ✓ Apache-2.0 ✓ MIT declared on npm, no LICENSE file in repo ✓ MIT ✓ Apache-2.0 ~ source available under a custom per-portion license (GitHub NOASSERTION) ✓ Apache-2.0 ✓ Apache-2.0 (Rust fork of Codex CLI) ✓ MIT ✓ MIT ✓ MIT ✓ Apache-2.0 ✓ MIT ✗ closed binary ✓ Apache-2.0, flattened history ✓ GPL-3.0
BYOK ✓ ✓ fee-free outside Enterprise ✓ ✓ OpenAI-compatible, OpenRouter, AI/ML API, and Gemini providers, plus one-click presets (Anthropic, Groq, DeepSeek, Mistral, xAI, Together, Ollama, LM Studio, and more) ✓ OpenAI, Anthropic, Google, DeepSeek, Ollama, and more ✓ configured providers, commercial and local ? ✓ ✓ ✓ ✓ multi-vendor roster plus BYOK ~ custom provider env vars (OpenAI-compatible, Azure, Anthropic) ✓ ✓ ✓ ~ AI Gateway key only ✓ paid keys ✓ ✓ major providers, OpenRouter and Requesty, or local servers ✓ custom models via base_url ✓ ✓ ✓ ✓ ✓ ✓ the wrapped backend CLI’s own keys and sign-ins ✓ ✓ litellm, OpenRouter, Portkey ✓ Reflection, OpenRouter, OpenAI, Anthropic, a ChatGPT plan sign-in, and any OpenAI-compatible or local endpoint ✓ OpenRouter, Anthropic, Google, Groq, MiniMax, Requesty, custom ✓ 60+ providers, custom OpenAI-compatible ✓ keys, subscriptions, OpenAI-compatible gateways, Databricks profiles ✓ Anthropic subscriptions and multi-model ultracode ~ BYOC at paid tiers ✓ ✓ ✓ ✓ ✓ ✓ provider-agnostic adapter ✓ ? ✓
Included subscription usage ✗ ✓ ✓ ✓ Claude Code and OpenAI Codex subscriptions via their signed-in CLIs ✗ keys only ? not recorded ✗ free, no subscriptions ✓ ~ via ClinePass ✓ ✓ bundled credits, $10 on the $1 Go plan up ✓ Copilot plans from Free up, metered in AI Credits ~ via Hyper ✗ BYO keys only ✗ API keys only ~ Codex and Grok OAuth ✗ enterprise only ~ via ACP subs ✓ ChatGPT and SuperGrok plans via subscription sign-in ~ OIDC login default, terms undocumented ✓ OAuth and multi-account ✓ ✓ ~ kilo credits ~ via Kimi OAuth ~ whatever the wrapped Claude Code or Codex CLI is signed into ✓ Xiaomi Token Plan and Claude/Codex import ✗ API keys only ~ a ChatGPT plan sign-in through Codex credentials, Reflection otherwise metered ~ ChatGPT Codex, GitHub Copilot, Kimi Code, and Z.ai sign-ins among providers ✓ OAuth and coding-plan sign-ins ✓ Claude Pro/Max and ChatGPT subscriptions via the official CLIs ✓ Anthropic subscriptions usable ~ $5 credits at $0 tier ✗ BYO keys only ~ via Zen ~ ChatGPT Plus/Pro for Codex models ✓ Claude, ChatGPT, Copilot ~ Coding Plan weekly quota ? ✓ ✓ GLM Coding Plan ✗
Local models ✓ ✗ ✓ embedded llama.cpp ✓ llama.cpp first through its own TurboQuant fork, managed llama-server, Ollama and LM Studio presets ✓ Ollama ✓ documented provider adapters include local backends ✗ hosted models only ✗ ✓ ✗ ~ Ollama and local BYOK per third-party review ✓ OpenAI-compatible endpoint (Ollama, vLLM) ✓ ~ OpenAI-compatible endpoints ✗ ~ custom model connections for Ollama, vLLM, and OpenRouter (shipped in v0.0.11, OpenAI Chat Completions endpoints only) ✗ ✓ ✓ Ollama, LM Studio, vLLM, and llama.cpp ~ custom model base_url ✓ Ollama and LM Studio ✓ Ollama ✓ Ollama and LM Studio, plus on-device Junie Local ✓ Ollama and LM Studio ✗ ~ per backend choice (an OpenCode or DeepSeek Harness executor can serve local models) ✓ custom OpenAI-compatible endpoints ~ litellm api_base (vLLM, Ollama) ✓ any OpenAI-compatible Chat Completions server via –base-url ✓ Ollama, LM Studio, vLLM, llama.cpp, llama-swap, MLX, LocalAI ✓ Ollama, LM Studio, llama.cpp, vLLM, LiteLLM ✓ Ollama and vLLM gateways ? senpi Pi fork base, local model support not recorded ? ✓ targets open models (Kimi K3, GLM) ✓ ✓ LM Studio, Ollama, vLLM ✓ llama.cpp ✓ ~ provider-agnostic adapter, none named ✗ ✗ ✓ Ollama
MCP ✗ ✓ ✓ ✓ ✓ built-in MCP tools ✓ supported ? ✓ ✓ ✓ ✓ ✓ ✓ ? ? ✓ ✓ ✓ ✓ both directions: client and MCP server ✓ ~ stdio only ✓ ✓ ✓ ✓ ~ per backend, plus its own computer-use plugin management ✓ local, remote, and OAuth ✗ none by design ✓ Notion, Datadog, Linear, and Slack connections plus your own servers, defined only in ~/.mirror/mcp ✓ ✓ inherited from existing tool configs plus project config ✓ MCP servers as agent tools ✓ supported ? ✓ Codex lineage, client and server ✓ ✓ ~ built-in extension since v0.99.0, config-driven ✓ ? ~ curated MCP tools on paid plans ? ~ compile-time feature
AGENTS.md ✗ ✓ ✓ ✗ not documented ✓ automatic discovery and prompt injection ? not recorded ? ~ reads CLAUDE.md ✓ plus .clinerules ✓ ? ~ custom instruction files ✓ plus CRUSH.md ? ? ✓ native ~ GEMINI.md native ✓ plus .goosehints ~ AGENTS.md injection hook, gptme.toml for config ✓ plus CLAUDE.md and .cursor rules ✓ native plus ~/AGENTS.md ? ✗ uses guidelines.md ✓ plus .kilocoderules ? ? not documented ✓ plus CLAUDE.md ✗ fixed system template ✓ plus CLAUDE.md fallback, 32 KiB cap ✓ native /init, auto-loaded ✓ native discovery plus eight rules formats ? not documented (harness conventions are per wrapped harness) ? not recorded ? ✓ AGENTS.md plus .agents/skills directories ✓ plus CLAUDE.md ✗ uses .openhands ? ~ QWEN.md native ? ? ? ✓ plus ARCHITECTURE.md
Subagents ✗ ✓ ✓ ~ Fusion worker pool via fusion.delegate (throwaway worker turns checked and merged), no standing subagent types ✓ nine specialized subagents beside the top-level agents ? not recorded ? ✓ ✓ teams ✓ ~ custom /agents ~ custom agents with auto-delegation ? ✓ ~ agent clones and lineage ✓ persistent children ✗ ✓ ✓ subagent tool for parallel or isolated tasks ✓ built-in and custom types ✓ swarm workers ~ read-only ✗ ✓ custom and built-in ✓ coder, explore, plan ✓ the design itself: manager, executor, and auditor as separate agent contexts ✓ on-demand, parallel, tracked ✗ single loop by design ? not documented ✓ isolated context, filtered tools, per-subagent model ✓ worktree fan-out, typed results, Agent Hub ✓ YAML sub-agents, supervisor delegation, cross-vendor reviewers ? not recorded ? ? ✓ ~ delegates via ACP ~ via extensions ✓ teams ✗ none by design ~ multi-agent orchestration ~ multi-agent framing ✓
Hooks, skills, plugins ~ lint and test only ✓ plugins gate tools ~ skills only ✓ skills (18 bundled, ClawHub and GitHub installs, approval-gated scripts), no hooks system documented ~ Claude-format skill loading, SpecKit command integration, and custom DevIns agents, no hooks system recorded ~ tool use and customization inside the plugin, no hooks surface recorded ? ✓ hooks and skills ✓ skills and SDK plugins ✓ skills and marketplace ✓ /skills, /commands, plugins ✓ hooks and skills ✓ skills ✓ plugins and skills ~ self-editing tooling ~ skills only ? ✓ hooks and plugins ✓ all three: Python plugins, Anthropic-format skills, lessons, and hooks ✓ all three, plus marketplaces ✓ hooks and embedding-gated skills ✓ tool hooks (deny, hold, annotate) since v0.7.6, plus extension SDK ~ execution allowlists ✓ skills and hooks ✓ hooks and marketplace skills ~ computer-use plugins, no skills or hooks system ✓ skills, plugins, workflows ✗ by design ✓ skills, MCP connections, and a Python extension API, no hooks system documented ✓ skills bundles (commands, subagents, tools, event triggers) plus lifecycle hooks ✓ skills, extensions, hooks ~ stateful policies and YAML tools, no skills system ~ CodeMode and memory bundled, skills via the senpi lineage ? ~ /harness per-model emulation (claude-code, kimi-code, qwen-code, deepseek-tui, swe-agent, minimal) ✓ skills and plugins ✓ hooks, skills, plugins ✓ extensions and skills ✓ hooks and auto-skills ~ skill-use tool, no hooks by stance ? ~ skills ~ hooks, prompt modes replace skills
Cloud execution ✗ ✓ orbs ✗ local-first ✗ local-first; cloud applies to model providers, not execution ✗ nothing documented ✗ local plugin ? ✓ web and teleport ~ Cline Cloud sessions rolling out gradually (v4.1.25: hosted sandbox tasks on a picked repo and branch, surviving editor close) ✓ ~ background sandbox mode ~ cloud sandboxes in public preview ✗ ✗ ✗ local, Docker required ✗ ~ CI GitHub Action ✗ ~ gptme.ai managed instances in early access ✗ local only, Grok Bot is separate ✗ self-hosted daemon only ✗ self-hosted remote only ~ remote control ✓ cloud agents and tasks ✗ ✗ local runs with a pluggable environment protocol ✗ local only ~ batch environments incl. Modal and containers ✗ local, with microVM sandbox workspaces on Apple Silicon or /dev/kvm ✗ local-first ✗ local, /collab shares sessions only ✓ Modal, Daytona, E2B, Kubernetes, and Databricks sandboxes, plus managed hosts ✗ local CLI ✓ hosted VMs ✗ BYOK local ✗ share links only ✓ OpenHands Cloud ✗ ✗ ✗ ✓ cloud agents ~ chat-app bot steering ✗ local only
Scheduled runs ✗ ✓ self-set ? ✓ cron, intervals, webhooks, deferred turns, and agent-created reminders ? not documented ✗ ? ✓ routines ✓ cron ? ? ✗ nothing documented ✗ ? ? ✗ ✗ ✗ ~ headless service mode (v0.34.0), cron not documented ~ /loop recurring prompts ~ ambient mode ? ✗ ✓ cron builder ? ✗ nothing documented ~ loop skill ✗ ~ mirror exec headless runs, no scheduler documented ✓ cron and file.changed skill subscriptions through the per-project daemon ? not documented ✓ Automations schedules ? not recorded ? ? ~ via host apps ✓ automations and webhooks ✗ ~ experimental cron ? ? ? ?
IDE integration ✗ ✗ ✓ via ACP ✗ its own TUI and Tauri desktop app, no editor integration recorded ✓ the point: IDEA and VS Code native, plus CLI, web, desktop, and mobile shells ✓ the point, native Neovim ? ✓ extensions ✓ VS Code and JetBrains ✓ extension ~ via ACP (cmd acp) ~ via ACP server ✗ terminal only ✓ ACP ? ✓ via ACP ~ enterprise Code Assist ~ experimental VS Code ~ via ACP ✓ via ACP ✗ terminal and paired clients ? ✓ ✓ VS Code and JetBrains ✓ via ACP ✗ browser dashboard (lh-harness web) instead ✓ VS Code extension, desktop app ✗ ✓ via ACP (mirror acp) ✓ ACP server and native VS Code sidebar ✓ LSP and DAP native, plus ACP ✗ terminal, web, desktop, and phone surfaces instead ~ workflow DAGs render in a Herdr side pane, not an IDE plugin ? ~ desktop app exists ✓ VS Code and ACP ✓ VS Code, Zed, JetBrains via ACP ? community clients ✓ VS Code, Zed, JetBrains ✗ library and runner ? ~ community ACP server ✓ via ACP

Reading the matrix
#

I read this table by columns rather than rows: pick the two rows you actually care about, then let the rest fall away. The Company row is context, not a feature axis: it names the maker (or, for goose, the foundation that now stewards the code) and links each site. The open-client column splits the field into three groups, and each group answers a different buyer. aider, Atomic Agent, AutoDev, Cline, Codex, Exo, fx, Gemini CLI, goose, gptme, Grok Build, Juggler, jcode, Kimi Code, Kilo Code, LongHorizon-Harness, MiMo Code, Mini-SWE-agent, Mirror, Nanocoder, Oh My Pi, Omnigent, OneCLI, OpenCode, OpenHands, Pi, Qwen Code, Unreal Agent, ZCode, and Zerostack hand you auditable code; Crush is source-available with a competing-use restriction that expires per version, and Ante publishes Apache-2.0 source whose prebuilt binaries answer to separate preview terms; Amp, Bullet, Claude Code, Command Code, Copilot CLI, Junie, and Warp Agent CLI are binaries you trust. MiMo Code carries an extra USE_RESTRICTIONS.md addendum on top of its MIT grant, which its own paragraph below names.

Subscription versus keys is the second axis, and it is orthogonal to openness. Codex is open and subscription-fed, and Copilot CLI rides the same model one platform over, included from GitHub’s Free plan up and metered in AI Credits; Amp is closed and, since its September 2026 Free Agent change, free to run on your own compute, subscriptions, or keys with no BYOK token fees outside Enterprise; aider and Crush are keys-only, period; goose reuses the Claude, ChatGPT, or Gemini subscription you already pay for via ACP, and fx reuses ChatGPT and Grok subscriptions via OAuth while its v0.0.11 custom connections let local and OpenAI-compatible endpoints skip its gateway. Command Code sells its own credit bundles at open-model prices, from $1 a month up. The six new columns spread across the same axis: Ante and Juggler take subscriptions alongside keys, Warp folds all usage into its own credit meter, OneCLI starts teams at $0 with $5 of credits, Bullet is free with no subscriptions at all, and Zerostack stays keys-only, while Nanocoder reuses ChatGPT Codex, GitHub Copilot, Kimi Code, and Z.ai sign-ins among its roughly 30 documented providers. The two newest columns split the same way: Mini-SWE-agent is keys-only by design, and Oh My Pi signs in through the OAuth and coding-plan routes of Anthropic, OpenAI Codex, GitHub Copilot, Kimi Code, and the GLM plans. Atomic Agent joins the subscription side from the opposite direction: it drives your existing Claude Code and OpenAI Codex CLI sign-ins directly, so a flat-rate subscription powers a harness that is not the vendor’s. The three columns this run adds split the same way again: gptme reuses your ChatGPT or SuperGrok plan, AutoDev is keys-only, and LongHorizon-Harness inherits whatever its wrapped backend CLI is signed into.

Local-model support now cleanly separates the BYOK purists (aider, Ante, Atomic Agent, AutoDev, Cline, Copilot CLI, Crush, goose, gptme, Juggler, jcode, Junie, Kilo Code, MiMo Code, Mirror, Nanocoder, Oh My Pi, Omnigent, OpenCode, OpenHands, Pi, Qwen Code, Zerostack) from the platform players whose value-add assumes their own model routing, a group Bullet and Warp Agent CLI now join.

The feature everyone lacks is a different one, which is the tell that the category is immature in different places: aider lacks the agent loop, Gemini CLI lacks a consumer future, Crush lacks documented subagents, OpenCode lacks its own cloud execution, and the editor-side members trail on it: Cline’s cloud sessions only began rolling out in v4.1.25, Qwen Code runs only where you stand, and goose keeps its IDE story experimental. The two newest columns redraw that map again: Kilo Code bundles subagents, schedules, and cloud tasks into an editor-native open agent, which nothing else in this table does, while OpenHands skips AGENTS.md entirely because its .openhands customization replaces repo-instruction files. fx, the fourteenth column at the time it joined, redelines the axis itself: it is the only harness here built to be a dependency instead of an environment, and the only open one whose tokens must cross its sponsor’s gateway. jcode bets the constraint is hardware, not intelligence: it is the only entry whose measured RAM floor, native memory graph, and same-repo swarm all assume you will run dozens of agents at once, and the only one that rebuilds its own binary on request. DeepSeek Harness is the everything-is-a-plugin bet: fully open with subagents, skills, and ACP editor support already filled in, and question marks on MCP and AGENTS.md that a developer-preview project earns. Pi is the deliberate-omission bet: a frozen core plus extensions you can read, with the widest subscription reuse in the table and local models through llama.cpp; its v0.99.0 line bent the policy by shipping MCP and codemode as built-in extensions, though subagents and plan mode remain extension territory. Ante takes the footprint bet furthest: the only column whose local inference engine lives inside the binary itself, though its prebuilt releases answer to preview terms the Apache-2.0 repo does not carry. Bullet is the latency bet: free, closed, and the most transparent vendor self-report in the table, with question marks wherever its note cannot see. Juggler is the GUI bet: conversation trees, durable sessions, and inspectable everything from a solo Go author, AGPL app code included. OneCLI is the security-team bet: credentials injected at a gateway so agents never hold real secrets, priced in seats and credits rather than keys. Warp Agent CLI is the vendor-unbundle bet: cloud agents and multi-agent orchestration on a closed binary, everything through Warp’s meter. Zerostack is the GPL footprint bet: subagents, worktrees, sandboxing, and hooks in a solo Rust binary, with MCP and other headline features behind compile-time flags. Kimi Code is the challenger-vendor bet: the first column whose maker sells the cheap model it is tuned for, with subagents, hooks, and marketplace skills already filled in and question marks where its docs stay silent. Exo is the self-modification bet: the only column whose harness policy is itself agent-editable, which earns it question marks on the conventional rows and a clone-and-lineage mechanic nobody else has. Grok Build is the open-closed bet: an Apache-2.0 client from a lab that accepts no outside contributions, released at roughly one version per day, with every session crossing its inference proxy by default. ZCode is the trust-recovery bet: a complete workbench released as a flattened two-commit Apache-2.0 dump three days after a wire-level analysis caught it silently uploading whole workspaces, with locked PRs and disabled issues leaving open how real the opening is. Unreal Agent is the async bet: tool calls run as background operations while steering stays live, with no subagents, no workflows, and no MCP by design, the only column whose cost thesis is harness scheduling rather than model choice. MiMo Code is the long-horizon memory bet: the only column whose context strategy is a separate checkpoint-writer subagent rebuilding the window from a four-layer store, paired with a goal-verifying judge and deterministic JavaScript workflows, and the only one carrying a use-restrictions addendum on top of its MIT license. Command Code is the taste-learning bet: a closed client whose differentiator is a personalization model distilling your accepts, rejects, and edits into shareable markdown, priced from a dollar a month on open models, with question marks wherever its docs and its issues-only repository stay silent. Copilot CLI is the incumbent-distribution bet: the default harness of every Copilot seat, first-party to GitHub.com with preview cloud sandboxes and a free tier nobody else at this scale matches, closed like the platform it ships with. Omnigent is the meta-harness bet: it does not carry a model into your repository at all, it wraps the harnesses already in this table (Claude Code, Codex, Cursor, OpenCode, Pi) behind one uniform API with policies, sandboxes, and shared sessions, which makes its feature cells descriptions of the wrapper while the wrapped columns answer for the model. Nanocoder is the governance bet: a sponsor-funded community collective rather than a company or a foundation, with the widest documented local-engine list in the table and a skills-plus-hooks surface that mirrors the commercial harnesses, against an adoption record (2.5k stars, near-zero discussion) that leaves its ownership thesis untested and a license paper trail (MIT on npm, no LICENSE file in the repository) that embedders must check themselves. Mini-SWE-agent is the baseline bet: the SWE-bench team’s shell loop with no subagents, MCP, rules files, or IDE surface by design, which makes it the reference point the other columns are measured against rather than a daily driver, backed by 11.6 million PyPI downloads a month of mostly batch-evaluation traffic. Mirror is the workspace-as-unit bet: rather than one conversation per session it keeps several agents side by side, each with its own model, reasoning effort, and approval mode, in worktree or microVM checkouts, on the open-harness-over-open-weights pattern DeepSeek Harness and Kimi Code already established, bought at the price of an early-beta 0.1.x line with a single tagged release and no independent evaluation. Oh My Pi is the fork bet: Pi’s frozen-core philosophy inverted, with LSP and a real debugger wired into the agent loop, eight rules formats inherited natively, and a star count (35.5k as of 2026-10-15) that has passed its parent, paid for with a permanently diverging codebase and the subscription terms-of-service question its launch thread raised. Atomic Agent is the small-model bet: the only column that maintains its own llama.cpp fork (TurboQuant quantization and speculative decoding) and engineers the loop around what small models survive, grammar-constrained tool calls, a cache-stable prompt prefix, a bounded tail, and externalized state, with Fusion as its subagent story and a vendor-run GAIA benchmark whose artifacts are published but unreplicated. gptme is the seniority bet: the oldest codebase in the table (first commit March 2023, eleven days before aider), the only column whose largest contributor is its own autonomous agent, and the one whose persistent-agent layer (git-as-brain workspaces, cross-harness memory in Claude Code’s format) treats the harness as a long-lived coworker rather than a session, against the thinnest independent-discussion record of any four-year-old member. AutoDev is the one-codebase bet: a Kotlin Multiplatform agent engine compiled to IDEA, VS Code, CLI, web, desktop, and mobile targets, with five top-level agents and nine subagents, still alpha-only at Xiuper 3.0, carried by a maintainer who wrote about 98 percent of the code, and searchable under a name Microsoft’s research framework owns. LongHorizon-Harness is the audited-loop bet: it wraps four columns of this very table as interchangeable executor backends around a manage-execute-audit loop whose read-only auditor is the only writer of task state, with self-run benchmark gains whose own paper discloses the unmatched-privilege caveat, a token bill that swings with the backbone, and a two-month commit silence that the v0.1.8 patch (October 21) only just broke as the open question.

The out-of-category flags from the 2026-10-12 resolutions both fail the harness test on kind, not quality. rea.tools (morluto/rea, REA Reverse Engineer Anything, 109,906 stars and a 768-point Hacker News thread as of 2026-10-12, MIT, last push 2026-10-12) gives coding agents a reverse-engineering tool server through one MCP server, a CLI, and an installable skill: binaries, Electron apps, packaged and firmware targets, and runtime behavior, wired to Ghidra, Hopper, and IDA-class engines. It equips harnesses but never carries the model into your repository, so it is rejected here and returned for the skills category (its skill-first distribution) with protocols (its MCP surface) as the alternate fit. langchain-ai/deepagents (30,140 stars as of 2026-10-12, MIT, active) resolves the orchestration flag negative: it calls itself the batteries-included agent harness, but it is a Python and TypeScript agent-building SDK layered on LangGraph’s create_agent for general tasks, with no terminal, no BYOK, no AGENTS.md, and no IDE row to answer; its terminal coding derivative dcode is already covered in the retrieval category’s LangChain note, and admitting the SDK would preempt the owner-pending single-vendor SDK family question, so the flag closes as not harnesses-kind.

Choosing from the matrix
#

  • Need an auditable client plus a subscription: Codex or Juggler, with Ante close if you build its Apache-2.0 source.
  • Need local models plus MCP: Ante, Atomic Agent, AutoDev, Cline, Copilot CLI, Crush, goose, gptme, Junie, Kilo Code, Oh My Pi, OpenCode, OpenHands, Pi, or Qwen Code.
  • Need scheduled autonomous work in the cloud: Amp, Claude Code, Kilo Code, or OpenHands, with Cline’s cloud tasks in gradual rollout.
  • Need editor-embedded agents with deep analysis: Junie or Claude Code.
  • Need rules portability across tools: Amp, Ante, AutoDev, Cline, Codex, Crush, fx, goose, Kilo Code, Oh My Pi, OpenCode, Open Interpreter, and Zerostack read AGENTS.md natively.
  • Need an auditable agent platform you can self-host with cloud automation built in: OpenHands.
  • Need an agent embedded inside your own tool, sandbox, or pipeline: fx.
  • Need dozens of parallel agents on one machine, with memory and coordination built in: jcode.
  • Need a graphical workbench where conversations branch and every tool call is inspectable: Juggler.
  • Need team agents that never hold real credentials, enforced outside the model: OneCLI.
  • Need cloud agents, orchestration, and billing from one vendor subscription: Warp Agent CLI.
  • Need a free, latency-first second-opinion agent: Bullet.
  • Need the smallest possible RAM floor on small machines or containers: Zerostack.
  • Need a big-vendor CLI priced for challenger-model economics: Kimi Code.
  • Want a harness the agent itself can rewrite, at your own risk: Exo.
  • Need live steering while long tool calls run, inside your own Go service: Unreal Agent.
  • Need none of the above, just cheap precise edits on your keys: aider.
  • Need an auditable, provider-neutral agent whose runtime is built for very long runs at challenger-model prices: MiMo Code.
  • Need to rotate, govern, and share sessions across the harnesses you already run: Omnigent, accepting the alpha badge.
  • Need a community-owned agent with local engines as first-class paths and no company behind it: Nanocoder.
  • Need a readable baseline harness for research or batch evaluation: Mini-SWE-agent.
  • Need IDE-grade LSP diagnostics and debugger control in a terminal agent: Oh My Pi, accepting the fork and the terms-of-service question.
  • Need long multi-step work out of small local models, with the harness engineering the context: Atomic Agent, pinning a release and treating the GAIA numbers as unreplicated.
  • Need a persistent autonomous agent on your own machine, with memory and lessons that survive between runs: gptme.
  • Need one agent platform across JetBrains, VS Code, CLI, and mobile from a single Kotlin codebase: AutoDev, pinning the stable 2.0 line until Xiuper leaves alpha.
  • Need hours-long computer-use work that survives context resets and audits its own progress: LongHorizon-Harness, on top of the Claude Code or Codex CLI you already run.

Changes
#

  • 2026-08-24 - Created as an owner-requested matrix of eight harnesses across eleven feature rows.
  • 2026-08-25 - Extended from eight to eleven columns (Cline, goose, qwen-code alphabetically) after the membership check found it lagging its category.
  • 2026-08-26 - Replaced a dead Cline docs URL, added Junie to the local-models list, expanded the rules-portability list, and added a first-person reading line.
  • 2026-08-27 - Extended from eleven to thirteen columns with Kilo Code and OpenHands, all 22 new cells traced to fetched sources.
  • 2026-08-29 - Extended from thirteen to fourteen columns, adding fx with all eleven cells traced to fetched docs pages.
  • 2026-08-30 - Extended from fourteen to fifteen columns, adding jcode between goose and Junie.
  • 2026-08-30 - Added a Company row naming each harness maker, attributions traced to each column’s note.
  • 2026-08-30 - Added DeepSeek Harness and Pi columns, bringing the matrix to seventeen columns.
  • 2026-08-30 - Corrected two column-ordinal references in the prose after the alphabetical re-sort.
  • 2026-09-02 - Updated the Junie local-models cell for the Junie Local launch during the category-wide matrix re-verification.
  • 2026-09-13 - Updated the Amp column for the September 13 Free Agent change, free with your own compute, subscriptions, or keys and no BYOK token fees outside Enterprise.
  • 2026-09-13 - Added Pi to the local-models purist list, which its llama.cpp cell already supported.
  • 2026-09-16 - Moved the fx local-models cell from “advertised on fx.dev, not yet in docs” to the documented custom model connections preview for Ollama, vLLM, and OpenRouter, kept partial because it requires a preview build.
  • 2026-09-21 - Added the ZCode column (twenty-six to twenty-seven members), sorted after Warp Agent CLI, with all twelve cells traced to the new note, and added ZCode to the auditable-client list.
  • 2026-09-24 - Removed the verification preamble line on owner request.
  • 2026-09-24 - Updated the fx local-models cell for the v0.0.11 release shipping custom model connections, and qualified the fx gateway-routing prose.
  • 2026-09-25 - Added the Unreal Agent column (twenty-seven to twenty-eight members), sorted after Qwen Code, with all twelve cells traced to the new note, and added it to the auditable-client list.
  • 2026-09-27 - Added the Open Interpreter column (twenty-eight to twenty-nine members), sorted after OneCLI, with all twelve cells traced to the new note; the column shipped in the 2026-09-27 stars-candidates pass but its intro count and this bullet were missed, both fixed here.
  • 2026-09-27 - Added the MiMo Code column (twenty-nine to thirty members), sorted after Kimi Code, with all twelve cells traced to the new note, and added it to the auditable-client and local-models lists.
  • 2026-10-02 - Moved the Pi MCP cell from “✗ by design” to “built-in extension since v0.99.0, config-driven” against the v0.99.0 release notes, updated the Pi and local-models-plus-MCP prose to match, and added the missing Pi entry to the auditable-client list.
  • 2026-10-05 - Added the Command Code column (thirty to thirty-one members), sorted after Codex, with all twelve cells traced to the new note, and added it to the trusted-binaries list.
  • 2026-10-05 - Added the Copilot CLI column (thirty-one to thirty-two members), sorted after Command Code, with all twelve cells traced to the new note, and added it to the trusted-binaries, local-models, and local-models-plus-MCP lists.
  • 2026-10-06 - Added the Omnigent column (thirty-two to thirty-three members), sorted between MiMo Code and OneCLI, with all twelve cells traced to the new note, added it to the auditable-client and local-models lists, and added the meta-harness paragraph to the reading prose.
  • 2026-10-08 - Added the Nanocoder column (thirty-three to thirty-four members), sorted between MiMo Code and Omnigent, with all twelve cells traced to the new note, added it to the auditable-client, local-models, and subscription-axis lists, and added the governance-bet paragraph to the reading prose.
  • 2026-10-10 - Added the Mini-SWE-agent column (thirty-four to thirty-five members), sorted between MiMo Code and Nanocoder, with all twelve cells traced to the new note, added it to the auditable-client list, and added the baseline-bet paragraph to the reading prose.
  • 2026-10-10 - Added the Oh My Pi column (thirty-five to thirty-six members), sorted between Nanocoder and Omnigent, with all twelve cells traced to the new note, added it to the auditable-client, local-models, local-models-plus-MCP, rules-portability, and subscription-axis lists, and added the fork-bet paragraph to the reading prose.
  • 2026-10-10 - Added the Atomic Agent column (thirty-six to thirty-seven members), sorted between Ante and Bullet, with all twelve cells traced to the new note, added it to the auditable-client, local-models, and local-models-plus-MCP lists, added a subscription-axis sentence for its Claude Code and Codex CLI reuse, and added the small-model-bet paragraph to the reading prose.
  • 2026-10-12 - Recorded the rea.tools rejection in the long tail: morluto/rea is an MCP server plus skill pack for reverse engineering (109,906 stars as of 2026-10-12, 768-point thread on 2026-10-10), not a harness; returned for the skills and protocols categories.
  • 2026-10-12 - Resolved the orchestration deepagents flag in the long tail as not harnesses-kind: an agent-building SDK over LangGraph (30,140 stars as of 2026-10-12) whose terminal derivative dcode the retrieval LangChain note already covers, held under the owner-pending single-vendor SDK family question.
  • 2026-10-12 - Moved the Juggler hooks cell from “extension SDK only” to tool hooks (deny, hold, annotate) since v0.7.6 plus the extension SDK, against the v0.7.6 release notes.
  • 2026-10-13 - Extended from thirty-seven to thirty-nine columns with Avante.nvim (the Apache-2.0 Neovim agent plugin) and OmO (the source-available 70k-star senpi Pi fork), inserted in sorted positions, all twenty-four new cells traced to the new notes, intro count bumped.
  • 2026-10-13 - Corrected the Atomic Agent and Avante.nvim columns: the Avante.nvim insertion had placed each cell under the other’s header in all twelve rows (the Open client row, for example, showed Atomic Agent as a Neovim plugin), and every pair is now swapped back to its own column against the two notes.
  • 2026-10-13 - Extended from thirty-nine to forty-two columns with AutoDev (the MPL-2.0 Kotlin Multiplatform platform), gptme (the 2023-vintage MIT terminal agent), and LongHorizon-Harness (the Alibaba audited-loop wrapper), inserted in sorted positions, all thirty-six new cells traced to the new notes, intro count bumped, and the auditable-client, subscription-axis, local-models, rules-portability, and choosing lists updated.
  • 2026-10-18 - Moved the Cline cloud-execution cell from ✗ to a gradual rollout against the v4.1.25 release notes (Cline Cloud sessions, hosted sandbox tasks on a picked repo and branch that survive closing the editor), and updated the cloud prose and the scheduled-autonomy choosing line.
  • 2026-10-18 - Sharpened the Open Interpreter AGENTS.md and MCP cells from partial to supported against its README’s portability list (repository AGENTS.md, shared .agents/skills directories, MCP, with client and server docs pages), and added it to the rules-portability list.
  • 2026-10-21 - Repointed the Copilot CLI docs reference to its post-reorganization path (concepts/copilot-surfaces/copilot-cli), fetched at the new location.
  • 2026-10-21 - Extended from forty-two to forty-three columns with Mirror (Reflection’s Apache-2.0 terminal agent over its own open-weights Beam, per-workspace models and approval modes, worktree and microVM workspaces), inserted in sorted position with all twelve cells traced to its note, and added it to the open-client and local-model prose lists.
  • 2026-10-24 - Updated the LongHorizon-Harness reading paragraph after v0.1.8 (published October 21) ended the eight-week commit silence its column’s prose had named as the open question.

See also
#

References
#