For the first few months of using Claude Code, I assumed eye fatigue after long sessions was just the cost of the work. It wasn't. It was a theme designed for syntax highlighting running against a screen that was mostly English prose — tool output, reasoning traces, permission prompts, explanations. The color roles were wrong for the job.
kleIn-blue is four macOS Terminal.app themes built around Yves Klein's IKB pigment, tuned specifically for how Claude Code actually uses ANSI slots.
The concrete problem that shaped every contrast decision: pure IKB (hex 002FA7) fails APCA contrast as text on a dark ground — Lc -12, effectively invisible. But IKB is the whole point. The fix is a split: pure IKB in the ansi:blue slot, which Claude Code uses for decorative borders and highlights (doesn't need to be readable), and a lifted Klein-family A8BEF0 in ansi:blueBright, which is where permission-prompt text actually lands. You get the pigment where it's decorative and legibility where it's load-bearing.
Contrast is enforced with APCA Lc gates per role: body >= 90, subtle >= 75, muted >= 45, accent >= 60. Klein Void Prot (V3) is the only variation where every single accent slot passes strict gates. The other three make deliberate tradeoffs — V2 (Sand & Sea) accepts claude-sand as a second hero color in ansi:redBright rather than neutralizing it; V4 (Gallery) maximizes void at the cost of some accent strictness.
Installs as .terminal profile files. CommitMono-Regular ships with V1 and V3; IBM Plex Mono with V2 and V4, both dropped into ~/Library/Fonts/. One prerequisite worth knowing: Claude Code's /theme picker must be set to dark-ansi — if it's on a hardcoded RGB theme, none of the ANSI slots are in play and the theme is ignored entirely.
Top comments (0)