the directory
Every harness we know about.
One page each, and filters that match the way you’d actually choose: what it’s written in, how it lands on your machine, who stops a tool call, how you extend it, whether you can put it inside your own product.
Where we haven’t established a fact yet, the row says so. We’d rather show you a blank than a guess.
Install names in this category are a minefield. Three of the twelve publish under a name that isn’t their own, and in two cases the obvious package belongs to somebody else entirely. We print the command that actually installs the thing, and where no canonical one-liner exists we print the channels instead of inventing one.
12 of 12
Grok CLI
superagent-aiMITsuperagent-ai/grok-cliCommunity-built terminal agent for the Grok API, not affiliated with xAI. Publishes as grok-dev, because the npm package named grok-cli belongs to an unrelated project.
language: TypeScriptships as: npm package, Single binarywhat it can enforce: not recordedout of the box: not recordedextends via: Skills and MCP, Subagents, Hooksembeds via: Headless CLIruntime: Bunlicence: MITClaude Code
AnthropicProprietary, all rights reservedanthropics/claude-codeAnthropic's terminal coding agent, and the only harness in this directory that is not open source. Arrives as a native binary; the repository holds docs and issues, not source.
language: TypeScriptships as: Single binarywhat it can enforce: Gate in the harness, OS sandboxout of the box: not recordedextends via: Skills and MCP, Subagents, Hooksembeds via: Headless CLIruntime: Bunlicence: ProprietaryCodex CLI
OpenAIApache-2.0openai/codexOpenAI's terminal coding agent, written in Rust. The non-interactive path is codex exec, which emits JSONL.
language: Rustships as: npm package, Single binarywhat it can enforce: Gate in the harness, OS sandboxout of the box: not recordedextends via: Skills and MCPembeds via: Headless CLIruntime: Nativelicence: Apache-2.0Pi
Earendil WorksMITearendil-works/pimeasuredA small coding-agent kernel in TypeScript on Bun, extended at runtime by loading its own code. Ships no permission gate by design.
language: TypeScriptships as: npm package, Single binarywhat it can enforce: None by designout of the box: Open by defaultextends via: Self-extension at runtimeembeds via: Import the library, RPC or JSON streamruntime: Bun, Nodelicence: MITfx
Vercel LabsApache-2.0vercel-labs/fxmeasuredA whole coding agent in one Zig binary with no runtime to install, plus a WebAssembly build that drops the same core into a JavaScript host. Permissions are enforced inside the harness.
language: Zigships as: Single binarywhat it can enforce: Gate in the harnessout of the box: Gated by defaultextends via: Skills and MCP, Subagentsembeds via: WASM and ACPruntime: Nativelicence: Apache-2.0Hermes Agent
Nous ResearchMITNousResearch/hermes-agentTerminal coding agent from Nous Research. Its gate is unusual: a model decides whether a command needs a human, and only shell commands that trip a risk detector are checked at all.
language: Pythonships as: Install script (clone and build)what it can enforce: Gate in the harnessout of the box: Gated by defaultextends via: not recordedembeds via: not recordedruntime: Pythonlicence: MITOpenCode
AnomalyMITanomalyco/opencodeTerminal coding CLI with a desktop app beside it. The scriptable path is opencode run with JSON output. Lives at anomalyco/opencode; the similarly named Go project is somebody else's, and archived.
language: TypeScriptships as: npm package, Single binarywhat it can enforce: Gate in the harnessout of the box: not recordedextends via: not recordedembeds via: Headless CLIruntime: Bunlicence: MIToh-my-pi
can1357MITcan1357/oh-my-piA fork of pi that adds an agent hub and a wall of live sessions. Its workers are copies of itself rather than other people's CLIs.
language: TypeScriptships as: npm package, Single binarywhat it can enforce: Gate in the harnessout of the box: Open by defaultextends via: Subagentsembeds via: not recordedruntime: Bunlicence: MITGrok Build
xAIApache-2.0xai-org/grok-buildxAI's official Grok Build CLI, written in Rust. The headless path is grok --single with a chosen output format. A separate product from the community-built grok-cli.
language: Rustships as: Single binarywhat it can enforce: Gate in the harness, OS sandboxout of the box: not recordedextends via: not recordedembeds via: Headless CLIruntime: Nativelicence: Apache-2.0Gemini CLI
GoogleApache-2.0google-gemini/gemini-cliGoogle's Apache-2.0 Gemini terminal CLI, in TypeScript on Node. Scriptable through gemini -p with JSON output.
language: TypeScriptships as: npm packagewhat it can enforce: Gate in the harness, OS sandboxout of the box: not recordedextends via: not recordedembeds via: Headless CLIruntime: Nodelicence: Apache-2.0Deep Agents
LangChainMITlangchain-ai/deepagentsmeasuredA LangChain harness you import rather than run: a small middleware core you compose, on a LangGraph runtime for durable execution, streaming and a human in the loop. Model-agnostic, with a JavaScript sibling in its own repository.
language: Pythonships as: pip packagewhat it can enforce: Declarative filesystem rulesout of the box: not recordedextends via: Middleware stack, Skills and MCP, Subagentsembeds via: Import the libraryruntime: LangGraphlicence: MITHeadlong
Laude InstituteApache-2.0laude-institute/headlongAn agent microharness written in Bash, built around persistent agency: the agent keeps thinking between interactions, and a message lands in its thought stream as one more observation rather than starting a session. Shell commands sandbox into a Docker container when one is available.
language: Bashships as: Install script (clone and build)what it can enforce: Container sandboxout of the box: Sandboxed by defaultextends via: not recordedembeds via: not recordedruntime: Bashlicence: Apache-2.0