Skip to content

Codex CLI cannot use Luna Reserve after standard usage limit is exhausted #40939

Open

Description

@kubrick06010

Summary

Codex CLI appears unable to use the Luna Reserve entitlement after the standard usage limit is exhausted, even though the same ChatGPT account has Luna Reserve available in Codex App.

Reproduction

  1. Use the same ChatGPT Plus account in Codex App and Codex CLI.
  2. In Codex CLI 0.149.1, select model gpt-5.6-luna.
  3. Exhaust the standard 5-hour limit.
  4. Run /status.
  5. Send a minimal prompt such as: Reply only with: OK.

Observed behavior

Codex CLI reports:

5h limit: 0% left
Weekly limit: 73% left

The minimal prompt fails with:

You've hit your usage limit.

At the same time, Codex App, using the same account, shows:

Luna Reserve: 100% remaining

Expected behavior

If Luna Reserve is intended to be available across Codex clients, the CLI should automatically use the reserve after the standard allowance is exhausted, or clearly explain that the entitlement is App-only.

Environment

  • Codex CLI: 0.149.1
  • Plan: ChatGPT Plus
  • Model: gpt-5.6-luna
  • Authentication: ChatGPT account

The CLI already appears to support multiple rate-limit snapshots generically, so this may be an entitlement/request-context parity issue rather than only a /status display issue.

Could you clarify whether Luna Reserve is intentionally limited to Codex App, or whether ChatGPT-authenticated Codex CLI sessions should be able to use the same reserve entitlement?

