DEV Community

J Now
J Now

Posted on

Four terminal themes for prose legibility, built around a single pigment

Reading paragraphs in a terminal for hours reveals a real problem: most themes are tuned to make keywords pop, not to make body text comfortable. Syntax colors at high saturation that work fine for ten minutes of glancing at code become fatiguing at ninety minutes of reading tool output and reasoning traces.

klein-blue has four variations, and the split between them comes down to one concrete question: how should the host application's brand color live in your terminal?

Claude Code routes its brand orange through ansi:redBright. Ignore that slot and you get an uninvited color. Accept it intentionally and you can treat it as a second design anchor. The four variations each give a different answer:

Klein Void Gallery neutralizes the orange entirely — one blue family, maximum void. Klein Void Sand & Sea accepts both heroes: IKB-family blue alongside the claude-sand orange as a deliberate pair. Klein Void Refined lands between them. Klein Void Prot applies hard APCA gates across every role — body Lc >= 90, subtle >= 75, muted >= 45, accent >= 60 — and is the only variation where all accent slots are strictly verified.

The anchor color itself required a mechanical fix. Pure IKB, the ultramarine Yves Klein registered in 1960, scores Lc -12 under APCA on a dark ground — effectively invisible as text. So IKB lives in ansi:blue for decorative borders only. A lifted Klein-family value goes into ansi:blueBright, the slot Claude Code uses for permission-prompt text, where it needs to read.

One setup requirement that swallows people: Claude Code's /theme must be set to dark-ansi. Leave it on the default and the application ignores the Terminal.app profile entirely and falls back to hardcoded RGB.

MacOS Terminal.app only. Installs via install.sh, rolls back via restore.sh.

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

Top comments (0)