Allow customizing the status line
Resolved 💬 16 comments Opened Aug 30, 2025 by guidedways Closed Feb 5, 2026
💡 Likely answer: A maintainer (etraut-openai, contributor)
responded on this thread — see the highlighted reply below.
What feature would you like to see?
I'd like to see the current working directory / git branch being worked on in the status line (the area below the entry field). Claude Code offers complete customization of this area, which makes it very easy to see what's important for the project at hand. Right now switching between terminals it's easy to forget what the working directory is.
Are you interested in implementing this feature?
_No response_
Additional information
_No response_
16 Comments
I second this, just knowing the current working directory/git branch details makes this so much better. Additionally, allowing users to customize in a similar manner to Claude would be an extremely useful addition to Codex. I wrote my own custom statusline for Claude in Rust to provide/track stats too, so I'm a little biased here. https://github.com/hagan/claudia-statusline. I would be willing to rework/rename and re-license to support Codex supporting this feature.
@etraut-openai is there interest in this feature and is it something OpenAI intends to produce itself? I am maintaining a fork of Codex to add the status line that I want but rebasing it constantly on upstream is proving very painful. Per CONTRIBUTING.md I'd be happy to contribute a more configurable status line/styling system if contributions like that would be accepted. I'd be happy to post what the API would look like first if that would be a good way to start this conversation, either here or in a new issue.
Thanks for the offer to help. I think we'd be interested in this, but it may be a little while before we can engage. The codex team has limited bandwidth, and we've received many hundreds of great feature requests from the community. We're trying to prioritize bug fixes and feature requests that have the highest impact. We use upvotes (reactions) to help inform priorities. I see that this feature has received some reactions, but there are many other features ahead of it in the queue. Thanks for your patience as we work through the list of feature requests and bug reports. It's gratifying to see the innovative ways that the community is leveraging and extending codex.
If you'd like to post your thoughts below about the shape that this feature could take, that would be most welcome!
Thanks @etraut-openai! This is kind of the end result I'm thinking of, which is what I have working right now:
<img width="1728" height="184" alt="Image" src="https://github.com/user-attachments/assets/dd607108-c1c4-4b4b-b59b-569ec1510b4b" />
Below is the shape I’ve been prototyping in my fork -- figured I’d capture it here so others can react. The inspiration is Starship, for which I have a prompt setup I really like that I want to replicate in my LLM tools.
### Goal
Expose the status area (above the transcript) and the footer (above the composer) as configurable “zones” composed from a small set of modules. My use case is a richer git/mode/context display, but the same hook would let others plug in the pieces they care about without forking Codex.
### Layout Model
header(above the chat widget) andfooter(below the chat widget). Each zone is optional; if unset we fall back to the current renderer.### Segments
Each entry looks like:
modulepoints to a built-in data source.format(optional) is a printf-style string with module-specific placeholders so you can prepend icons or hide fields (e.g. {branch}, {dirty}, {ahead}).fg/bg canreference named colors or raw hex codes. Modifiers (bold, dim, etc.) are boolean flags.transitionis an optional trailing separator (text + fg/bg) rendered exactly where you define it—even on the first or last segment—so you can reproduce powerline-style caps. (Centered elements gettransition_leftandtransition_right.)### Colors
Colors live under statusline.colors:
Segments can use
fg = "accent"orfg = "#ffffff"directly.### Initial Module Catalog
I'm primarily concerned in coding towards parity with my custom status line:
context– token usage meter / percent remaining.tokens– raw counts (total/input/output/reasoning) if you want them broken out.model– model name + reasoning effort.run_state– current task label/spinner (“Working…”, “Idle”, etc.).queued_messages– count or first queued hint.approval_mode,sandbox– current policies.git– branch / dirty / ahead / behind (pulls from the existing git snapshot).kubernetes– current kube context, resolved from ~/.kube/config.aws_profile– active AWS CLI profile.hostname– host the CLI is running on.cwd– working directory (with Starship-esque elipses options).clock– formatted local time.env– environment variables rendered out directly.text– literal copy block (for headings, separators, etc.).I’ve been experimenting with “escape hatches” like custom_command (run a user script) or custom_renderer (pipe the snapshot to an external process and render its response), but those could be follow-ons once the core API settles.
### Example Config
### Behaviour
Let me know if this direction makes sense. Happy to iterate or trim scope, or open a PR if this seems like something y'all would want. If there's no bandwidth to help me shepherd something like this into the code let me know and I'll just continue maintaining my fork.
Hey @etraut-openai -- any interest in pursuing this or wanna just backburner it for the time being?
@Veraticus, thanks for posting your thoughts above. We'll get to it in priority order.
How is it coming along?
how about just copy claude code, status line has been native in Claude Code for a long time
If you want to learn from those who already have it, you should adopt best practices, such as https://github.com/sirmalloc/ccstatusline, and use them right out of the box.
This feature will be included in the next release of the CLI.
so cool !!!!
nice!
FINALLY!!!!!!!
@etraut-openai can you confirm this should now be available in the CLI?
Yes, this is now available! Use the
/statuslineslash command to configure.Its possible to configure the contents of the statusline but can we also extend it to use the theme color or a possibility to configure its output separately ?