Skip to content

gpt-5.4 and gpt-5.4-mini retire from the ChatGPT-subscription picker on 2026-08-31 #1189

Description

@anandgupta42

Summary

gpt-5.4 and gpt-5.4-mini are both in OAUTH_ALLOWED_MODELS (packages/opencode/src/plugin/codex.ts), and both retire from the ChatGPT-subscription model picker at 2026-08-31T19:00:00Z.

Evidence

openai/codex ships its model catalog in the repo. Fetched first-hand from https://raw.githubusercontent.com/openai/codex/main/codex-rs/models-manager/models.json:

gpt-5.4        visibility=hide  supported_in_api=True  retirement_at=2026-08-31T19:00:00Z
gpt-5.4-mini   visibility=hide  supported_in_api=True  retirement_at=2026-08-31T19:00:00Z

with explicit migration targets:

"gpt-5.4":      { "model": "gpt-5.6-terra", "migration_markdown": "GPT-5.4 is no longer available\n\nCodex now uses GPT-5.6 Terra in place of GPT-5.4. Switch to GPT-5.6 Terra to continue.\n", "retirement_at": "2026-08-31T19:00:00Z" }
"gpt-5.4-mini": { "model": "gpt-5.6-luna",  "migration_markdown": "GPT-5.4 Mini is no longer available\n\nCodex now uses GPT-5.6 Luna in place of GPT-5.4 Mini. Switch to GPT-5.6 Luna to continue.\n", "retirement_at": "2026-08-31T19:00:00Z" }

Scope — this is the subscription path only

This is not an API deprecation, and the two should not be conflated:

  • both still carry supported_in_api: true
  • neither appears on OpenAI's API deprecations page
  • models.dev does not mark either deprecated (the 10 openai ids currently marked deprecated there are gpt-3.5-turbo, gpt-4, gpt-4-turbo, gpt-4.1-nano, gpt-4o-2024-05-13, gpt-image-1, o1, o1-pro, o3-mini, o4-mini — neither gpt-5.4 id is among them)

OAUTH_ALLOWED_MODELS is only consulted when auth.type === "oauth" (packages/opencode/src/plugin/codex.ts, the models loader returns {} for any other auth type), so API-key users are unaffected and keep both ids.

Why this will not fix itself

Because these are still live API models, models.dev will keep listing them — its stated policy is to hard-delete only once a model actually stops serving (see sst/models.dev#3707). So the catalog will not drop them for us.

After the deadline they would remain in the subscription picker and fail at request time with an opaque 400 — precisely the failure mode #1179 rebuilt this allowlist to prevent.

Fix

Remove both from OAUTH_ALLOWED_MODELS. Their documented replacements, gpt-5.6-terra and gpt-5.6-luna, are already in the set, so affected users land on a working model with no further change.

Timing matters and needs a human call. Removing before 2026-08-31T19:00:00Z breaks users who are successfully using gpt-5.4 today; leaving it after gives an opaque failure. See the linked PR for the reasoning on which way to err.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions