fix(codex): remove dead gpt-5.3-codex from curated fallback list (#52492) - #52509
Open
liuhao1024 wants to merge 2 commits into
Open
fix(codex): remove dead gpt-5.3-codex from curated fallback list (#52492)#52509liuhao1024 wants to merge 2 commits into
liuhao1024 wants to merge 2 commits into
Conversation
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
1 task
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
reviewed
Jul 15, 2026
teknium1
left a comment
Contributor
There was a problem hiding this comment.
Thanks for tracing the Codex 400 report and removing the dead slug from the curated catalog.
Problems
cli.py:5338still directly falls back togpt-5.3-codexwhenget_codex_model_ids()raises;tests/hermes_cli/test_codex_models.py:367-394explicitly 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:63usesgpt-5.5, but currenthermes_cli/codex_models.py:55-60synthesizes 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:5338with a supported Codex fallback and update its regression test. - Preserve the current GPT-5.6 forward-compat behavior while asserting that
gpt-5.3-codexis 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"], |
Contributor
There was a problem hiding this comment.
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.
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.
What does this PR do?
Removes the dead
gpt-5.3-codexmodel 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 killedgpt-5.2-codex,gpt-5.1-codex-max, andgpt-5.1-codex-mini. Without this fix, users who are offline or hit a transient API failure seegpt-5.3-codexin/model, select it, and get a 400 crash.Related Issue
Fixes #52492
Type of Change
Changes Made
hermes_cli/codex_models.py: Removegpt-5.3-codexfromDEFAULT_CODEX_MODELS; update the removal comment to include it alongside the previously removed models; update_FORWARD_COMPAT_TEMPLATE_MODELSto removegpt-5.3-codexas a forward-compat trigger and re-anchorgpt-5.3-codex-sparkongpt-5.4/gpt-5.5templates instead.tests/hermes_cli/test_codex_models.py: Updatetest_get_codex_model_ids_adds_forward_compat_models_from_templatesto usegpt-5.5as the trigger model (sincegpt-5.3-codexis no longer a template anchor) and adjust expected output.How to Test
python -m pytest tests/hermes_cli/test_codex_models.py -q— all 19 tests should pass.python -m pytest tests/test_empty_model_fallback.py -q— all 14 tests should pass.gpt-5.3-codexis no longer inDEFAULT_CODEX_MODELSby inspectinghermes_cli/codex_models.py.Checklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passDocumentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/ACode Intelligence
hermes_cli/codex_models.py(callers:models.py,model_setup_flows.py,test_codex_models.py)gpt-5.2-codex/gpt-5.1-codex-max/gpt-5.1-codex-mini(2026-05-27)