Share on X

Writing / AI Agent

N° 05

How to Use GPT-5.6 in Codex: Choosing Between Sol, Terra, and Luna

Learn how to update Codex CLI for GPT-5.6, switch between Sol, Terra, and Luna, and configure reasoning effort independently. This guide also presents a reproducible comparison protocol covering quality, latency, usage, and human rework, followed by practical model-selection guidance for common engineering tasks.

When adopting GPT-5.6 in Codex, the most important question is not simply, “Which model is strongest?” The better question is which model best fits the ambiguity of the task, the consequences of failure, acceptable latency, usage, and the amount of human correction likely to follow.

The GPT-5.6 family includes Sol, Terra, and Luna. OpenAI positions Sol for complex, open-ended work, Terra for everyday work, and Luna for clear, repeatable tasks. Codex also lets you configure reasoning effort independently of the selected model.

This guide covers the Codex CLI setup, explains the distinction between model choice and reasoning effort, defines a reproducible comparison protocol, and provides task-specific selection guidance. No raw benchmark runs were supplied with the brief, so measured results are not fabricated; hypotheses and measurement procedures are explicitly separated.

Understanding GPT-5.6 Sol, Terra, and Luna

Treating the three options as a simple quality ladder usually leads to unnecessary spending. In production engineering, consider not only how difficult a task appears, but also what happens if a mistake survives review.

Model

Official positioning

Good fit

GPT-5.6 Sol

Flagship model

Ambiguous changes, unfamiliar repositories, architecture decisions

GPT-5.6 Terra

Balanced capability, speed, and cost

Everyday implementation, investigation, and refactoring

GPT-5.6 Luna

Fastest and lowest-cost option

Well-specified fixes, transformation, classification, and volume work

This framing follows the Codex model guide. OpenAI recommends starting with Sol when you are unsure. For sustained development work, however, it is worth testing whether Terra can serve as the default, with escalation to Sol for ambiguous or high-risk tasks.

GPT-5.6 Sol

Sol is the flagship model in the GPT-5.6 family. It is suited to work where analysis and judgment materially affect the outcome: implementing an incompletely specified feature, weighing architectural constraints, or investigating a large and unfamiliar codebase.

Authentication migrations, data-integrity changes, and incidents spanning several system layers can create expensive rework when something is missed. In those situations, the value of reducing omissions may outweigh Sol’s additional usage cost.

GPT-5.6 Terra

Terra balances capability, speed, and usage. It is the natural first candidate for routine engineering work such as adding an endpoint, fixing an existing feature, writing tests, or completing a moderately scoped refactor.

OpenAI also describes Terra as a natural starting point for work previously assigned to GPT-5.5. For a team standard, one testable policy is to use Terra as the baseline, move clear mechanical work down to Luna, and escalate high-risk work to Sol.

GPT-5.6 Luna

Luna is the fastest and lowest-cost model in the GPT-5.6 family. It works best when the completion criteria are explicit and the output can be checked mechanically with tests, schemas, or deterministic tooling.

Examples include bulk type conversions, boilerplate generation, classification, structured summaries, and tightly specified fixes. Prompt length is not a reliable selection criterion, though. A short prompt can still describe an unclear production incident or a security-sensitive change, both of which may justify Terra or Sol.

Preparing Codex for GPT-5.6

Check the Codex CLI version

GPT-5.6 requires Codex CLI 0.144.0 or later. Check the installed version first:

bash
codex --version

Unless you have a specific reason to pin the minimum release, updating to the latest stable version also brings in current model-catalog and CLI fixes.

Update Codex CLI

If Codex was installed globally with npm, update it with:

bash
npm install -g @openai/codex@latest
codex --version

If you installed it through another package manager, use the corresponding update procedure.

Confirm plan availability

According to the current OpenAI Help Center article, Codex availability is:

Plan

GPT-5.6 models available in Codex

Free and Go

Terra

Plus and Pro

Sol, Terra, and Luna

Business and Enterprise

Sol, Terra, and Luna

The rollout is gradual, so an eligible account may not see every option immediately. Administrators can also restrict model availability in managed workspaces.

Switching Codex to GPT-5.6

Select a model at launch

Use --model, or its -m alias, to select a model when starting Codex:

bash
codex -m gpt-5.6-sol
codex -m gpt-5.6-terra
codex -m gpt-5.6-luna

The same option works for non-interactive runs:

bash
codex exec -m gpt-5.6-terra "Review the current changes"

For comparative testing, putting the model ID directly in the command reduces ambiguity caused by different local configuration files.

Change the model during a session

In an interactive session, enter:

plaintext
/model

Choose a model and reasoning level from the selector. Then verify the active configuration with:

plaintext
/status

Codex supports changing the model in an existing session. For a controlled comparison, however, start a fresh session for every run. Previous conversation turns and tool results would otherwise introduce another variable.

Configure a default model

Personal defaults belong in ~/.codex/config.toml. A trusted repository can override them with .codex/config.toml inside the project.

plaintext
model = "gpt-5.6-terra"
model_reasoning_effort = "medium"

CLI flags take precedence over project and user configuration. A useful convention is to keep the routine default in configuration and use -m for one-off changes and benchmarks.

The current Codex rate card lists local-task availability for GPT-5.6 Sol, Terra, and Luna, while cloud tasks are marked unavailable for these models. The procedures in this article therefore target local Codex CLI sessions.

Choose the Model and Reasoning Effort Separately

Sol, Terra, and Luna are different models. Low, Medium, High, Extra High, and Max describe how much reasoning effort the selected model applies before and during its work.

Reasoning level

Typical use

Low

Small changes with explicit completion criteria

Medium

Routine implementation, investigation, and test writing

High

Multi-file changes and difficult defects

Extra High or above

Problems involving many constraints or tradeoffs

Higher reasoning effort can improve results on complex work, but it generally takes longer and consumes more tokens. OpenAI recommends starting with the lowest effort that produces the required result, then increasing it when the work needs more planning, analysis, or checking.

Keep reasoning effort fixed when comparing models. A comparison between Sol Low and Terra High cannot show whether an observed difference came from the model or the reasoning budget. A cleaner process is to compare every model at Medium first, then tune reasoning effort within the selected model.

Compare Sol, Terra, and Luna Under Controlled Conditions

A useful engineering comparison should prioritize total completion time, including human correction, rather than model latency alone. A fast run that requires repeated review fixes may be more expensive for the team overall.

Test conditions

Hold the following conditions constant for every model:

  • Start from the same repository and Git commit.
  • Create a new session for every run.
  • Use the exact same prompt.
  • Set reasoning effort to Medium.
  • Keep permissions, network access, and execution environment identical.
  • Run the same tests and static-analysis tools.
  • Fix every configuration value except the model ID.

To reduce the effect of chance, run each task more than once and retain every result. Examine failure modes and variance, not only averages.

Five representative tasks

1. Fix a single-file bug

Check whether the model finds the actual cause, avoids unrelated edits, and passes both regression and existing tests. The pre-test hypothesis is that Luna or Terra will be sufficient when the completion criteria are explicit.

2. Refactor across multiple files

Evaluate whether the model follows dependencies, updates callers, preserves public interfaces, and maintains existing behavior. Terra is the likely baseline for a moderate refactor; Sol may have an advantage when the impact is broad or the intended behavior is ambiguous.

3. Investigate an unfamiliar repository

Ask each model to explain the major components, data flow, critical configuration, and testing strategy. Score whether the explanation cites concrete files and code evidence. Sol is the first candidate for this open-ended investigation.

4. Generate tests

Look for boundary cases, failures, and regression conditions in addition to the happy path. The tests should validate requirements rather than merely reproduce the implementation. Terra is the general-purpose candidate, while Luna may be appropriate for mechanical additions to an established table-driven suite.

5. Review a design

Assess whether the response covers performance, operations, recovery, security, and migration. It should explain tradeoffs and justify a recommendation, not merely list concerns. Sol is the likely fit for high-value, ambiguous design decisions.

Metrics to record

Metric

How to evaluate it

Requirement success

Acceptance criteria and test results

Execution time

From prompt submission to completion

Usage

Codex display or account usage page

Tool activity

Number of searches, commands, and edits

Change size

Files changed and diff lines

Rework

Corrections required after human review

Code quality

Unrelated edits, duplication, and added complexity

Evidence quality

Whether claims are supported by code or tests

On the official rate card, input, cached-input, and output credit rates for Sol, Terra, and Luna are approximately proportional to 1:0.5:0.2. The listed estimates for one local-task message are about 14, 7, and 3 credits respectively. Actual consumption depends on the task and context, so these figures should not be treated as fixed per-task prices.

The following matrix is a pre-benchmark decision guide. Update it with success rates, usage, and review effort measured in your own repositories.

Task

First choice

When to switch

Small bug fix

Luna

Use Terra when the cause is unclear

Everyday implementation

Terra

Use Sol when risk or ambiguity is high

Test generation

Terra

Use Luna for fully mechanical cases

Multi-file change

Terra

Use Sol when the impact is broad

Unfamiliar repository investigation

Sol

Use Terra for a high-level overview only

Design review

Sol

Use Terra when criteria and review lenses are fixed

High-volume mechanical work

Luna

Use Terra when case-by-case judgment is required

The deciding factor should be the cost of failure, not the apparent complexity alone. Use Luna when correctness can be defined and checked clearly, Terra for normal development, and Sol when requirements are ambiguous, the blast radius is broad, or an undetected mistake would be expensive.

Frequently Asked Questions

Why does GPT-5.6 not appear in Codex?

Check whether the CLI is older than 0.144.0, the plan is eligible, rollout has reached the account, the correct account is signed in, and a workspace administrator has not restricted the model. Free and Go plans currently receive Terra in Codex, not all three models.

Can I change models during a Codex session?

Yes. Use /model, then verify the result with /status. For comparative testing, start a fresh session so every run receives equivalent conversation context.

Is using Sol all the time the best option?

OpenAI recommends Sol as the starting point when you are unsure. For well-specified work, however, Terra or Luna may produce a better overall balance of latency and usage. Measure human review and correction time alongside model quality before standardizing on one option.

Conclusion

GPT-5.6 requires Codex CLI 0.144.0 or later. Select Sol, Terra, or Luna at launch with -m, or change the active model interactively with /model.

The practical default is Luna for clear and repeatable tasks, Terra for everyday development, and Sol for complex, ambiguous, or high-consequence work. Keep reasoning effort constant during model comparisons, and record requirement success, usage, review effort, and human rework—not latency alone.

The best model is not necessarily the most capable one in isolation. It is the model that reaches the required quality while minimizing the team’s total time to a correct, reviewed result.