Feature request: command-backed/custom statusline rendering in Codex CLI
Summary
Please add support for a command-backed or otherwise user-customizable statusline in Codex CLI, similar to Claude Code's statusLine command hook.
Codex CLI currently supports tui.status_line, but it appears to accept only a fixed enum of built-in items such as:
model-with-reasoningtask-progresscurrent-dircontext-usedfive-hour-limitweekly-limit
That is useful, but it cannot reproduce richer statuslines that users can build in Claude Code.
Use case
Claude Code supports a config like:
"statusLine": {
"type": "command",
"command": "node \"/Users/me/.claude/statusline.js\""
}
That allows users to render a compact, high-signal statusline with ANSI colors, unicode/block meters, custom separators, derived context calculations, current task text, and rate-limit bars, for example:
Opus 4.7 (1M context) [xhigh] | project ctx ███░░░░░░░ 43% 5h ██████░░░░ 66% 7d ██████░░░░ 62%
The closest Codex native statusline today renders as plain built-in fields, for example:
gpt-5.5 xhigh · ~ · Context 0% used · 5h 98% · weekly 86%
This lacks the custom labels, colored thresholding, bar meters, compact formatting, and user-defined calculations that are possible in Claude Code.
Requested capability
Please support one of these approaches:
- A command-backed statusline hook that receives session/status JSON on stdin and prints one statusline string on stdout, matching Claude Code's model.
- A custom statusline template format that supports literal text, ANSI styling, unicode/block characters, conditional segments, and current session metrics.
- A plugin/API surface for statusline providers.
Why this matters
For heavy CLI users, the statusline is operational telemetry: model/reasoning, active task, cwd/project, context usage, 5-hour usage, weekly usage, and risk-level coloring. A fixed enum is helpful, but it prevents users from making Codex visually and functionally match existing terminal workflows.
Environment observed
- Codex CLI:
0.125.0 - Platform: macOS
- Current available config path:
[tui] status_line = [...] - Missing capability: arbitrary command/custom renderer for statusline text, colors, high-ascii/unicode meters, and derived metrics
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