From 74a1057540c0a0997a4d3032251e203c9a73a579 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Thu, 9 Jul 2026 18:35:20 -0700 Subject: [PATCH] fix(codex): usable-today caveats for max reasoning level and bare gpt-5.6 alias Live probes against the OpenAI API (2026-07-09): - -c model_reasoning_effort=max works only on codex CLI >= 0.144 AND an explicit GPT-5.6 model (-m gpt-5.6-sol). Installed 0.136 rejects the config value ('unknown variant max'); non-5.6 default models return API 400. - Bare '-m gpt-5.6' is rejected for Codex with ChatGPT sign-in even though the API-level alias to gpt-5.6-sol is real (OpenAI API changelog 2026-07-09). - An 'ultra' tier exists above max on some surfaces (ChatGPT model picker, codex-rs ReasoningEffort enum). Template + regenerated SKILL.md in one commit (check-freshness bisect invariant). Co-Authored-By: Claude Fable 5 --- codex/SKILL.md | 12 ++++++++---- codex/SKILL.md.tmpl | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/codex/SKILL.md b/codex/SKILL.md index fc7fc307b..62c131f53 100644 --- a/codex/SKILL.md +++ b/codex/SKILL.md @@ -1537,8 +1537,9 @@ The reason must engage with a specific Codex insight and compare against an alte **Model:** No model is hardcoded — codex uses whatever its current default is (the frontier agentic coding model). This means as OpenAI ships newer models, /codex automatically -uses them. As of July 2026 that frontier is the GPT-5.6 family (ladder: `sol` > `terra` > `luna`, -where bare `gpt-5.6` aliases to `sol`). If the user wants a specific model, pass `-m` through to codex. +uses them. As of July 2026 that frontier is the GPT-5.6 family (ladder: `sol` > `terra` > `luna`; +the bare `gpt-5.6` API alias routes to `sol`, but Codex with ChatGPT sign-in rejects the bare +id — pass the full `gpt-5.6-sol`). If the user wants a specific model, pass `-m` through to codex. **Reasoning effort (per-mode defaults):** - **Review (2A):** `high` — bounded diff input, needs thoroughness but not max tokens @@ -1548,8 +1549,11 @@ where bare `gpt-5.6` aliases to `sol`). If the user wants a specific model, pass `xhigh` uses ~23x more tokens than `high` and causes 50+ minute hangs on large context tasks (OpenAI issues #8545, #8402, #6931). Users can override with `--xhigh` flag (e.g., `/codex review --xhigh`) when they want maximum reasoning and are willing to wait. -The GPT-5.6 family adds a `max` level above `xhigh` — even more token-hungry, so gstack -wires no flag for it; pass `-c model_reasoning_effort=max` manually if you truly need it. +The GPT-5.6 family adds a `max` level above `xhigh` (and an `ultra` above that on some +surfaces) — OpenAI positions both as trading latency and cost for depth, so gstack wires +no flag for them. If you truly need it: codex CLI >= 0.144 with an explicit GPT-5.6 model +(e.g. `-m gpt-5.6-sol -c model_reasoning_effort=max`) — older CLIs reject the value and +non-5.6 models return a 400. **Web search:** All codex commands use `--enable web_search_cached` so Codex can look up docs and APIs during review. This is OpenAI's cached index — fast, no extra cost. diff --git a/codex/SKILL.md.tmpl b/codex/SKILL.md.tmpl index c6567be13..8413d0e9c 100644 --- a/codex/SKILL.md.tmpl +++ b/codex/SKILL.md.tmpl @@ -606,8 +606,9 @@ The reason must engage with a specific Codex insight and compare against an alte **Model:** No model is hardcoded — codex uses whatever its current default is (the frontier agentic coding model). This means as OpenAI ships newer models, /codex automatically -uses them. As of July 2026 that frontier is the GPT-5.6 family (ladder: `sol` > `terra` > `luna`, -where bare `gpt-5.6` aliases to `sol`). If the user wants a specific model, pass `-m` through to codex. +uses them. As of July 2026 that frontier is the GPT-5.6 family (ladder: `sol` > `terra` > `luna`; +the bare `gpt-5.6` API alias routes to `sol`, but Codex with ChatGPT sign-in rejects the bare +id — pass the full `gpt-5.6-sol`). If the user wants a specific model, pass `-m` through to codex. **Reasoning effort (per-mode defaults):** - **Review (2A):** `high` — bounded diff input, needs thoroughness but not max tokens @@ -617,8 +618,11 @@ where bare `gpt-5.6` aliases to `sol`). If the user wants a specific model, pass `xhigh` uses ~23x more tokens than `high` and causes 50+ minute hangs on large context tasks (OpenAI issues #8545, #8402, #6931). Users can override with `--xhigh` flag (e.g., `/codex review --xhigh`) when they want maximum reasoning and are willing to wait. -The GPT-5.6 family adds a `max` level above `xhigh` — even more token-hungry, so gstack -wires no flag for it; pass `-c model_reasoning_effort=max` manually if you truly need it. +The GPT-5.6 family adds a `max` level above `xhigh` (and an `ultra` above that on some +surfaces) — OpenAI positions both as trading latency and cost for depth, so gstack wires +no flag for them. If you truly need it: codex CLI >= 0.144 with an explicit GPT-5.6 model +(e.g. `-m gpt-5.6-sol -c model_reasoning_effort=max`) — older CLIs reject the value and +non-5.6 models return a 400. **Web search:** All codex commands use `--enable web_search_cached` so Codex can look up docs and APIs during review. This is OpenAI's cached index — fast, no extra cost.