You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] Session continuation silently switches model to gpt-5.3-codex, breaking ChatGPT-tier accounts #4
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 supportedwhen 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.
A continued session should be bound to the provider and model that created it. If either changes, I would require an explicit fork and carry the prior session in as evidence, rather than silently pretending the same conversation continued. The receipt should make that boundary obvious.
We are building MartinLoop around this kind of continuity because model drift can quietly change both behavior and trust. I would be glad to test the fix with a provider-switch matrix and share where the session identity still becomes ambiguous. https://github.com/Keesan12/martin-loop
Thanks for the detailed report. This appears to be filed against the wrong project — the symptoms do not match codex-bridge.
None of the described surface exists in this repository:
Item in the report
Occurrences in codex-bridge
review_plan tool
0
session_id parameter
0
.reviewbridge.json config
0
--model flag passed to the CLI
0
MODEL_ERROR: message prefix
0
codex-bridge exposes exactly three tools — consult_codex, consult_codex_with_stdin, and consult_codex_batch. None of them accepts or returns a session_id, so step 1 of the reproduction ("tool returns a session_id") is not reachable. The server also never passes --model to codex; it runs codex exec and lets the CLI use its own configured default. A silent model substitution is therefore not possible from this code.
Two further signals point elsewhere:
The reported version is 1.0.0; the current release is 1.2.3, and no released version has ever had a review_plan tool.
The quoted error contradicts itself — "Model gpt-5.4 is not supported ... Fall back to gpt-5.4 by setting model: gpt-5.4". That text is not emitted by this server.
The underlying constraint you hit is real: ChatGPT-subscription Codex accounts do reject certain models, and that rejection comes from the Codex CLI and your account tier. But the wrapper that reads .reviewbridge.json and exposes review_plan is a different package. Could you confirm which tool you have installed? The report looks like it belongs to a project named ReviewBridge.
Closing here as not-applicable. Happy to reopen if you can reproduce the failure using one of the three tools listed above.
Activity
Keesan12 commentedon Jul 21, 2026
A continued session should be bound to the provider and model that created it. If either changes, I would require an explicit fork and carry the prior session in as evidence, rather than silently pretending the same conversation continued. The receipt should make that boundary obvious.
We are building MartinLoop around this kind of continuity because model drift can quietly change both behavior and trust. I would be glad to test the fix with a provider-switch matrix and share where the session identity still becomes ambiguous. https://github.com/Keesan12/martin-loop
eLyiN commentedon Aug 3, 2026
Thanks for the detailed report. This appears to be filed against the wrong project — the symptoms do not match codex-bridge.
None of the described surface exists in this repository:
review_plantoolsession_idparameter.reviewbridge.jsonconfig--modelflag passed to the CLIMODEL_ERROR:message prefixcodex-bridge exposes exactly three tools —
consult_codex,consult_codex_with_stdin, andconsult_codex_batch. None of them accepts or returns asession_id, so step 1 of the reproduction ("tool returns a session_id") is not reachable. The server also never passes--modeltocodex; it runscodex execand lets the CLI use its own configured default. A silent model substitution is therefore not possible from this code.Two further signals point elsewhere:
review_plantool.gpt-5.4is not supported ... Fall back togpt-5.4by settingmodel: gpt-5.4". That text is not emitted by this server.The underlying constraint you hit is real: ChatGPT-subscription Codex accounts do reject certain models, and that rejection comes from the Codex CLI and your account tier. But the wrapper that reads
.reviewbridge.jsonand exposesreview_planis a different package. Could you confirm which tool you have installed? The report looks like it belongs to a project named ReviewBridge.Closing here as not-applicable. Happy to reopen if you can reproduce the failure using one of the three tools listed above.