Control over color theme in TUI

Resolved 💬 31 comments Opened Jul 18, 2025 by doggy8088 Closed Feb 23, 2026
💡 Likely answer: A maintainer (etraut-openai, contributor) responded on this thread — see the highlighted reply below.

The color theme of the Codex CLI is a MUST for customization.

View original on GitHub ↗

31 Comments

MiguelRipoll23 · 10 months ago

Something similar to “posting”

drswobodziczka · 9 months ago

At the moment when using codex in a little bit dark terminal (warp) but with the background looking kind of gray then the cursor which is black is completely not visible Just take a look at the screen.

level easy ->

<img width="364" height="69" alt="Image" src="https://github.com/user-attachments/assets/5bddaac4-593d-4f69-80a4-5634e47b0f0d" />

level hard ->

<img width="355" height="90" alt="Image" src="https://github.com/user-attachments/assets/e294758a-9010-49bc-98aa-e18a8645a5da" />

Can you see it? Yeah, I can't. :) But believe me, it's there.

So the question is, can I somehow customize the colors for the Codex CLI agent app?

PaulRBerg · 9 months ago

Customization is one thing, but another thing is that the default color scheme is not great. OpenAI should improve it.

Coming from Claude Code, I find that Codex's color scheme makes text harder to read.

boris-lapouga · 9 months ago

I support it. Current theme is totally unreadable. I understand that's a design language of OpenAI, but it's not a good fit for terminal development. No shame in copying from Claude Code, or allowing users to set some color codes for similar to CC "settings.json" file.

arsaccol · 9 months ago

Google's gemini-cli has some great support for color themes as well, under the /theme command.

heeseon87 · 9 months ago

Color improvements will probably come after the release of GPT-6.

rr- · 9 months ago

<img width="835" height="456" alt="Image" src="https://github.com/user-attachments/assets/61737421-f2a2-4b27-96c6-8487a585bff6" />

Here's how it looks for me after update. 100% unusable

Edit: works with export TERM=dumb which loses me other syntax highlighting

Elijas · 9 months ago
<img alt="Image" width="835" height="456" src="https://private-user-images.githubusercontent.com/1045476/501894949-61737421-f2a2-4b27-96c6-8487a585bff6.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjA2NzUzNzIsIm5iZiI6MTc2MDY3NTA3MiwicGF0aCI6Ii8xMDQ1NDc2LzUwMTg5NDk0OS02MTczNzQyMS1mMmEyLTRiMjctOTZjNi04NDg3YTU4NWJmZjYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MTAxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTEwMTdUMDQyNDMyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NjgxYjgwNmY2ODcwNTM1NzlkNmNjYWFjYzczZjUwMjFiZTRmN2E4MDBkMjEzYTcxMDNlZmFhZWZlMmIyM2I4MiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.q-utbvnlQnckpkOdKv_FeYD3aq-5dGXIc3T-XXe6IEg"> Here's how it looks for me after update. 100% unusable Edit: works with export TERM=dumb which loses me other syntax highlighting

I had the same, solved it by restarting the terminal app

Hargbratch · 8 months ago

yes this is painful, I can barely read in darkmode

<img width="1919" height="529" alt="Image" src="https://github.com/user-attachments/assets/b2c7a533-4dfb-4707-8501-612298d51e04" />

Hargbratch · 8 months ago

ahh this is intentional, how unfortunate

<img width="1271" height="366" alt="Image" src="https://github.com/user-attachments/assets/e57c0e90-af24-4e22-b0eb-56e5516b9742" />

Hargbratch · 8 months ago

for those who simply cannot live with it, clone the repo, get rustup going on your machine, run this command: rg -l --fixed-strings '.dim()' | xargs -r sed -i 's/\.dim()/\.light_cyan()/g' followed by cargo run --bin codex inside of codex/codex-rs - it doesn't take that long and it sure is an improvement.

<img width="864" height="530" alt="Image" src="https://github.com/user-attachments/assets/0e5525d8-4ec2-4042-8fde-c5ad8b432360" />

edit: you'll wanna add it to your PATH then too....

zomem · 8 months ago

使用 codex 修改了 codex 配色。但它的总结内容,还是没有 claude code 那样易读。
<img width="808" height="741" alt="Image" src="https://github.com/user-attachments/assets/b8f1da35-e3d9-44ee-b636-728a90bec005" />

