codex - 💡(How to fix) Fix CLI: /status shows ChatGPT usage link for non-OpenAI providers (e.g. Bedrock)

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

The /status command unconditionally displays "Visit https://chatgpt.com/codex/settings/usage for up-to-date information on rate limits and credits" regardless of the configured model provider. When an organization deploys Codex with a non-OpenAI provider like AWS Bedrock, this link is irrelevant and confusing — it directs users to a ChatGPT page that has nothing to do with their actual usage or billing.

Root Cause

Enterprise admins configuring Codex with Bedrock (or other non-OpenAI providers) don't want their users clicking through to chatgpt.com. The link is:

  • Irrelevant — rate limits and credits are managed through the organization's AWS account, not ChatGPT
  • Confusing — users may think they need a ChatGPT account or that their usage is tracked there
  • Undesirable from an admin perspective — it directs users to an external service unrelated to their deployment

Code Example

let note_first_line = Line::from(vec![
    Span::from("Visit ").cyan(),
    "https://chatgpt.com/codex/settings/usage"
        .cyan()
        .underlined(),
    Span::from(" for up-to-date").cyan(),
]);
let note_second_line = Line::from(vec![
    Span::from("information on rate limits and credits").cyan(),
]);
let note_lines = adaptive_wrap_lines(
    [note_first_line, note_second_line],
    RtOptions::new(available_inner_width),
);
lines.extend(note_lines);

---

if self.model_provider.is_none() {
    // Only show chatgpt.com link for default OpenAI provider
    lines.extend(note_lines);
    lines.push(Line::from(Vec::<Span<'static>>::new()));
}
RAW_BUFFERClick to expand / collapse

Summary

The /status command unconditionally displays "Visit https://chatgpt.com/codex/settings/usage for up-to-date information on rate limits and credits" regardless of the configured model provider. When an organization deploys Codex with a non-OpenAI provider like AWS Bedrock, this link is irrelevant and confusing — it directs users to a ChatGPT page that has nothing to do with their actual usage or billing.

Why This Matters

Enterprise admins configuring Codex with Bedrock (or other non-OpenAI providers) don't want their users clicking through to chatgpt.com. The link is:

  • Irrelevant — rate limits and credits are managed through the organization's AWS account, not ChatGPT
  • Confusing — users may think they need a ChatGPT account or that their usage is tracked there
  • Undesirable from an admin perspective — it directs users to an external service unrelated to their deployment

Environment

  • Component: codex-rs TUI (codex-rs/tui/src/status/card.rs, lines 749-763)
  • Provider: AWS Bedrock (likely affects all non-OpenAI providers)

Steps to Reproduce

  1. Configure Codex to use Bedrock as the model provider
  2. Run /status
  3. Observe the ChatGPT usage link displayed at the top of the status output

Expected Behavior

The ChatGPT usage link should only appear when the configured provider is OpenAI. For other providers, either omit the note entirely or show a provider-appropriate message.

Actual Behavior

The note is rendered unconditionally at lines 749-763 of codex-rs/tui/src/status/card.rs with no check against the model provider:

let note_first_line = Line::from(vec![
    Span::from("Visit ").cyan(),
    "https://chatgpt.com/codex/settings/usage"
        .cyan()
        .underlined(),
    Span::from(" for up-to-date").cyan(),
]);
let note_second_line = Line::from(vec![
    Span::from("information on rate limits and credits").cyan(),
]);
let note_lines = adaptive_wrap_lines(
    [note_first_line, note_second_line],
    RtOptions::new(available_inner_width),
);
lines.extend(note_lines);

Suggested Fix

The codebase already has the information needed. self.model_provider is None for default OpenAI and Some(...) for non-OpenAI providers (set via format_model_provider which uses provider.is_openai()). Gate the usage note:

if self.model_provider.is_none() {
    // Only show chatgpt.com link for default OpenAI provider
    lines.extend(note_lines);
    lines.push(Line::from(Vec::<Span<'static>>::new()));
}

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix CLI: /status shows ChatGPT usage link for non-OpenAI providers (e.g. Bedrock)