Compare

Orrery next to Pi, Codex, Claude Code and OpenCode.

Five good agent harnesses. This is where they differ, feature by feature, so you can pick the one that fits how you work.

Checked against each project's docs, October 2026Out of date? Open an issue
Best in the rowYesPartly, or with a catchNo

Sources: Pi · Codex CLI · Codex app · Claude Code · Claude Code deployment · OpenCode permissions · OpenCode plugins. Orrery's row comes from its own repository. "Not yet" and "not published yet" mean it is planned, not shipped.

Where Orrery is different

Yours, down to the parts.

Extensions in any language

Rust, any Wasm language, Node, Python or a plain process, behind one manifest and one set of grants. The others pick the language for you.

Every part is a part

The built-in harness is made of the same parts you get: providers, tools, memory, permissions, commands, the UI. The loop itself is next.

The file is the setup

Every command writes a key in config.toml, and that key alone does the same thing. Nothing hidden to carry between machines.

Any model, one policy

Anthropic, OpenAI, Gemini or a model on your own machine, all behind the same allow, ask or deny rules.

The verdict

Pick Orrery when the harness matters.

The pick

Orrery

Choose it when the harness itself matters: you want to shape it, run any model in it, and keep it light.

  • Fast and lightOne native Rust binary. No Node or Python runtime to start or to keep in memory.
  • Extensible at every levelProviders, tools, memory, permissions, commands, the UI, in any language.
  • One standard UIThe whole screen goes over AG-UI, so the TUI, the ADE, the web or your own client draw the same thing.
  • Any model, one policyBuilt-in providers or your own, all behind the same allow, ask and deny rules.
Or choose another if…

Pi

You want a tiny TypeScript core and a large package ecosystem around it.

Runs on Node. Extensions in TypeScript only; no permission prompts or sub-agents built in.

Codex

You use OpenAI models and plan to stay with them.

Other providers only through config; you extend it with skills, plugins and MCP.

Claude Code

You only use Claude models, and want them in the terminal, IDE, desktop, web and phone.

Claude models only, under a proprietary licence.

OpenCode

You want many providers and language servers built in, in TypeScript.

Most tools are allowed by default; plugins in JavaScript or TypeScript.