Skip to content

fix(codex): remove dead gpt-5.3-codex from curated fallback list (#52492) - #52509

Open
liuhao1024 wants to merge 2 commits into
NousResearch:mainfrom
liuhao1024:fix/codex-remove-dead-gpt-5.3-codex-model
Open

fix(codex): remove dead gpt-5.3-codex from curated fallback list (#52492)#52509
liuhao1024 wants to merge 2 commits into
NousResearch:mainfrom
liuhao1024:fix/codex-remove-dead-gpt-5.3-codex-model

Conversation

@liuhao1024

Copy link
Copy Markdown
Contributor

What does this PR do?

Removes the dead gpt-5.3-codex model from the curated Codex fallback list and forward-compat templates. The chatgpt.com Codex backend now returns HTTP 400 for this model on ChatGPT Pro accounts, matching the same pattern that previously killed gpt-5.2-codex, gpt-5.1-codex-max, and gpt-5.1-codex-mini. Without this fix, users who are offline or hit a transient API failure see gpt-5.3-codex in /model, select it, and get a 400 crash.

Related Issue

Fixes #52492

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)

Changes Made

  • hermes_cli/codex_models.py: Remove gpt-5.3-codex from DEFAULT_CODEX_MODELS; update the removal comment to include it alongside the previously removed models; update _FORWARD_COMPAT_TEMPLATE_MODELS to remove gpt-5.3-codex as a forward-compat trigger and re-anchor gpt-5.3-codex-spark on gpt-5.4/gpt-5.5 templates instead.
  • tests/hermes_cli/test_codex_models.py: Update test_get_codex_model_ids_adds_forward_compat_models_from_templates to use gpt-5.5 as the trigger model (since gpt-5.3-codex is no longer a template anchor) and adjust expected output.

How to Test

  1. Run python -m pytest tests/hermes_cli/test_codex_models.py -q — all 19 tests should pass.
  2. Run python -m pytest tests/test_empty_model_fallback.py -q — all 14 tests should pass.
  3. Verify gpt-5.3-codex is no longer in DEFAULT_CODEX_MODELS by inspecting hermes_cli/codex_models.py.

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)
  • I've run pytest tests/ -q and all tests pass
  • I've added tests for my changes (required for bug fixes, strongly encouraged for features)
  • I've tested on my platform: macOS

Documentation & Housekeeping

  • I've updated relevant documentation (README, docs/, docstrings) — or N/A
  • I've updated cli-config.yaml.example if I added/changed config keys — or N/A
  • I've updated CONTRIBUTING.md or AGENTS.md if I changed architecture or workflows — or N/A
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide — or N/A
  • I've updated tool descriptions/schemas if I changed tool behavior — or N/A

Code Intelligence

  • Analyzed: hermes_cli/codex_models.py (callers: models.py, model_setup_flows.py, test_codex_models.py)
  • Blast radius: LOW — data-only change in curated fallback list; live discovery path unaffected
  • Related patterns: Same removal pattern as gpt-5.2-codex / gpt-5.1-codex-max / gpt-5.1-codex-mini (2026-05-27)

The chatgpt.com Codex backend now returns HTTP 400 for gpt-5.3-codex
on ChatGPT Pro accounts, matching the same pattern that previously
killed gpt-5.2-codex, gpt-5.1-codex-max, and gpt-5.1-codex-mini.

- Remove gpt-5.3-codex from DEFAULT_CODEX_MODELS
- Update _FORWARD_COMPAT_TEMPLATE_MODELS to re-anchor gpt-5.3-codex-spark
  on gpt-5.4/gpt-5.5 templates instead of the dead gpt-5.3-codex
- Update forward-compat test to use gpt-5.5 as trigger model

Fixes NousResearch#52492
@alt-glitch alt-glitch added type/bug Something isn't working comp/cli CLI entry point, hermes_cli/, setup wizard provider/openai OpenAI / Codex Responses API codex P3 Low — cosmetic, nice to have labels Jun 25, 2026
gpt-5.3-codex was removed from DEFAULT_CODEX_MODELS but remains in the
openai/openai-api provider catalogs, causing detect_provider_for_model
to return (openai, gpt-5.3-codex) instead of None when the current
provider is openai-codex. Switch to gpt-5.3-codex-spark which is
exclusively in the openai-codex catalog.

@teknium1 teknium1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for tracing the Codex 400 report and removing the dead slug from the curated catalog.

Problems

  • cli.py:5338 still directly falls back to gpt-5.3-codex when get_codex_model_ids() raises; tests/hermes_cli/test_codex_models.py:367-394 explicitly preserves that behavior. This leaves an automatic unsupported-model path after the catalog change.
  • The updated test fixture at tests/hermes_cli/test_codex_models.py:63 uses gpt-5.5, but current hermes_cli/codex_models.py:55-60 synthesizes all six GPT-5.6 variants from that input. The PR's two-item expected result is therefore stale against current main.

Suggested changes

  • Replace the direct exception fallback in cli.py:5338 with a supported Codex fallback and update its regression test.
  • Preserve the current GPT-5.6 forward-compat behavior while asserting that gpt-5.3-codex is no longer emitted and Spark is still synthesized from supported templates.

Automated hermes-sweeper review.

monkeypatch.setattr(
"hermes_cli.codex_models._fetch_models_from_api",
lambda access_token: ["gpt-5.3-codex"],
lambda access_token: ["gpt-5.5"],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

On current main, gpt-5.5 triggers the six GPT-5.6 forward-compat templates in hermes_cli/codex_models.py:55-60, so the two-item expectation below is stale. Update this test to preserve the GPT-5.6 synthesis behavior while asserting the removed gpt-5.3-codex slug is absent.

@teknium1 teknium1 added sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform labels Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

codex comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have provider/openai OpenAI / Codex Responses API sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]:400 - 'gpt-5.3-codex' model is not supported when using Codex

3 participants