Skip to content
Research · runtime comparisonnew · Fable 5.2updated 2026-11-10

ZCode vs Codex vs Claude Code: What each runtime can actually do.

Claude Code, Codex, and ZCode compared across 17 capabilities — compiled from each runtime's own changelogs and self-reports. Not a benchmark: a record of what the currently profiled runtimes expose today.

claude codev2.1.322
Fable 5.2 · Opus 5.5 · Sonnet 5.5 · Haiku 5.5 · ~1M context · checked 2026-11-10
checked in this refresh
codexCLI 0.165.0
GPT-6 Astra, GPT-6.1 Sol, GPT-6.1 Terra, GPT-6 Sol, and GPT-6 Luna · 272K–500K catalog windows · checked 2026-10-29
12 days before this refresh · column owner re-checks
zcode3.14.5
GLM-5.3 · 1M declared · checked 2026-10-09
32 days before this refresh · column owner re-checks
01Core capability matrix17 capabilities · 03 of 03 runtimes

Seventeen capabilities, three columns.

Status at a glance; hover a status for the record's own words. Each runtime updates only its own column.

changed since 2026-10-14

17 cells · 01 status word · 03 strengths
new in this refreshFable 5.2
model id
claude-fable-5-2
released
2026-11-09
api rate
$8/$40 per MTok
cache reads
$0.20/MTok
claude code default since
v2.1.321

in the claude code column · Parallel agent teams · Context window · Cost model · Cost profile (strengths)

claude code

08 changes
versionv2.1.300 to v2.1.322
  • Spawn subagents, 86 words added, 1 removed

    restarts and resumes the session removed: (v2.1.299). added: (v2.1.299); CLAUDE_CODE_SUBAGENT_EFFORT sets the effort for subagents that name none (v2.1.316), forks launched together are each told which launch is theirs (v2.1.307), and a subagent that inherited a parent subagent’s model keeps it when a background job or message wakes it (v2.1.316); since v2.1.317 a subagent on a different model from the main conversation runs at that model’s saved effort level or its default instead of the session’s, and a message to a running background agent arrives sooner, moving the agent’s running command to the background.

  • Parallel agent teams, 1 words added, 1 removed

    on the current lineup (Fable removed: 5.1, added: 5.2, Opus 5.5, Sonnet 5.5); a

  • File system access, 72 words added, 1 removed

    not by its in-tree path removed: (v2.1.280). added: (v2.1.280); permissions.blockWritesOutsideWorkingDirectories makes Write, Edit and NotebookEdit refuse paths outside the working directories in every permission mode (v2.1.314), and Write asks to read a very large CLAUDE.md, rules or @-included file in full before overwriting it (v2.1.312); since v2.1.321 deny rules and protected-file prompts also apply to the file a cp or mv into a directory writes, and cp and mv spelled by a path such as /bin/cp get the same checks.

  • Interactive mode, 98 words added, 1 removed

    and Remote Control from claude.ai removed: web/mobile. added: web/mobile; /auto-mode-setup reads the project and recent sessions to teach auto mode about the environment (v2.1.304), a conversation too long for the server-side safety check is compacted instead of every checked call being denied (v2.1.302), CLAUDE_CODE_AUTO_MODE_MODEL picks the client-side classifier’s model (v2.1.302), and a blocked call’s message names the command and points to /permissions (v2.1.314); permissions.denyInsteadOfPrompting denies a call that would wait on a permission prompt and lets the turn continue, in terminal sessions, subagents and teammates (v2.1.319), and a shell command that holds the account’s email address and names a User-Agent is refused (v2.1.317, narrowed in v2.1.321).

  • Context window, 109 words added, 2 removed

    across the current lineup (Fable removed: 5.1, added: 5.2, Opus 5.5, Sonnet 5.5, Haiku this off; CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS moves the removed: floor). added: floor; an Idle compaction row in /config turns it off since v2.1.302, and it also runs in VS Code and the desktop app since v2.1.314); since v2.1.304 compaction re-sends the skill list afterwards, since v2.1.311 MEMORY.md and CLAUDE.md edited earlier in the session are no longer seen stale right after compaction, and a standard-context session whose request passes 200K tokens compacts and continues instead of stopping (v2.1.311); since v2.1.317 reading an unchanged file again returns its content instead of a stub, and since v2.1.319 /context gives Claude only its table, each list capped at its 10 largest rows, instead of re-sending its visual grid on every later turn.

  • Cost model, 82 words added, 7 removed

    thinking-mode changes since v2.1.280); Fable removed: 5.1 added: 5.2 API rate is removed: $10/$50 added: $8/$40 per MTok with removed: $0.25/MTok added: $0.20/MTok cache reads removed: (2.5× added: (2× Opus 5.5’s removed: $4/$20 added: $4/$20, whose cache reads are also $0.20/MTok; Fable 5.1 was $10/$50 with removed: $0.20/MTok added: $0.25/MTok cache reads; Sonnet 5.5 is to 100K tokens and $0.50/$2.50 removed: above). added: above); on Pro and Max plans resuming an inactive conversation warns when it would use a noticeable share of the 5-hour usage limit (v2.1.304; the window is named the "5-hour limit" since v2.1.312), ultrathink runs its turn at xhigh effort on the current lineup (v2.1.311; CLAUDE_CODE_DISABLE_ULTRATHINK turns the keyword off, v2.1.316), and fast mode on Opus 4.8 is deprecated as of 2026-10-30 and removed 2026-11-30 (v2.1.316).

  • Sandbox restrictions, 87 words added, 1 removed

    sandbox even when sandbox.allowUnsandboxedCommands: false removed: (v2.1.260). added: (v2.1.260); since v2.1.309 the shell’s startup files run inside the sandbox too and macOS denyWrite globs apply at a path’s real location when the pattern’s folder is reached through a symlink; sandbox.allowNestedUserNamespaces lets sandboxed commands on Linux create user namespaces, which also lets them around the file protections (v2.1.305); v2.1.319 closed a sandbox escape when creating a worktree (a plain git worktree add still runs sandboxed, observed on v2.1.322), and v2.1.321 closed a case where a read-only Bash command ran outside the sandbox without a permission prompt.

  • Cost profilestrengths, 2 words added, 2 removed

    subagents, opus for complex, Fable removed: 5.1 added: 5.2 at removed: 2.5× added: 2× Opus 5.5 API rates for

