Skip to content

[BUG] Session continuation silently switches model to gpt-5.3-codex, breaking ChatGPT-tier accounts #4

Closed as not planned

Description

@jvbraceway

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

  1. Call review_plan with no session_id. Request succeeds; tool returns a session_id.
  2. Call review_plan again, passing the session_id from step 1 to continue the thread.
  3. 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

  • I have searched for existing issues
  • I can reproduce this bug consistently
  • I am using a supported Python version (3.9+)
  • Codex CLI is installed and authenticated

Activity

  1. Keesan12 commented on Jul 21, 2026

    @Keesan12

    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

  2. eLyiN commented on Aug 3, 2026

    @eLyiN
    Owner

    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.

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions