Repository navigation
fix(codex): allowlist the GPT-6 family for ChatGPT-subscription users - #1565
Open
devin-ai-integration[bot] wants to merge 1 commit into
Open
devin-ai-integration[bot] wants to merge 1 commit into
devin-ai-integration[bot] wants to merge 1 commit into
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
👋 This PR was automatically closed by our quality checks. Common reasons:
If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you. |
Contributor
🤖 Code Review — OpenCodeReview (Gemini) — No Issues FoundNo supported files changed. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue for this PR
Closes #1564
Type of change
What does this PR do?
OAUTH_ALLOWED_MODELShides the whole GPT-6 family from ChatGPT Plus/Pro users. That includesgpt-6.1-sol, which the Codex client now uses as its default (openai/codex#49318). It also includes the upgrade targets that the Codex catalog now names for every gpt-5.x id we allowlist.Added (all four come from
openai/codexcodex-rs/models-manager/models.jsononmain, last changed in openai/codex@d63a9b8344, fetched 2026-10-19):openaigpt-6.1-solvisibility: "list", priority 1,upgrade: null,minimal_client_version0.153.0,plus/proinavailable_in_plansgpt-6-astravisibility: "list", priority 2,upgrade: null, 0.153.0,plus/progpt-6-solvisibility: "list", priority 3,upgrade: null, 0.155.0,plus/progpt-6-lunavisibility: "list", priority 4,upgrade: null, 0.155.0,plus/proRemoved: none. No allowlisted id has
visibility: "hide"or aretirement_at. Four of them now name an upgrade, but none has a retirement date:Both replacements,
gpt-6-solandgpt-6-luna, are allowlisted by this PR.gpt-5.3-codex-sparkdoesn't appear in the shipped catalog, but it never has (I checked catalog revisions back to 2026-04). It stays because it is backend-probed.How the change is structured. The new ids go into their own test constant,
CATALOG_VERIFIED_UNPROBED, notVERIFIED_ACCEPTED, so the probed truth table stays honest. The trip-wire test now assertsOAUTH_ALLOWED_MODELS == VERIFIED_ACCEPTED ∪ CATALOG_VERIFIED_UNPROBED. A new test asserts the catalog group doesn't overlap either probed list. Incodex.ts, the four ids are added at the end of theOAUTH_ALLOWED_MODELSset literal, inside analtimate_changeblock (codex.tsis inrequireMarkers). The comment on that block records the catalog evidence and marks these ids as the exception to "every entry was verified".Not touched:
plugin/openai/codex.tsALLOWED_MODELS. That file is still not wired, and its comments don't ask for parity. Thecodex.tscomment says not to assume the two files share a policy. ItsparseFloat > 5.4fallback would already admitgpt-6*.auth.type === "oauth".Cold-cache caveat. The committed
provider/models-snapshot.tshas no GPT-6 entry, so a source checkout won't show these models until the catalog refreshes. Release builds embed the live models.dev catalog (#1188), and that catalog has all four.How did you verify your code works?
bun test test/plugin/codex-allowlist.test.ts test/plugin/codex.test.ts: 34 pass, 0 fail.tsgo --noEmitinpackages/opencode: clean. I ran it with--singleThreadedbecause the default multi-checker run was OOM-killed on the 7 GB sandbox, which has nothing to do with this diff.bun run script/upstream/analyze.ts --markers --base <main> --strict: ok.script/check-tracker-leaks.tspatterns: no matches in the added lines.Cost side effects
None. This only changes which ids the OAuth model picker keeps. It adds no model calls, queries or resources.
Screenshots / recordings
N/A, not a UI change.
Checklist
Summary by cubic
Allows the GPT-6 model family for ChatGPT-subscription users in the Codex plugin. The OAuth allowlist previously hid every
gpt-6*id, includinggpt-6.1-sol, which the Codex client now uses as its default.gpt-6.1-sol,gpt-6-astra,gpt-6-sol, andgpt-6-lunatoOAUTH_ALLOWED_MODELS, based on catalog evidence (openai/codex models.json and models.dev).CATALOG_VERIFIED_UNPROBEDtest constant until each returns HTTP 200 against the live endpoint, after which each moves intoVERIFIED_ACCEPTED.gpt-5.xids are removed; the catalog namesgpt-6-solandgpt-6-lunaas their upgrade targets with no retirement dates, so the existing entries stay.OAUTH_ALLOWED_MODELSequalsVERIFIED_ACCEPTEDplusCATALOG_VERIFIED_UNPROBED, and a new test keeps the catalog group disjoint from both probed lists.Written for commit 7d02870. Summary will update on new commits.