codex

12 changes
versionCLI 0.153.4 to CLI 0.165.0
  • Parallel agent teams, rewritten, 23 words

    Native delegation, task dashboard, queue and mentions; multi-agent V2 remains optional. No verified shared team/task-list primitive; native coordination does not grant protocol authority.

  • MCP tools, rewritten, 25 words

    MCP/plugins, scoped output limits, parallel read-only calls, remote marketplaces and Enterprise authentication; supported cancellation reaches remote MCP calls. Discovery, credentials and account access remain configuration-dependent.

  • File system access, 2 words added, 6 removed

    Policy-dependent per session; added: beta named permission profiles can include managed deny-read removed: rules that persist across permission changes, added: rules, and untrusted projects do not

  • Git operations, rewritten, 24 words

    Native Git and managed-worktree creation/listing; primary-folder ownership applies. Session archive/delete does not by itself establish checkout removal; verify Git registration and directory cleanup separately.

  • GitHub CLI (gh), rewritten, 8 words

    Via shell; credentials and repository authorization are configuration-dependent.

  • Session memory, rewritten, 31 words

    Generated local memories, with memory v2 the implementation default for fresh profiles; enablement and imports are separate controls. Generated recall and experimental task notes/history search do not replace OACP durable memory.

  • Interactive mode, rewritten, 26 words

    Desktop and CLI/TUI, Plan/Goal modes, task organization, asynchronous text questions when exposed, immediate steering and nested-tool interruption; optional desktop composer predictions produce drafts for user submission.

  • Context windowstatus · 272K catalog to 272K–500K catalog, rewritten, 41 words

    Astra, GPT-6.1 Sol/Terra and GPT-6 Sol/Luna list 1.05M API context / 128K maximum output. Codex docs give Sol a 500K default; the October 29 catalog declares Sol/Terra 500K and Astra/previous Sol/Luna 272K, each 95% usable. These are declarations, not maximum-context tests.

  • Cost model, 13 words added, 20 removed

    ChatGPT usage/credits and API removed: token billing are removed: separate; eligible sessions can show estimates. added: separate. Standard API input / cached input / output per removed: MTok at added: MTok, up to 272K input: Astra removed: $10/$1/$50, added: $10/$1/$50; GPT-6.1 Sol removed: $2/$0.10/$10, added: $2/$0.10/$10; Terra $1/$0.05/$5; previous removed: GPT-6 Sol removed: $2/$0.20/$10, GPT-6 added: $2/$0.20/$10; Luna $0.10/$0.01/$0.50. removed: Longer prompts, cache writes, added: Cache retention, long input and speed tiers removed: have separate added: change API rates.

  • Sandbox restrictions, rewritten, 34 words

    Beta permission profiles, managed deny-read rules, trust-gated instructions and isolated execution. Resume restores thread permissions subject to explicit overrides and managed policy; supported credential masking is configuration-dependent. Runtime approval does not grant OACP authority.

  • Best atstrengths, rewritten, 30 words

    Terminal execution and patching, Astra for demanding workflows, GPT-6.1 Sol for complex repeated work, Terra for writing/visual/app tasks, Luna for focused high-volume work; native delegation, browser verification and artifact review.

  • Cost profilestrengths, rewritten, 35 words

    Astra targets the hardest work; GPT-6.1 Sol balances capability and cost; Terra and Luna target efficient bounded work. Included subscription usage, purchased credits and API rates are different measures; compare actual tasks before changing defaults.

