codex - 💡(How to fix) Fix Feature request: command-backed/custom statusline rendering in Codex CLI [2 comments, 3 participants]

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…
GitHub stats
openai/codex#20140Fetched 2026-04-30 06:33:16
View on GitHub
Comments
2
Participants
3
Timeline
7
Reactions
0
Timeline (top)
labeled ×3commented ×2closed ×1cross-referenced ×1

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-reasoning
  • task-progress
  • current-dir
  • context-used
  • five-hour-limit
  • weekly-limit

That is useful, but it cannot reproduce richer statuslines that users can build in Claude Code.

Root Cause

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.

Code Example

"statusLine": {
  "type": "command",
  "command": "node \"/Users/me/.claude/statusline.js\""
}

---

Opus 4.7 (1M context) [xhigh] | project ctx ███░░░░░░░ 43% 5h ██████░░░░ 66% 7d ██████░░░░ 62%

---

gpt-5.5 xhigh · ~ · Context 0% used · 5h 98% · weekly 86%
RAW_BUFFERClick to expand / collapse

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-reasoning
  • task-progress
  • current-dir
  • context-used
  • five-hour-limit
  • weekly-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:

  1. A command-backed statusline hook that receives session/status JSON on stdin and prints one statusline string on stdout, matching Claude Code's model.
  2. A custom statusline template format that supports literal text, ANSI styling, unicode/block characters, conditional segments, and current session metrics.
  3. 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

extent analysis

TL;DR

To add support for a customizable statusline in Codex CLI, consider implementing a command-backed statusline hook or a custom statusline template format.

Guidance

  • Investigate the feasibility of adding a command-backed statusline hook that receives session/status JSON on stdin and prints one statusline string on stdout, similar to Claude Code's model.
  • Explore the possibility of introducing a custom statusline template format that supports literal text, ANSI styling, unicode/block characters, conditional segments, and current session metrics.
  • Evaluate the potential of creating a plugin/API surface for statusline providers to allow for more flexibility and customization.
  • Review the current tui.status_line configuration option to determine if it can be extended or modified to support more advanced customization.

Example

No code snippet is provided as the issue is focused on requesting a new feature rather than debugging existing code.

Notes

The solution will depend on the specific requirements and constraints of the Codex CLI project, including the feasibility of implementing a command-backed statusline hook or custom template format.

Recommendation

Apply a workaround by exploring alternative methods for customizing the statusline, such as using external tools or scripts to generate a custom statusline string, until a more permanent solution is implemented.

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 Feature request: command-backed/custom statusline rendering in Codex CLI [2 comments, 3 participants]