DEV Community

J Now
J Now

Posted on

Klein blue is invisible as text — here's how I worked around it

I use Claude Code for hours every day, and most of what I read is prose — tool output, reasoning traces, permission prompts. Terminal themes are built for syntax highlighting: dark backgrounds with fine-tuned keyword colors. That's the wrong optimization when your screen is 80% English paragraphs.

I wanted a theme tuned for body-size prose legibility over long sessions, anchored to a single color I actually cared about: Yves Klein's IKB, the ultramarine pigment he mixed himself and patented in 1960. Pure IKB is hex 002FA7.

First thing I found: pure IKB fails as text on a dark background. APCA Lc score of -12 — effectively invisible. You can use it as decoration, borders, highlights. You cannot use it as readable text.

Claude Code maps its permission-prompt text to the terminal's ansi:blue slot. If I dropped IKB into ansi:blue, the prompts would disappear. So I split the role across two slots:

ansi:blue       = 002FA7   // pure IKB — decorative borders, structural chrome
ansi:blueBright = A8BEF0   // lifted Klein-family blue — permission-prompt body text
Enter fullscreen mode Exit fullscreen mode

The bright slot carries the readable text. The base slot carries the pigment. Neither lies about what it is — one is the color as an object, one is the color as legible language.

The theme ships in four variations. Klein Void Prot is the one where every color role passes strict APCA gates: body text >= Lc 90, subtle >= 75, muted >= 45, accents >= 60. The others trade some strictness for warmth or brand character — Klein Void Sand & Sea accepts Claude's ansi:redBright sand color as a second hero instead of neutralizing it.

One implementation detail worth noting: none of this works unless you set Claude Code's /theme picker to dark-ansi. Claude Code ships with a hardcoded RGB palette and will ignore your terminal's ANSI colors entirely unless you explicitly switch it off.

Built as macOS Terminal.app .terminal profile files. Includes install.sh and restore.sh — fully rollback-able. CommitMono-Regular on the Prot variation, IBM Plex Mono on Gallery.

https://github.com/robertnowell/klein-void

Top comments (0)