Skip to content

TUI /statusline exposes duplicate context-remaining options that render the same value #18045

@zhatlas

Description

@zhatlas

What version of Codex CLI is running?

codex-cli 0.121.0

What subscription do you have?

Plus

Which model were you using?

gpt-5.4

What platform is your computer?

Linux 6.6.87.2-microsoft-standard-WSL2 x86_64 x86_64

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

Windows Terminal

What issue are you seeing?

The /statusline picker exposes both context-remaining and context-remaining-percent as separate user-selectable options, but in the current implementation they render the exact same footer text: Context {remaining}% left.

Because they are separate IDs in the picker, both can be enabled at the same time, which produces duplicate footer output such as:

Context 100% left · Context 100% left

From a user perspective this looks like a bug, or at least an uncollapsed compatibility alias that leaked into the UI.

What steps can reproduce the bug?

  1. Run Codex CLI 0.121.0.
  2. Open /statusline.
  3. Notice that both context-remaining and context-remaining-percent are listed as separate options with the same description.
  4. Enable both options.
  5. Return to the main TUI and observe the footer.

What is the expected behavior?

Only one user-facing option should be shown for this feature, unless the two options intentionally render different information.

Reasonable fixes would be either:

  • keep only one visible option in /statusline and treat the other as a backward-compatible config alias, or
  • make the two options render distinct output if both are intended to remain user-facing.

Additional information

This seems adjacent to #17438, but this report is specifically about duplicate selectable options and duplicate footer rendering, not the earlier meter-vs-percent regression.

I also confirmed this in the current codebase: StatusLineItem::ContextRemaining and StatusLineItem::ContextRemainingPercent are separate selectable IDs, but both map to the same rendered string branch in the status-line renderer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    TUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal displaybugSomething isn't workingregressionBehaviors that worked in previous versions but were broken due to an update

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions