Skip to content

Feature request: customizable status line (like Claude Code) #17827

@pkondaurov

Description

@pkondaurov

Feature Request

Problem

Claude Code has a built-in customizable status line feature that allows users to display useful real-time information at the bottom of the terminal UI — token usage, model name, rate limits, context window, git branch, etc.

This is configured via a simple shell script hook in settings:

{
  "statusLine": {
    "type": "command",
    "command": "/bin/bash ~/.claude/statusline.sh",
    "padding": 0
  }
}

The script receives JSON context on stdin and returns formatted text. This is incredibly useful for power users who want to monitor their session at a glance.

Codex CLI currently has no equivalent mechanism. There's no way to display custom information in the TUI — no status line, no hooks, no plugin system for UI customization.

Proposed Solution

Add a statusLine (or similar) configuration option to ~/.codex/config.toml that allows running an external command and rendering its output in the Codex TUI (e.g., at the bottom of the screen).

Something like:

[status_line]
command = "/bin/bash ~/.codex/statusline.sh"
refresh_interval_secs = 10

The command would receive session context (model, token count, etc.) as JSON on stdin and return a single line of text (with ANSI colors) on stdout.

Use Cases

  • Display current model and token/context usage
  • Show API rate limit status and reset times
  • Display git branch and repo info
  • Show project-specific metadata
  • Integration with external monitoring tools

Why This Matters

For users who switch between Claude Code and Codex, the lack of a status line in Codex is a noticeable gap. The status line is a low-cost, high-value feature that significantly improves the interactive experience.

Metadata

Metadata

Assignees

No one assigned

    Labels

    TUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal displayconfigIssues involving config.toml, config keys, config merging, or config updatesenhancementNew feature or request

    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