Pick one from Catppuccin, Dracula, and other classic palettes, paste it into Codex — no color tweaking needed.
A Codex theme is a file that defines your editor's colors — the App uses codex-theme-v1 JSON, the CLI uses a TextMate .tmTheme file. It only changes the background, accent color, syntax highlighting, and diff colors — nothing about functionality. Same code, different palette and contrast, easier on your eyes during long sessions. Codex ships with only a handful of built-in themes; everything here is a community-tested classic palette — copy it and import, no color picking required.
Browse the galleryPicking a theme is faster by use case than by screenshot. Writing code for long stretches and want less eye strain? Go dark. Working in bright light, or you just prefer a light UI? Go light. Coming from VS Code or Sublime and want something instantly familiar? Editor Classics are ports of those exact palettes. Contrast or color blindness affects how you read code? High Contrast / Accessibility themes are tuned for readability first. The four categories map to different habits, not just how dark or light a color looks.
Easier on your eyes during long coding sessions, better contrast in low light.
View allClearer in bright light or daytime work, for anyone who prefers a light UI.
View allPorts of classic palettes like Dracula and One Dark from other editors — no re-adjusting when you switch.
View allHigher contrast for color blindness and low vision, readability first.
View allCodex App and Codex CLI use two different theme formats: the App uses codex-theme-v1 JSON, the CLI uses TextMate's .tmTheme — they're not interchangeable and need to be imported separately. If you use both interfaces, themes often end up mismatched. Every theme here ships in both formats, or use the CLI sync tool to keep them aligned.
Codex App
Uses codex-theme-v1 JSON — controls the UI background, accent color, and syntax highlighting.
Codex CLI
Uses a TextMate .tmTheme file — only affects syntax highlighting and diff colors in the terminal.
It's usually the codeThemeId field — Codex currently only recognizes a few built-in values (like one, matrix, catppuccin); custom values fail silently with no error and no effect. Every theme here already handles that field correctly, so copy-and-import just works. If you're writing your own theme and hit this, check that codeThemeId is set to a built-in value.
No. They're two completely separate formats: the App uses codex-theme-v1 JSON, the CLI uses a .tmTheme file, and neither imports directly into the other. If you use both, you'll need to set each up separately, or use the CLI sync tool to keep them consistent.
Yes — every theme here is free. They're sourced from open-source palettes like Catppuccin and Dracula (MIT or equivalent open licenses), so you can use them with no payment or subscription required.
Yes. Use the builder to adjust colors visually and export the JSON — no hand-written code needed, and it automatically avoids the codeThemeId silent-failure bug.