zcode · no cell changed · 3.14.5, checked 2026-10-09, 32 days before this refreshThe head-to-head pairs below compute from this refresh's status words. Tinted words were added to the record, struck words removed; every word is the record’s own, and the word counts are computed from the same diff.
comparing
show
hover or tap a status for the record's words
Orchestration
Spawn background tasks
Spawn subagents
Parallel agent teams
Web & tools
MCP tools
Web search
URL fetch (no browser)
Browser interaction
Workspace
File system access
Multi-folder projects
Git operations
GitHub CLI (gh)
Sessions
Session memory
Interactive mode
Plan mode
Limits & cost
Context window
Cost model
Sandbox restrictions

Compiled from each runtime's self-report and current runtime changelogs. Claude checked against Claude Code v2.1.322 with claude-opus-5-5 (2026-11-10); Codex against stable CLI 0.165.0, GPT-6 Astra, GPT-6.1 Sol, GPT-6.1 Terra, GPT-6 Sol, and GPT-6 Luna (2026-10-29); ZCode 3.14.5 as a live in-session self-report (2026-10-09, re-verified same day).

02Head to head03 pairs · computed from the matrix

Two at a time, where they differ.

Each pair's differing rows, read straight off the matrix above — when a column updates, these update with it.

zcode vs codex11 of 17 the same

What is the difference between ZCode and Codex?

ZCode and Codex report the same status on 11 of the 17 capabilities compared. They differ on 6:

Capabilities where ZCode and Codex differ
capabilityZCodeCodex
Browser interactionyesconfig-dep
File system accessgatedpolicy-dep
Multi-folder projectsmanualyes
Context window1M declared272K–500K catalog
Cost modeltoken-basedpartial
Sandbox restrictionsyessession-dep
zcode vs claude code13 of 17 the same

What is the difference between ZCode and Claude Code?

ZCode and Claude Code report the same status on 13 of the 17 capabilities compared. They differ on 4:

Capabilities where ZCode and Claude Code differ
capabilityZCodeClaude Code
Parallel agent teamspartialyes
File system accessgatedsandboxed
Session memorypartialstrong
Context window1M declared~1M
claude code vs codex09 of 17 the same

What is the difference between Claude Code and Codex?

Claude Code and Codex report the same status on 9 of the 17 capabilities compared. They differ on 8:

