10x Design in Claude Code and Codex

TL;DR
A decision-intent comparison of pi, Claude Code, OpenCode and Codex CLI as your main agentic coding harness in late 2026, with a verified capability matrix and pick-X-if verdicts.
Direct answer
A decision-intent comparison of pi, Claude Code, OpenCode and Codex CLI as your main agentic coding harness in late 2026, with a verified capability matrix and pick-X-if verdicts.
Best for
Developers comparing real tool tradeoffs before choosing a stack.
Covers
Verdict, tradeoffs, pricing signals, workflow fit, and related alternatives.
Last updated: August 23, 2026
This is part three of our pi series. Part one covered pi's minimal toolkit architecture and part two was a hands-on tour of run modes and session trees. Both ended the same way: fine, but would you make it your main agent? That question is only answerable against the incumbents. So this post compares pi against Claude Code, OpenCode, and Codex CLI on the things that decide a daily-driver choice: what each tool refuses to do, how far its model freedom goes, whether your subscription actually carries over, what it phones home, and what it costs when you lean on it hard.
Everything below was checked against official documentation, primary repositories, and the GitHub API on August 23, 2026. Where a capability is genuinely not documented anywhere official, the matrix says so rather than guessing.
| Source | What it covers |
|---|---|
| earendil-works/pi and pi.dev docs | pi repository (MIT), coding-agent docs, providers, sessions |
| Claude Code overview and docs index | Claude Code capabilities across terminal, IDE, desktop, web |
| Claude plans and pricing | Pro $20, Max 5x $100, Max 20x $200, usage limits FAQ |
| Claude Code data usage | Training policy, retention, telemetry opt-outs |
| OpenCode docs and GitHub (anomalyco/opencode) | Install, providers, agents, MCP, SDK; MIT license |
| OpenCode Go and Zen | The $10/month subscription and pay-as-you-go marketplace |
| Codex models and GPT-5.6 announcement | GPT-5.6 Sol/Terra/Luna tiers, plan availability, pricing |
| GitHub API reads, August 23, 2026 | Star, fork, release and license counts for all four repos |
pi is an MIT-licensed TypeScript monorepo from Earendil holding roughly 95,900 stars and 11,900 forks (GitHub API), at version v0.84.2 released August 14, 2026 after roughly one release per day since December 2025. Out of the box the model gets four tools (read, write, edit, bash), and the project's philosophy section explicitly refuses to build MCP support, sub-agents ("spawn pi instances via tmux"), permission popups, plan mode, built-in to-dos, and background bash. Extensions, skills, and packages fill those gaps if you want them filled - our hands-on guide walks the mechanics. Its session format is the differentiator: JSONL files where every entry points at a parent, so /tree, /fork, and /clone navigate real branches of a conversation (session-format docs). The community's own taxonomy from the August 4 Hacker News thread holds up: "Codex, Claude Code are VS Code, JetBrains. Pi is Neovim" (HN).
Claude Code is Anthropic's proprietary agent, shipped as a native binary plus VS Code, JetBrains, desktop, web, and mobile surfaces that all share one engine (overview). Its public GitHub repository shows 142,749 stars but carries no license file - the product itself is closed source (anthropics/claude-code). The orchestration stack is the deepest in the industry: subagents that run in the background by default and can spawn their own subagents (sub-agents, what's new week 24 and 27), agent teams with inter-agent messaging (agent teams), scriptable dynamic workflows (workflows), skills, plugins and marketplaces, hooks, MCP, cloud Routines, and an Agent SDK in TypeScript and Python (Agent SDK). Model coupling is total by design: you run Claude models (Fable, Opus 5, Sonnet 5, Haiku), and the enterprise routes through Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry change where inference runs, not whose models run (feature availability).
OpenCode is MIT-licensed, built by Anomaly (the SST team), and now the largest open-source agent in the category: 200,642 stars and 25,944 forks as of August 23, 2026 (GitHub API), up from the 160,000 we recorded in June in our OpenCode developer guide. Latest release v1.18.21 landed August 21, 2026. It ships a TUI, desktop app, and IDE extension (docs), brings your own keys for 75+ providers, and layers first-party billing on top: Zen, a curated pay-per-token model marketplace with zero markups, and Go, a $10-per-month subscription ($5 the first month) targeting roughly 6x usage value with documented caps of $12 per five hours, $30 weekly, and $60 monthly. Plan mode and build mode are built in via Tab, sessions live locally, and the extension surface covers plugins, custom tools, commands, formatters, themes, LSP servers, and MCP (configure section).
Codex CLI is OpenAI's open-source Rust agent: Apache-2.0, 115,076 stars (GitHub API), latest release rust-v0.149.0 on August 20, 2026. It matters right now because of what it runs: the GPT-5.6 family went generally available on July 9, 2026 with three durable tiers - Sol for complex work, Terra as the everyday workhorse, Luna for high-volume tasks (models doc; announcement). Plan availability is tiered: Free and Go ChatGPT users get Terra only, while Plus, Pro, Business, and Enterprise choose among all three, including the max reasoning effort in Codex (announcement). Two August wrinkles worth knowing before you standardize: GPT-5.4 and gpt-5.3-codex are deprecated under ChatGPT sign-in with retirement at the end of August (migration guide), and the documented 1M-token context window is currently capped much lower inside Codex clients - Sol at 272K in the bundled catalog, a gap tracked and closed-without-fix in issue #38917, with follow-up reports putting Terra and Luna at 872K (issue #39144).
One more entrant deserves a sentence: Vercel's fx, a Zig-based "Unix like coding agent" created August 11, 2026, already at 2,225 stars (vercel-labs/fx). The minimalist-harness lane pi opened is now crowded enough that new builds target it explicitly. We have not tested fx and exclude it from the matrix.
Every cell links or cites its basis. "Not documented" means we could not find official documentation as of August 23, 2026.
| Capability | pi | Claude Code | OpenCode | Codex CLI |
|---|---|---|---|---|
| License | MIT (repo) | Proprietary, no source license (repo) | MIT (repo) | Apache-2.0 (repo) |
| Stars, forks (Aug 23, 2026) | ~95,900 / 11,900 (API) | 142,749 on public repo (API) | 200,642 / 25,944 (API) | 115,076 / 17,550 (API) |
| Latest release | v0.84.2, Aug 14 (releases) | Native auto-updating channel; changelog (docs) | v1.18.21, Aug 21 (releases) | 0.149.0, Aug 20 (releases) |
| Install footprint | npm global package or curl installer; Node required (install docs) | Native installer, Homebrew, WinGet, npm; background auto-update (setup) | curl script, npm, Homebrew tap, choco/scoop/pacman, Docker (install) | npm package shipping a Rust binary (repo) |
| Model freedom | Widest: 3 subscription OAuth routes, ~30 API-key providers, local llama.cpp, mid-session switching with context handoff (providers) | Claude-family only; Bedrock/Vertex/Foundry change hosting, not vendor (model config) | BYO keys for 75+ providers; Zen marketplace; Go open-model subscription (providers) | GPT-5.6 family only under ChatGPT auth; Bedrock routing exists for enterprise (Bedrock guide) |
| Session branching/forking | Native design center: JSONL trees, /tree /fork /clone, branch summaries (session format) | Resume, branch and switch via /resume; checkpoint rewinds; fork mode default-on since mid-August (sessions, checkpointing, week 33) | Not documented; /undo and /redo revert code, not conversation shape (usage) | Headless resume supported; interactive tree navigation not documented (CLI) |
| Sub-agents | None by design; tmux, extensions, or packages like the Herdr family instead (philosophy) | Deepest stack: background subagents, nested subagents, agent teams, agent view, dynamic workflows, ultrareview (agents comparison) | Custom agent definitions with primary and subagent roles; plan/build modes built in (agents) | No interactive sub-agent UI documented in the CLI; multi-agent concurrency exists as an API beta (GPT-5.6) |
| MCP support | Refused by design; bridge via community extensions (philosophy, our analysis) | First-class client, channels reference, SDK tool search (MCP) | Documented MCP server configuration (MCP servers) | Configured via config.toml profile MCP overrides (migration guide) |
| Extensibility | TypeScript extensions via jiti, skills, prompts, themes, npm/git packages (extensions) | CLAUDE.md, Agent Skills, hooks, plugins and marketplaces, output styles, statusline (extend) | Plugins, custom tools, commands, formatters, themes, keybinds, LSP servers (configure) | config.toml profiles and AGENTS.md rules; thinner than the others (profiles guide) |
| Scripting/SDK surface | Four modes: print, JSON events, RPC over stdio, in-process TS SDK (SDK, RPC) | Headless claude -p, TypeScript and Python Agent SDK, deep links, HTTP hooks (headless) | opencode run CLI plus a server and SDK (SDK, server) | codex exec headless mode and config automation (Codex docs) |
| Subscription reuse | Yes, conditionally: ChatGPT Plus/Pro officially endorsed; Claude Pro/Max OAuth bills third-party harness use per token from extra usage, not plan limits (providers doc, our warning) | Its own subscription IS the product; Pro/Max pools shared with claude.ai chat and every surface (pricing FAQ) | Own billing only (Go/Zen); reuse of Claude or ChatGPT subscriptions not offered (Go docs) | ChatGPT plan IS the access tier: Free/Go get Terra; Plus and up get Sol/Terra/Luna (models) |
| Team features | Not documented; solo-project DNA, sharp-edged contribution governance (repo README) | Team/Enterprise plans, managed settings, analytics dashboard, gateway spend limits, ZDR (admin setup, analytics) | An Enterprise docs page covers organizational controls (enterprise) | Business and Enterprise plan tiers with workspace credits (plans) |
| Privacy and telemetry | Sessions are plain local JSONL you can parse yourself; no hosted analytics pipeline ships in the repo (session format, telemetry contracts) | Metrics on by default (DISABLE_TELEMETRY=1 opts out); error reports on for Pro/Max sign-ins v2.1.198+; consumer training toggle sets 5-year vs 30-day retention; plaintext local transcripts 30 days; WebFetch hostname preflight always runs (data usage) | Local SQLite sessions, sharing strictly opt-in via /share; Zen documents per-provider zero-retention deals, DeepSeek renewed monthly through August 31, 2026 (share, Go docs) | Governed by OpenAI terms under ChatGPT auth; not independently audited for this post; Bedrock route keeps prompts out of training (Bedrock guide) |
| Cost profile | Free harness, BYO tokens; measured among the cheapest per-task harnesses in a Databricks-run benchmark we analyzed (cost analysis) | Pro $20 ($17 annual), Max 5x $100, Max 20x $200, shared pool, overflow via API-rate usage credits (pricing, help center) | Free app plus model spend; Go $10/month with published caps; Zen pay-per-token at zero markup (Go, Zen) | Plan quotas or API rates: Sol $5/$30, Terra $2/$12, Luna $0.20/$1.20 per 1M tokens after July 30 cuts; Sol cut further over 20% on August 21 for three months (GPT-5.6 updates, price post) |
From the archive
Aug 23, 2026 • 7 min read
Aug 23, 2026 • 9 min read
Aug 22, 2026 • 7 min read
Aug 22, 2026 • 12 min read
Model freedom vs model depth. pi will happily run Fable 5, then GPT-5.6 Terra, then a local llama.cpp model in one session, converting thinking traces across providers as it goes (origin writeup). OpenCode gets you the same breadth through provider keys but without pi's mid-session handoff polish. Claude Code and Codex are walled gardens on purpose - and both walls are currently defensible, because Opus 5 (default since July) and GPT-5.6 Sol sit at the top of independent coding indexes (Artificial Analysis, via OpenAI). You are trading optionality for a tuned loop either way.
The subscription-reuse trap. This is the row most people get wrong. pi accepts your Claude credentials through OAuth, but the providers documentation states plainly that third-party harness usage draws from extra usage billed per token, not against Claude plan limits. Your Max subscription does not follow you into pi. The ChatGPT route is different: OpenAI officially endorses pi's Codex-based login through its Codex for OSS program. Meanwhile Claude Code and Codex treat their subscriptions as the whole point, and OpenCode sells you its own cheaper rails instead.
Orchestration is a spectrum, not a checkbox. Claude Code ships backgrounded nested subagents, teams with messaging, and rerunnable workflows (agents). OpenCode gives you structured primary/subagent definitions. Codex pushes parallelism outward into cloud tasks and headless fleets rather than in-session spawning. pi refuses the entire category and hands you tmux - which, as we found in the Herdr comparison, is more observable but entirely on you.
Session trees are becoming table stakes, three ways. pi's branching JSONL remains the purest expression: alternatives live in one file you can parse in twenty lines (session format). Claude Code responded with branchable, fork-default sessions and checkpoint rewinds (sessions, week 33) - closed format, capable UI. OpenCode and Codex CLI have nothing comparable documented today.
Telemetry posture is now a selection criterion. Anthropic documents an unusually detailed telemetry surface: metrics on by default, error reporting on for subscription sign-ins, a consumer training toggle that flips retention between 30 days and 5 years, and a WebFetch hostname check that always runs (data usage). Everything has named opt-outs, which is better than most, but the defaults are chatty. pi keeps everything in local plain-text JSONL by construction. For proprietary code under compliance pressure, this row alone can make the decision.
You are a developer who wants to own the harness. Concretely: you want one agent loop across any provider including local models, sessions as inspectable files, scripting surfaces from one-liners to an embedded SDK, and you accept assembling permissions (containers), sub-agents (tmux or packages), and todos yourself. The Neovim tax is real - expect to spend an evening on extensions and to pin versions on a pre-1.0 project shipping near-daily (releases). The payoff is a tool nobody can take away from you and the lowest measured cost per task in its benchmark class.
Your work is long-horizon surgery on one large codebase, and you want the machine to handle orchestration, not configure it. Skills encode your team's repeated workflows, agent teams fan out coordinated work, routines automate the boring loops, and every surface from phone to CI shares one engine (overview). You pay for that with model lock-in, a shared quota pool that chat competes with (pricing FAQ), and the most instrumented telemetry defaults in this comparison (data usage).
You want an open-source, model-agnostic main agent with product polish and predictable costs. It sits deliberately between pi and Claude Code: more batteries than pi (plan mode, undo, LSP integration, MCP), more freedom than Claude Code (75+ providers, MIT), and first-party pricing that undersells both - $10 a month on Go for capped open-model usage, or Zen at token-plus-nothing (Go). Our developer guide covers setup end to end. Choose it over pi when you want features preassembled; choose it over Claude Code when vendor or price lock-in is the deciding factor.
You already pay for ChatGPT Plus or above and your bottleneck is supervising many concurrent agents rather than depth in one session. Worktree isolation, delegated cloud tasks, and codex exec make it the strongest fan-out harness here (our field notes), and the GPT-5.6 price cuts made its quota stretch further in July and again on August 21 (price post). Verify context-window behavior against your workload before committing - the client caps are not yet what the marketing pages imply (issue #38917).
Be honest about fit before migrating. Stay put if: your team runs on managed settings, analytics, gateway spend limits, or zero-data-retention agreements - none of which the open tools document equivalents for (admin setup); your workflows are encoded in skills and hooks that assume Claude-model behavior; your repos are large enough that long-context coherence is the binding constraint; or you simply cannot spend configuration hours, because pi's flexibility is purchased exactly there. A harness migration is a week of friction for a capability delta you may not need - the correct move for most Claude Code shops is running pi or OpenCode as a second, cheap, scripted lane before considering a divorce.
Ready, with conditions. It drives real production work for its ecosystem - distributions like LazyPi and oh-my-pi exist because people run it daily (HN minimalism thread) - but it is pre-1.0, moves at nearly a release a day, and expects you to assemble safety and orchestration. If you want software, not a kit, it will feel unfinished.
ChatGPT Plus/Pro: yes, officially endorsed via the Codex OSS program. Claude Pro/Max: technically yes through /login, but the docs state usage draws from extra usage billed per token, not your plan allowance (providers doc). Budget accordingly - this surprises people at invoice time.
Order of magnitude, cheapest first for comparable volume: pi on discount API providers or local models, OpenCode Go at $10/month with published caps, Codex on post-cut Luna/Terra rates, then Claude Code Max tiers (matrix above). But raw token price is not cost per task - pi's lean context repeatedly measured cheapest per completed task in the benchmark we analyzed (cost post), and a harness that burns half the tokens can beat a bigger subscription.
Not yet in open form. Claude Code now branches and forks sessions with checkpoints, which covers the interactive workflow (sessions), but its transcript format is not a documented, user-parseable tree. OpenCode and Codex CLI document resume but not alternative-branch exploration. If forking experiments is how you think, pi is still the reference implementation.
A new minimalist entry: Zig, Unix-style composition, repository created August 11, 2026, 2,225 stars by August 23 (vercel-labs/fx). It validates the lane pi opened but is too young for this matrix - no track record, no extension ecosystem, no pricing story yet. Watch it; do not standardize on it.
That depends on your data. The behaviors are documented and individually opt-out-able: metrics, error reports on subscription sign-ins, feedback retention measured in years, and an always-on hostname preflight for WebFetch (data usage). Commercial terms exclude your code from training, and ZDR exists for qualified enterprises. If even documented defaults are unacceptable for your repos, pi's local-JSONL posture or OpenCode's local-first sessions are the cleaner answers - just lose the features you traded away.
For regulated or larger engineering orgs: Claude Code, because team controls, deployment plumbing, and compliance paperwork are actual products there (admin setup). For startups and open-source teams: OpenCode or Codex on price and flexibility. Standardize on pi only if at least one engineer owns the harness as part of their job - it rewards an owner and punishes a vacuum.
Mostly, and that is the design bet. The README's own list includes community-built sub-agents, plan mode, permission gates, and MCP bridges (customization), and our hands-on guide verified working examples from sandbox policies to Herdr worker fleets. What extensions do not close well today is turnkey sandboxing - the community calls third-party options half-baked (HN) - so containerize properly rather than improvising.
That closes the series. Start with pi's architecture to understand why the minimal bet exists, work through run modes and session trees to feel the difference in your own terminal, then use this post to decide whether pi becomes your main agent, your second agent, or a philosophy you borrow ideas from. When you do run multiple agents side by side, Herdr vs pi vs tmux covers the layer above them all, and the broader four-way harness shoot-out remains the map if Cursor enters your picture.
Read next
How a one-developer protest against bloated coding harnesses became a 95,000-star agent toolkit: pi's five-package architecture, branching JSONL session trees, four run modes, and the philosophy that refuses to build sub-agents, plan mode, or MCP.
10 min readThe practical guide to earendil-works/pi: verified install and auth steps, all four run modes from TUI to SDK, JSONL session trees with branch, fork and resume, and the rough edges nobody advertises.
10 min readFour agents, same tasks. Honest trade-offs from a developer shipping production apps with all of them.
10 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
A hosted infinite canvas your headless AI agents drive over MCP. Any MCP-speaking agent - Claude Code, Codex, Cursor, or...
View ToolAnthropic's agentic coding CLI. Runs in your terminal, edits files autonomously, spawns sub-agents, and maintains memory...
View ToolInteractive TUI dashboard that shows exactly where your Claude Code and Cursor tokens are going, in real time.
View ToolAnthropic's flagship reasoning model. Best-in-class for coding, long-context analysis, and agentic workflows. 1M token c...
View ToolEvery coding agent in one window. Stop alt-tabbing between Claude, Codex, and Cursor.
View AppUnlock pro skills and share private collections with your team.
View AppPick the hooks you want, get a settings.json you can paste in.
View AppDeep comparison of the top AI agent frameworks - LangGraph, CrewAI, Mastra, CopilotKit, AutoGen, and Claude Code.
AI AgentsInstall Claude Code, configure your first project, and start shipping code with AI in under 5 minutes.
Getting StartedDefine custom subagent types within your project's memory layer.
Claude Code
In this video, we dive into Anthropic's newly launched Cowork, a user-friendly extension of Claude Code designed to streamline work for both developers and non-developers. This discussion includes an

Check out Zed here! https://zed.dev In this video, we dive into Zed, a robust open source code editor that has recently introduced the Agent Client Protocol. This new open standard allows...

Try Higgsfield: https://higgsfield.ai/s/higgsfield-general-campaign-developersdigest-juDMTi AI coding agents can build entire websites in minutes, but the default results often still look generic and...

How a one-developer protest against bloated coding harnesses became a 95,000-star agent toolkit: pi's five-package archi...

The practical guide to earendil-works/pi: verified install and auth steps, all four run modes from TUI to SDK, JSONL ses...

Four agents, same tasks. Honest trade-offs from a developer shipping production apps with all of them.

OpenCode is the fastest-growing open-source AI coding agent - 160K GitHub stars, 7.5M monthly users, 75+ model providers...

An Ask HN reply asked what Herdr fills that pi and plain tmux scripts don't already cover. We compared all three against...

Google's Antigravity CLI replaced Gemini CLI on June 18, 2026. Here is how it compares to Claude Code and Codex on archi...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.