Wan9xy · 8 months ago
使用 codex 修改了 codex。但它的总结内容,还是没有 claude 代码那样易读。 <img alt="图像" width="808" height="741" src="https://private-user-images.githubusercontent.com/19793378/515472103-b8f1da35-e3d9-44ee-b636-728a90bec005.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjM2MDQxMjAsIm5iZiI6MTc2MzYwMzgyMCwicGF0aCI6Ii8xOTc5MzM3OC81MTU0NzIxMDMtYjhmMWRhMzUtZTNkOS00NGVlLWI2MzYtNzI4YTkwYmVjMDA1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTExMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMTIwVDAxNTcwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU0N2RhOWM1YjA2NTk3ZDdmNzNlMmY1ZWVmMTIyNmYxNGNhZDQ1NjY3Zjc1Y2NmOGM3NzBlN2EzNDk5ZjczOGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.fSlCK44cT3_ZdOKrGk0VGmg-_1xNBEeCyxgZTooup50">

To be honest, this display style is already excellent compared to the existing one.

uhs-robert · 7 months ago

Competitors, like Gemini, offer a vastly superior customization experience with /theme and offer fully comprehensive customization options as well.

  • Users can opt to use their native terminal's ANSI colors
  • Users can select from pre-packaged popular color schemes like Atom One, Ayu, Dracula, etc.
  • Users can create their own custom color scheme via JSON, like so:

``json
{
"AccentBlue": "#519BFF",
"AccentCyan": "#5ABAAE",
"AccentGreen": "#53D390",
"AccentPurple": "#C28EFF",
"AccentRed": "#D06666",
"AccentYellow": "#F0E68C",
"Background": "#101825",
"Comment": "#467B99",
"DiffAdded": "#8DCD7E",
"DiffModified": "#D4A017",
"DiffRemoved": "#A23B3B",
"Foreground": "#D9E6FA",
"GradientColors": [
"#1CA0FD",
"#FFA0A0",
"#FFA247"
],
"Gray": "#30556d",
"LightBlue": "#87CEEB",
"name": "Oasis Lagoon",
"type": "custom"
}
``

---

This level of customization is the bar set by competitors. This should be the bar that Codex aims to reach at the very minimum if Codex wants to consider itself a competitor.

Eriz1818 · 5 months ago

I implemented /themes (theme selection + theming support) in my fork, xCodex (xcodex).

xCodex only (WIP): https://github.com/Eriz1818/xCodex
Docs: https://github.com/Eriz1818/xCodex/blob/main/docs/xcodex/themes.md

What it adds:

  • Repo-local theme files (YAML) and a built-in theme catalog with 400+ themes.
  • /themes to browse/select themes (and preview in the TUI).
  • config.toml support to set theme mode and default light/dark themes.
  • custom themes can be added, there are roles for multiple things, more can be added
  • you can have different themes for light and dark modes in the OS

Example (config):
[themes]
dir = "$CODEX_HOME/themes"
theme_mode = "auto" # auto|light|dark
light = "default"
dark = "default"

Notes:

  • This is UI/theming only; no model behavior changes.
Chavao · 5 months ago
I implemented /themes (theme selection + theming support) in my fork, xCodex (xcodex).

Will you open a pull request to this feature?

etraut-openai contributor · 5 months ago

@Chavao, this feature needs to be designed before we jump into an implementation. If you'd like to suggest a design proposal, you could post here in this thread.

Eriz1818 · 5 months ago
> I implemented /themes (theme selection + theming support) in my fork, xCodex (xcodex). Will you open a pull request to this feature?

@Chavao According to the contribution guidelines, Codex doesn't allow PRs for features. So, unfortunately, no.

mert-kurttutan · 5 months ago
> > I implemented /themes (theme selection + theming support) in my fork, xCodex (xcodex). > > > Will you open a pull request to this feature? @Chavao According to the contribution guidelines, Codex doesn't allow PRs for features. So, unfortunately, no.

I have read their reasoning in the relevant markdown document still seems not ideal solution. At least you can adapt something similar to the policy of Ghostty codebase where you get vouched after you provided reasonable outline for your contribution through discussions. This seems like redundant gatekeeping slowing down potentially good PRs

tummetott · 5 months ago
Competitors, like Gemini, offer a vastly superior customization experience with /theme and offer fully comprehensive customization options as well. Users can opt to use their native terminal's ANSI colors Users can select from pre-packaged popular color schemes like Atom One, Ayu, Dracula, etc. * Users can create their own custom color scheme via JSON

I second this. codex should at least give the possibility to use ANSI colors. The hardcoding is terrible

etraut-openai contributor · 4 months ago

