Skip to content

fix(auth): drop the models retired for ChatGPT sign-in - #1580

Merged
bwachman merged 3 commits into
mainfrom
cl-11727-fix-the-built-in-chatgpt-model-list
Nov 3, 2026
Merged

bwachman merged 3 commits into
mainfrom
cl-11727-fix-the-built-in-chatgpt-model-list

Conversation

@bwachman

@bwachman bwachman commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • The built-in ChatGPT (Codex OAuth) model list leaves out gpt-5.4, gpt-5.4-mini and gpt-5.5, which OpenAI retired from Codex with ChatGPT sign-in (August 31 and October 14, 2026). OpenAI says API-key sessions are not affected, so the API-key path keeps its own list and its gpt-5.4 default, and the two defaults no longer have to match.
  • The list's order and its first entry, gpt-6.1-sol (the ChatGPT default), follow what GET /codex/models returned for a ChatGPT Plus account. Availability varies by plan and rollout, so this is a fallback, not what every account can select. feat(provider): list the models each ChatGPT account serves #1579 replaces it with each account's live list.
  • ChatGPT reasoning-effort levels match that catalog: gpt-6.1-sol, gpt-6.1-terra, gpt-6-astra, gpt-6-sol, gpt-5.6-sol and gpt-5.6-terra go up to ultra; gpt-6-luna and gpt-5.6-luna go up to max.

Verification

  • bun run check passes.
  • GET /codex/models (client_version 0.165.0, ChatGPT Plus, 2026-11-01) lists the same models in the same order, with these levels, and does not include gpt-5.5. The order is the same from client_version 0.160.0 through 0.166.0.
  • On that account, a headless turn on gpt-6.1-sol completes, and one on gpt-5.5 is rejected by the backend: "The 'gpt-5.5' model is not supported when using Codex with a ChatGPT account."
  • Retirement dates and API-key scope: https://learn.chatgpt.com/docs/models

Part of CL-11727

OpenAI retired gpt-5.4, gpt-5.4-mini and gpt-5.5 for ChatGPT sign-in
only; API-key sessions still serve them. The ChatGPT and API-key
defaults therefore differ on purpose, so they no longer have to match.
The gpt-6 and gpt-6.1 models offered fewer levels than the Codex backend
serves (xhigh, or max for gpt-6-astra), while gpt-5.6-luna was offered
ultra, which the backend does not serve.
@linear-code

linear-code Bot commented Oct 29, 2026

Copy link
Copy Markdown

CL-11727

@bwachman

Copy link
Copy Markdown
Contributor Author

Stack merge order: #1580 → #1581 → #1579. This repo keeps merged branches, so GitHub does not retarget the next PR on its own:

  1. After fix(auth): drop the models retired for ChatGPT sign-in #1580 merges: gh pr edit 1581 --base main
  2. After refactor(provider): prepare live model catalogs for per-account lists #1581 merges: gh pr edit 1579 --base main

@TheGreatAxios TheGreatAxios left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review · Request changes

The built-in ChatGPT model list says it follows the order the Codex service returns. It does not.

The service lists them as gpt-6.1-sol, gpt-6-astra, gpt-6-sol, gpt-6-luna, gpt-5.6-sol, then gpt-6.1-terra, then gpt-5.6-terra and gpt-5.6-luna. This branch puts gpt-6.1-terra third, ahead of gpt-6-sol, gpt-6-luna, and gpt-5.6-sol (src/auth/codex/constants.ts:31). The tests only check which reasoning levels each model allows, not the order of the list, so they still pass. Move gpt-6.1-terra to after gpt-5.6-sol.

The same catalog still offers gpt-5.5. This branch removes it, and the commit says ChatGPT sign-in retired it on October 14. If accounts can still select gpt-5.5, the fallback hides a model they can use. If the retirement notice is the source of truth, the comment on the list should stop saying the list is exactly what the service returns.

@corbits-triage

corbits-triage Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Triage: Unsure

Asking a maintainer about:

  • changes sensitive paths: auth: src/auth/codex/constants.test.ts, auth: src/auth/codex/constants.ts

Nothing pinned the list's order or its default, since the other tests
read the constant, so a test now records what GET /codex/models listed
for a ChatGPT Plus account on 2026-11-01.

The comment says where the order comes from and that availability varies
by plan and rollout, so it no longer implies every account is served this
list. It also gives the reason the three models are left out: OpenAI
retired them from Codex with ChatGPT sign-in, and API-key sessions are not
affected.
@bwachman
bwachman force-pushed the cl-11727-fix-the-built-in-chatgpt-model-list branch from 0d8f6c2 to d2c486f Compare November 2, 2026 02:55
@bwachman bwachman changed the title fix(auth): offer only the models ChatGPT sign-in still serves fix(auth): drop the models retired for ChatGPT sign-in Nov 2, 2026
@bwachman

bwachman commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Checked both findings against the backend and OpenAI's docs. The list is correct as it stood, so the order stays, and d2c486f fixes the comment and adds the missing test. Heads up that I force-pushed: an earlier commit, 0d8f6c2, moved gpt-6.1-terra to match the review before I had checked the backend. d2c486f replaces it.

Order. GET /codex/models on a ChatGPT Plus account (2026-11-01), visible entries by priority:

1 gpt-6.1-sol
2 gpt-6-astra
3 gpt-6.1-terra
4 gpt-6-sol
5 gpt-6-luna
6 gpt-5.6-sol
8 gpt-5.6-terra
9 gpt-5.6-luna

gpt-6.1-terra is third. Repeat requests at client_version 0.165.0 and requests at 0.160.0, 0.164.0 and 0.166.0 all return this order. The order in the review, with gpt-6.1-terra after gpt-5.6-sol, did not come up.

gpt-5.5. It stays out, and the catalog does not offer it, listed or hidden, at any client_version I tried from 0.50.0 through 0.166.0.

  • A headless turn on this account is rejected by the backend: "The 'gpt-5.5' model is not supported when using Codex with a ChatGPT account." The same turn on gpt-6.1-sol completes.
  • OpenAI's changelog says it retires "on all plans, including consumer, Business, Enterprise, and Edu plans": https://learn.chatgpt.com/docs/changelog
  • OpenAI's models page says API-key sessions are not affected: https://learn.chatgpt.com/docs/models

What changed in d2c486f.

  • The comment no longer implies the list is what every account is served. As you suggested, it says the order comes from that Plus catalog, that availability varies by plan and rollout, and why the three retired models are left out.
  • src/auth/codex/constants.test.ts pins the order and the exclusions. You were right that nothing did.

One question. Where did the order and gpt-5.5 in the review come from? @corbits/codex-provider (0.1.3 and 0.1.5) still lists gpt-5.5, in case that was the source, though it has no gpt-6.1-terra, so it does not produce that order by itself. My check covers one Plus account. If another account really returns that order, send me its output and I'll make the comment say the order varies by plan. Otherwise this is ready for another look.

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The built-in ChatGPT model list drops gpt-5.4, gpt-5.4-mini, and gpt-5.5, defaults to gpt-6.1-sol, and sets each model's reasoning-effort ceiling to the served catalog. The API-key list and its gpt-5.4 default are unchanged.

No findings.

@bwachman
bwachman merged commit f8976b6 into main Nov 3, 2026
14 checks passed
@bwachman
bwachman deleted the cl-11727-fix-the-built-in-chatgpt-model-list branch November 3, 2026 00:46
bwachman added a commit that referenced this pull request Nov 3, 2026
…live-codex-model-catalog-fetch-for-chatgpt

The comment above CODEX_DEFAULT_MODELS conflicted with #1580; this keeps both:
the live-catalog fallback role and the Plus-catalog provenance. The list is
unchanged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants