CLI: weekly rate-limit status-line item disappears after /resume

Open 💬 0 comments Opened Jul 30, 2026 by cyenxchen

What version of Codex CLI is running?

codex-cli 0.146.0

What subscription do you have?

ChatGPT Plus

Which model were you using?

gpt-5.6-sol

What platform is your computer?

Darwin 25.6.0 arm64 arm (macOS 26.6)

What terminal emulator and version are you using (if applicable)?

cmux 0.64.20 (100) with Ghostty 1.3.2-HEAD-+bb30526

Codex doctor report

The full report contains local absolute paths and rollout identifiers, so this is the relevant redacted subset:

{
  "schemaVersion": 1,
  "overallStatus": "warning",
  "codexVersion": "0.146.0",
  "auth": {
    "status": "ok",
    "mode": "chatgpt"
  },
  "config": {
    "status": "ok",
    "model": "gpt-5.6-sol"
  },
  "installation": {
    "status": "ok",
    "method": "standalone",
    "platform": "macos-aarch64"
  },
  "network": {
    "providerReachability": "ok",
    "websocketReachability": "ok"
  },
  "terminal": {
    "status": "ok",
    "name": "Ghostty",
    "version": "1.3.2-HEAD-+bb30526"
  },
  "updates": {
    "status": "ok",
    "latestVersion": "0.146.0"
  }
}

The unrelated warning is a local rollout-file/state-DB parity warning.

What issue are you seeing?

The weekly-limit item is visible in the TUI footer for a newly started session, but disappears immediately after using /resume to switch to a saved session.

The configured status line is:

[tui]
status_line = [
  "git-branch",
  "model-with-reasoning",
  "context-used",
  "five-hour-limit",
  "weekly-limit",
]

After resume, the non-rate-limit fields remain visible, for example:

cm2-104 · gpt-5.6-sol xhigh · Context 21% used

The expected weekly NN% left segment is missing.

What steps can reproduce the bug?

  1. Sign in with ChatGPT authentication.
  2. Configure tui.status_line with weekly-limit as shown above.
  3. Start a new Codex CLI session and confirm that weekly NN% left appears in the footer.
  4. Run /resume.
  5. Select a different saved session.
  6. Observe the footer after the saved transcript is loaded.

What is the expected behavior?

The account-scoped weekly rate-limit item should remain visible, or be fetched again immediately, after the resumed session replaces the current session.

Additional information

Code inspection on current main suggests the rate-limit snapshot is scoped to the current ChatWidget:

  • Startup explicitly performs a non-blocking account rate-limit prefetch in app.rs.
  • A successful /resume replaces the widget in session_lifecycle.rs, but that success path does not trigger another account rate-limit refresh.

This suggests the replacement widget starts without the snapshot that populated weekly-limit. A possible fix is to trigger the same non-blocking prefetch after the replacement widget is attached, or keep account-scoped rate-limit state outside the per-session widget.

View original on GitHub ↗