Skip to content
Signalcraft
日本語

← Back to Signalcraft

Investigating the Difference Between Codex and OpenCode

Investigating the Difference Between Codex and OpenCode

Listing Codex and OpenCode by product name produces a coarse comparison.

The same model name can produce different results because context, tools, permissions, retries, and instruction loading differ.

This note separates models, reasoning settings, harnesses, and execution conditions.

It is based on public documentation available in August 2026.

Prices, model availability, and authentication paths change, so verify official documentation immediately before adoption.

Fix the comparison unit first

Layer What it determines What to record
Model Fundamental comprehension, reasoning, and generation Model ID and snapshot
Reasoning settings Computation budget for one request Reasoning effort
Harness Context, tools, editing, loops, and retries Codex or OpenCode behavior
Execution conditions Instructions, permissions, CWD, and external connections AGENTS.md, Skills, MCP

The background for this classification is in Models, Reasoning Effort, and Harnesses in AI.

Before comparing, record which layers are fixed and which layer the experiment changes.

What the Codex documentation establishes

Codex authentication documentation treats ChatGPT sign-in and API keys as separate paths.

The former relates to an included subscription allowance, while the latter relates to usage-based API billing.

The same documentation describes the conditions for Codex cloud, so do not mix local CLI billing with cloud usage without checking the path.

Repository-specific instructions can be defined in AGENTS.md.

Recurring procedures can be Skills, and external service connections can be MCP servers.

OpenAI documents these separately as AGENTS.md, Skills, and MCP.

Codex is worth trying first when you want to evaluate implementation, review, and verification in one OpenAI-centered environment.

Keep subscription allowances and API charges as separate entries in any cost record.

What to check in OpenCode

OpenCode’s Providers documentation describes configuration for multiple provider API keys, OAuth, OpenCode-hosted paths, and local models.

That flexibility is useful for switching models during an experiment.

It also means checking model IDs, snapshots, prices, rate limits, and data handling per provider.

OpenCode has rules, skills, and MCP mechanisms as well.

Do not assume that file discovery, configuration format, or loading order is identical to Codex.

Switchable models and authentication paths do not automatically make an experiment reproducible.

Order of checks when results differ

When the “same model” produces different results, do not immediately conclude that model quality is the cause.

Align these conditions first:

  1. Model ID and snapshot
  2. Reasoning effort
  3. Initial and repository instructions
  4. Files included in context
  5. Available tools and permissions
  6. Maximum turns, timeout, and retries
  7. Tests and scoring method

Run representative tasks at least three times and record success rate, elapsed time, input and output tokens, diff size, and review corrections.

The purpose is not to produce a universal product ranking, but to discover the conditions required by your own work.

Put boundaries around shared configuration

Plain-text policy such as coding conventions and verification commands is easy to share.

Centralizing MCP credentials, Skill locations, and permissions through symbolic links is more fragile because an update for one tool can break another.

Keep policy in the shared canonical source.

Keep authentication, provider-specific options, and permissions in each tool’s configuration.

Treat LLM output and generated configuration as untrusted until the diff and permissions have been reviewed.

Choose by use case

Try Codex first when you primarily use OpenAI models and want a stable implementation-to-verification flow.

Try OpenCode when you want to compare providers, BYOK, subscriptions, usage-based billing, or local inference.

It is also possible to use Codex for daily implementation and OpenCode for experiments with unfamiliar models.

In that setup, do not let both agents edit the same worktree at the same time; assign separate worktrees.

Make the final choice with three to ten tasks representative of your work, not with a feature table.

Recording models, harnesses, subscriptions, and execution conditions separately leads to the practical question: which work should go to which tool?

References