Activity

  1. added
    bugSomething isn't working
    CLIIssues related to the Codex CLI
    rate-limitsIssues related to rate limits, quotas, and token usage reporting
    on Aug 26, 2026
  2. github-actions commented on Aug 26, 2026

    @github-actions
    Contributor

    Potential duplicates detected. Please review them and close your issue if it is a duplicate.

    Powered by Codex Action

  3. kubrick06010 commented on Aug 26, 2026

    @kubrick06010
    Author

    Thanks. I reviewed #40744, and I don't believe this is a duplicate.

    #40744 is about Codex App Goals: after pausing/resuming a Goal, model/effort switching does not work, which prevents the Goal from continuing in Luna Reserve mode.

    This issue is specifically about Codex CLI. There are no Goals involved. With the same ChatGPT Plus account, Codex App shows Luna Reserve: 100% remaining, while Codex CLI 0.149.1 running gpt-5.6-luna has the standard 5h bucket exhausted and rejects even Reply only with: OK with You've hit your usage limit.

    So the execution paths are different:

    They may share an underlying Luna Reserve entitlement/routing problem, but #40744 does not cover CLI behavior or CLI/App entitlement parity. I'll keep this open unless maintainers confirm that Luna Reserve is intentionally App-only or that both issues have the same underlying fix.

  4. scooter-lacroix commented on Aug 31, 2026

    @scooter-lacroix

    Any updates on this issue? Can confirm on codex v0.151.0 I am experiencing the same.

  5. StdCarrot commented on Sep 2, 2026

    @StdCarrot

    I did some additional testing and was able to narrow this down further.

    After exhausting my regular Codex usage allowance, I found that Luna Reserve appears to use a separate model ID:

    gpt-reserve

    rather than:

    gpt-5.6-luna

    I confirmed that gpt-reserve can be invoked directly from Codex CLI and successfully uses the Luna Reserve allowance even after the regular usage limit has been reached.

    For example:

    codex -m gpt-reserve -c model_reasoning_effort='"xhigh"'
    

    works after the regular usage allowance is exhausted.

    In contrast, explicitly selecting:

    codex -m gpt-5.6-luna
    

    still hits the regular usage limit.

    I also observed that the Luna Reserve model supports reasoning efforts up to:

    low, medium, high, xhigh

    max does not appear to be supported for gpt-reserve.

    However, gpt-reserve does not appear to be exposed through the normal Codex model catalog / model/list, even though the CLI can execute it when the model ID is specified manually.

    So the behavior appears to be:

    • gpt-5.6-luna → exposed normally, uses the regular Codex allowance
    • gpt-reserve → uses the Luna Reserve allowance and is executable when specified manually
    • gpt-reserve → not exposed in the normal model list/catalog
    • gpt-reserve → supports reasoning effort up to xhigh

    This suggests that the issue may not be that Codex CLI cannot use Luna Reserve, but rather that the reserve model is not being exposed/discovered by the CLI.

    It may be worth exposing gpt-reserve in the model catalog when Luna Reserve is available for the authenticated account, so users can select it normally without having to know and manually specify the internal model ID.

  6. crisdosaygo commented on Sep 2, 2026

    @crisdosaygo

    Is this the fix? @StdCarrot

  7. StdCarrot commented on Sep 2, 2026

    @StdCarrot

    This is from OpenAI's model API, so, it can not fix by this projects.
    Anyway, you can use the model using commandline or customize model_cache.json.

  8. NOBUTOKA commented on Sep 5, 2026

    @NOBUTOKA

    I am seeing what appears to be the same underlying entitlement/gating issue in the Codex desktop app on Windows, with one additional detail that may be useful.

    In my case, the regular 5-hour limit was exhausted, but the weekly limit still had remaining capacity. Luna Reserve itself remained usable:

    • workspace file reads worked
    • command execution worked
    • Luna continued reasoning normally
    • but file modification was rejected with an account/Codex usage-limit error

    The app explicitly reported that the file editing tool / apply_patch was rejected because the usage limit had been reached.

    I also reproduced this in a brand-new thread started directly with Luna Reserve, so it does not appear to be caused by switching models or stale conversation state.

    This differs from #42206, where the weekly limit was exhausted while the 5-hour limit was still available. In my case, the opposite regular quota bucket was exhausted: the 5-hour limit was at 0% while weekly usage was still available.

    That suggests the write/edit path may be gated by whichever regular Codex allowance is exhausted, even though Luna Reserve inference itself is authorized and functioning.

    For comparison:

  9. kubrick06010 commented on Sep 6, 2026

    @kubrick06010
    Author

    I tested the proposed gpt-reserve workaround on Codex CLI v0.153.4 and can confirm it does not work for my account.

    Environment / state:

    • Codex CLI: 0.153.4
    • Plan: ChatGPT Plus
    • Standard 5h limit: 0% left
    • Weekly limit: 2% left

    Command:

    codex -m gpt-reserve -c model_reasoning_effort='"xhigh"'

    The CLI accepts the model and starts normally, showing:

    model: gpt-reserve xhigh
    

    But even a trivial prompt such as hola immediately fails with:

    You've hit your usage limit.
    

    So at least for this account, the problem is not only that gpt-reserve is hidden from the model catalog. The CLI/backend recognizes the model ID, but the session still does not receive access to the Luna Reserve allowance once the normal bucket is exhausted.

    This reproduces the original issue on a newer CLI version and directly tests the workaround mentioned above.

  10. Nefcanto commented on Sep 7, 2026

    @Nefcanto

    This command worked for me:

    codex -m gpt-reserve -c model_reasoning_effort='"xhigh"'
    

    Run it, then say 'hi'. At first, it tells you that your low on limit and you should change your model. But just choose keep current model and then you can go with the reserve gpt.

    Yet, I think is it possible to reduce the effort?

  11. jiangnanqing188 commented on Sep 8, 2026

    @jiangnanqing188

    Additional independently uploaded diagnostics from Linux x86_64, ChatGPT Plus, Codex CLI 0.153.4.

    Observed today:

    • /status shows a separate gpt-reserve Weekly limit with 84% left.
    • /model does not list gpt-reserve; it only lists the normal selectable models, including gpt-5.6-luna.
    • Normal gpt-5.6-luna usage is working. This report is specifically about the separate reserve entitlement not being discoverable or normally selectable/routed in the CLI.
    • Manually starting codex -m gpt-reserve works while the regular quota still has capacity, confirming that the model ID and entitlement exist. This does not validate automatic reserve routing after the regular quota is exhausted.
    • The ChatGPT desktop app can expose/use the reserve path, while the CLI has no normal picker entry for it.

    Expected: when /status exposes a gpt-reserve balance, the CLI should provide a supported way to select it or automatically route eligible Luna traffic to it after the normal allowance is exhausted.

    Uploaded feedback thread with the minimal reproduction and logs: 01a07f5a-14ae-75c1-9eb0-e24c9d6b087b

  12. NiuanLucas commented on Sep 16, 2026

    @NiuanLucas

    Still reproducible on Codex CLI 0.154.0 on Linux.

    I am using ChatGPT Plus.

    After exhausting the regular 5-hour usage limit, Codex correctly switches to:

    Model: Luna Reserve (reasoning medium)

    The TUI footer also displays:

    Luna Reserve medium

    However, every prompt immediately fails with:

    You've hit your usage limit. Upgrade to Pro, purchase more credits or try again after the regular limit reset.

    I also tested a completely fresh session with:

    codex -m gpt-reserve

    The new session correctly displayed Luna Reserve, but even a minimal prompt returned the same usage limit error.

    Environment:

    Codex CLI: 0.154.0
    Subscription: ChatGPT Plus
    OS: Ubuntu 22.04 x86_64
    Authentication: ChatGPT
    Model: Luna Reserve / GPT-5.6 Luna
    Reasoning: Medium
    Regular 5h usage: 0% left
    codex doctor: 19 ok · 1 idle · 0 warn · 0 fail
    WebSocket connectivity: OK
    OpenAI endpoint reachable
    No proxy configured

    This reproduces both in an existing session and in a fresh gpt-reserve session.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLIbugSomething isn't workingrate-limitsIssues related to rate limits, quotas, and token usage reporting

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions