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
- Configure Codex to use Bedrock as the model provider
- Run
/status
- 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()));
}
Summary
The
/statuscommand 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:
Environment
codex-rsTUI (codex-rs/tui/src/status/card.rs, lines 749-763)Steps to Reproduce
/statusExpected 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.rswith no check against the model provider:Suggested Fix
The codebase already has the information needed.
self.model_providerisNonefor default OpenAI andSome(...)for non-OpenAI providers (set viaformat_model_providerwhich usesprovider.is_openai()). Gate the usage note: