For the last few months I've been reading AI coding assistant output for three to four hours a day. Tool results, permission prompts, reasoning traces — almost all of it is paragraphs of English prose, not source code. The ANSI palette I was using was designed to make const pop against a dark background. That's not the job.
So I built klein-void: four Terminal.app themes tuned specifically for body-size prose legibility, anchored to Yves Klein's IKB blue.
The constraint that shaped everything: pure IKB fails as text on a dark ground — APCA Lc -12, effectively invisible. I still wanted it, so I split it across two ANSI slots. ansi:blue gets pure IKB for decorative borders and highlights where legibility doesn't matter. ansi:blueBright — which Claude Code uses for permission-prompt text you actually need to read — gets a lifted Klein-family blue that clears the APCA body threshold.
The four variations differ on one axis: what to do with the ansi:redBright slot, which Claude Code maps to its claude-sand brand color. Klein Void Refined neutralizes it so IKB has no competition. Klein Void Sand & Sea accepts claude-sand as a second hero color. Klein Void Prot is the strict one — every accent passes APCA gates (body >= 90, subtle >= 75, muted >= 45, accent >= 60). Klein Void Gallery goes maximum void: one blue, everything else near-neutral.
One thing worth knowing before you install: Claude Code has to be set to dark-ansi via /theme. If you leave it on its default, it uses hardcoded RGB and the ANSI profile is completely ignored — the theme does nothing.
Ships as .terminal profiles with an install script, restore script, and your choice of CommitMono or IBM Plex Mono depending on variation. MIT licensed.
Top comments (0)