Control over themes is included in the next release. Currently, the theming is focused on syntax highlighting for code. We are considering extending this to other aspects of the TUI. If you have specific ideas, please open new feature requests. Looking forward to your input!

rpx99 · 4 months ago

Just updated. Full line colours in windows cmd hurt my eyes (especially red) across the board with all themes available. 🥺

Is this as intended ?

<img width="1221" height="270" alt="Image" src="https://github.com/user-attachments/assets/6b5428e9-61cd-406d-baad-66a7140b4956" />

mgpx · 4 months ago
Just updated. Full line colours in windows cmd hurt my eyes (especially red) across the board with all themes available. 🥺

Exactly, it looks awful. If you browse to /theme, some themes don't show any difference. I believe this is some kind of bug.
I now see the mention that it's fixed in codex-rs/tui/src/diff_render.rs here

mortalnow · 4 months ago

This is closed? I still can't see /theme

etraut-openai contributor · 4 months ago

@mortalnow, which version of the CLI are you using? The /theme slash command was added several weeks ago.

<img width="435" height="90" alt="Image" src="https://github.com/user-attachments/assets/d5180ec7-2ca7-4a53-ae14-f7a6c9b232ae" />

mortalnow · 4 months ago
@mortalnow, which version of the CLI are you using? The /theme slash command was added several weeks ago. <img alt="Image" width="435" height="90" src="https://private-user-images.githubusercontent.com/223546144/560693224-d5180ec7-2ca7-4a53-ae14-f7a6c9b232ae.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzMxMjA5NTAsIm5iZiI6MTc3MzEyMDY1MCwicGF0aCI6Ii8yMjM1NDYxNDQvNTYwNjkzMjI0LWQ1MTgwZWM3LTJjYTctNGE1My1hZTE0LWY3YTZjOWIyMzJhZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwMzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDMxMFQwNTMwNTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04MTkwM2NlNDQ3OGFkNmQ0OTQ5NjdhZGZjNzZlNGFjZWUxZjZkNWFkOWM3NWM1MDMyOGIzNzExNjc3ZDAwMDU4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.XsPB2i6n_uYvNCQsPfgLr_AgThfp9Frupzu86hFPYPk">
@mortalnow, which version of the CLI are you using? The /theme slash command was added several weeks ago. <img alt="Image" width="435" height="90" src="https://private-user-images.githubusercontent.com/223546144/560693224-d5180ec7-2ca7-4a53-ae14-f7a6c9b232ae.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzMxMjEzNzUsIm5iZiI6MTc3MzEyMTA3NSwicGF0aCI6Ii8yMjM1NDYxNDQvNTYwNjkzMjI0LWQ1MTgwZWM3LTJjYTctNGE1My1hZTE0LWY3YTZjOWIyMzJhZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwMzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDMxMFQwNTM3NTVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mNGI2NDE2MjU4OTQ0OGI0OTE4OTFjNWNiZjU2OThlZGFlMWUzMGY2YjcyYTI0NGY5YzRlYTA3N2U1MTU4ZGFiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.MoKtYjrV2aeo6fd_vpdas9F-SDKFbQmbfpt9jWxD7zU">

Thanks, Eric. My mistake—I’ve enabled auto-upgrade.

dhensen · 4 months ago

<img width="427" height="111" alt="Image" src="https://github.com/user-attachments/assets/ec9a44e9-a472-44d3-b25d-45dc8b43e1c4" />

how do I read this? I'm on codex-cli 0.114.0

NickeZ · 3 months ago

Same issue here...

<img width="206" height="90" alt="Image" src="https://github.com/user-attachments/assets/8901fc39-4048-4569-a0e1-76ee647606b9" />

dsent · 3 months ago

With a light theme, the suggestions are almost indistinguishable from the actual text. Moreover, suggestions are more prominent (darker). This is very confusing.

This is a suggestion:
<img width="384" height="111" alt="Image" src="https://github.com/user-attachments/assets/516665ed-d2a9-44e0-826c-362120b25a6d" />

This is actual text:
<img width="384" height="113" alt="Image" src="https://github.com/user-attachments/assets/fc115045-87df-44c1-9cf4-65ff3ee41511" />

fisher-j · 3 months ago

I'm on windows terminal, using a gruvbox light theme. For nearly all themes, the full-line highlights make the code hard to read.

<img width="931" height="185" alt="Image" src="https://github.com/user-attachments/assets/6157592e-d822-4849-955d-08c3e2d705a8" />

VirtualLG · 3 months ago

The /theme command only modifies the code highlighting style and has no effect on the highlighting theme of the TUI.