Bug Description
When session_id is passed to continue a review thread, codex-bridge internally routes the request to gpt-5.3-codex instead of the configured model (gpt-5.4). This model is not available on ChatGPT subscription accounts, causing a hard failure with no fallback. Fresh calls (no session_id) succeed; continuation calls fail.
Steps to Reproduce
- Call review_plan with no session_id. Request succeeds; tool returns a session_id.
- Call review_plan again, passing the session_id from step 1 to continue the thread.
- Second call fails.
Expected Behavior
Session continuation should use the same model as the initial call, or fall back gracefully if the continuation model is unavailable. If the continuation requires a different model that may not be available, this should be documented and/or surfaced as a configuration warning before the call fails.
Actual Behavior
- Call 1 (no session_id, configured model gpt-5.4) → succeeds
- Call 2 (with session_id, same configured model) → fails with gpt-5.3-codex model error
The error message references gpt-5.4 in the headline but the underlying error names gpt-5.3-codex — indicating the bridge is substituting a different model for session continuation without exposing this to the caller.
Error Output
MODEL_ERROR: Model "gpt-5.4" is not supported. This model may still be rolling out
to ChatGPT-tier Codex. Fall back to gpt-5.4 by setting "model": "gpt-5.4" in
.reviewbridge.json, or use an API key (OPENAI_API_KEY) instead of the ChatGPT
subscription auth. Original error: {"type":"error","status":400,"error":
{"type":"invalid_request_error","message":"The 'gpt-5.3-codex' model is not supported
when using Codex with a ChatGPT account."}}
Operating System
macOS
Python Version
3.14.5
Codex Bridge Version
1.0.0
Codex CLI Version
0.139.0
Installation Method
uvx (recommended)
Additional Context
Environment
- Auth method: ChatGPT subscription (no OPENAI_API_KEY)
- Configured model: gpt-5.4
- Trigger: passing session_id returned by a previous review_plan call
Workaround
Omit session_id on all calls. Each review starts a fresh session. Plan context is not carried into code review, but calls succeed.
Pre-submission Checklist
Bug Description
When session_id is passed to continue a review thread, codex-bridge internally routes the request to gpt-5.3-codex instead of the configured model (gpt-5.4). This model is not available on ChatGPT subscription accounts, causing a hard failure with no fallback. Fresh calls (no session_id) succeed; continuation calls fail.
Steps to Reproduce
Expected Behavior
Session continuation should use the same model as the initial call, or fall back gracefully if the continuation model is unavailable. If the continuation requires a different model that may not be available, this should be documented and/or surfaced as a configuration warning before the call fails.
Actual Behavior
The error message references gpt-5.4 in the headline but the underlying error names gpt-5.3-codex — indicating the bridge is substituting a different model for session continuation without exposing this to the caller.
Error Output
Operating System
macOS
Python Version
3.14.5
Codex Bridge Version
1.0.0
Codex CLI Version
0.139.0
Installation Method
uvx (recommended)
Additional Context
Environment
Workaround
Omit session_id on all calls. Each review starts a fresh session. Plan context is not carried into code review, but calls succeed.
Pre-submission Checklist