Comparing how Claude Code, Codex, and opencode let you customize the terminal status line, focusing on Codex's config.toml approach. Codex only accepts an ordered list of built-in item identifiers rather than a custom script or command, unlike Claude Code which accepts any executable. The 26 valid identifiers (like model-with-reasoning, git-branch, context-used) are undocumented in the official config reference and were found by digging through Codex's Rust source code at version 0.146.1. Testing showed that codex doctor does not validate these identifiers - a made-up name like totally-bogus-item passes the config check without error, so the only reliable verification is visually checking the rendered status line.

3m read timeFrom allaboutcoding.ghinda.com
Post cover image
Table of contents
CodexPractical ideas from this

Questions this post answers

What are the valid status_line item names for Codex's config.toml in version 0.146.1?

Codex version 0.146.1 supports 26 built-in status line identifiers found in its source code: approval-mode, branch-changes, codex-version, context-remaining, context-used, context-window-size, current-dir, fast-mode, five-hour-limit, git-branch, model, model-with-reasoning, permissions, project-name, pull-request-number, raw-output, reasoning, run-state, task-progress, thread-id, thread-title, total-input-tokens, total-output-tokens, used-tokens, weekly-limit, and workspace-headline. These are not listed in the official config documentation. Track undocumented CLI config details like these Codex status-line identifiers by following coding-agent tooling on daily.dev.

Does codex doctor validate the status_line item names in config.toml?

No, running codex doctor --summary does not catch invalid status_line identifiers. Setting status_line to include a made-up name like totally-bogus-item in config.toml still causes the doctor command's configuration check to report the config as loaded successfully, with no error flagged for the unrecognized item. Verify status line entries visually instead of relying on the doctor command. Developers debugging Codex TUI configs can compare notes on quirks like this via daily.dev.

Can I use a custom script or command for the status line in Codex like I can in Claude Code?

No, Codex only lets you choose from a fixed, ordered list of built-in status line item identifiers set under [tui] status_line in config.toml, with no option to run a custom script or command. Claude Code, by contrast, accepts any executable command via the statusLine setting in ~/.claude/settings.json, allowing arbitrary processing such as reading session data. Comparing CLI coding agent customization options like this is easier when following vibes-focused updates on daily.dev.

61 Impressions