Capabilities where Claude Code and Codex differ
capabilityClaude CodeCodex
Parallel agent teamsyespartial
Browser interactionyesconfig-dep
File system accesssandboxedpolicy-dep
Multi-folder projectsmanualyes
Session memorystrongpartial
Context window~1M272K–500K catalog
Cost modeltoken-basedpartial
Sandbox restrictionsyessession-dep
03Strengths03 runtimes

Where each one is strongest.

Best-at, ideal task type, and cost profile — the summary the dispatch decision actually uses.

claudeclaude code cli
best at

Orchestration, multi-agent teams, persistent memory, plan-then-execute.

ideal task type

Team coordination, complex multi-file refactors, long-running sessions.

cost profile, changed since 2026-10-14

Flexible (Haiku 5.5 subagents at $0.10/$0.50 per MTok for cheap tasks, Sonnet 5.5 at half Opus 5.5’s API rate for routine review and research subagents, opus for complex, Fable 5.2 at 2× Opus 5.5 API rates for the hardest work).

codexdesktop app
best at, changed since 2026-10-14

Terminal execution and patching, Astra for demanding workflows, GPT-6.1 Sol for complex repeated work, Terra for writing/visual/app tasks, Luna for focused high-volume work; native delegation, browser verification and artifact review.

ideal task type

Complex workflows spanning code, browser, and documents; shell-heavy implementation, targeted edits, PR follow-up, artifact review, cloud follow-up, and app-server prototypes; asynchronous clarification can keep independent work moving.

cost profile, changed since 2026-10-14

Astra targets the hardest work; GPT-6.1 Sol balances capability and cost; Terra and Luna target efficient bounded work. Included subscription usage, purchased credits and API rates are different measures; compare actual tasks before changing defaults.

zcodedesktop app
best at

Agentic coding with GLM-5.3, script-orchestrated multi-agent workflows, plugin-driven browser and desktop automation, office document production, scheduled and idle-time automations.

ideal task type

Full-stack coding with GUI verification, document generation pipelines (PDF/Office), typed multi-agent workflow orchestration, cross-session handoff workflows, MCP integrations.

cost profile

Token-based; details not surfaced in-session (unverified).

04Parity gaps05 gaps · actionable

Where one runtime's limit blocks the loop.

The highest-impact gaps, each with its proposed fix. A gap without a fix is a complaint.

No shared team/task-list primitive

codex · zcode

Codex adds a task dashboard, queue, mentions, and parallel delegation but still lacks Claude-style named teammates and shared task lists (the latter opt-in on current Claude models); ZCode has concurrent subagents and agent-to-agent messaging but no shared team primitive.

fix → Agent cards — let runtimes discover and delegate to capable peers.

Memory asymmetry

codex (partial) · zcode (handoff only)

Cross-session context degrades without a MEMORY.md equivalent.

fix → Standardize memory protocol; each runtime implements its own persistence layer.

Sandbox blocks git/gh

claude

Every git/gh call needs sandbox configuration.

fix → Configure sandbox allowlists (excludedCommands globs such as git *, gh *; since v2.1.277 a compound command is exempt only when every part matches, so run git/gh as single commands) or disable sandbox for specific commands.

Full browser automation gap

claude without the Chrome extension · codex without a configured surface

Claude falls back to read-only WebFetch when the extension is absent or the session is API-key-authenticated; Codex browser control depends on an enabled surface and an approved context.

fix → Install the Claude in Chrome extension (/chrome), or delegate to a browser-capable runtime (configured Codex, or ZCode) after privacy review.

Public skill coverage

zcode

kiloloop/oacp-skills ships claude/ and codex/ variants for all 5 public skills; no zcode/ variants — ZCode users must rely on convention-based adoption.

fix → Add zcode/ variants to each public skill, or document the convention-based pattern as a first-class install path.

05The full record08 sections · 01 file

The page is the digest. The file is the record.

Five more sections live in the repository — versioned, diffable, and updated by the changelog skills, not by hand.

§2Distinctive capabilities25 rows
§3Public OACP skills coverage5 skills × 3 runtimes
§5Known limitations7 dimensions
§7Additional dimensions16 rows
§8Source notesfull provenance

Each runtime should update only its own column. Discrepancies should be resolved by the runtime owner.