Yves Klein registered International Klein Blue as a pigment in 1960 — IKB 79, ultramarine suspended in resin rather than linseed oil, so the color doesn't deaden when it dries. The depth holds. That's the anchor for this project.
The problem it's solving: most terminal themes assume the screen is mostly code. Syntax tokens, keywords, string literals. When the screen is actually running paragraphs — tool output, reasoning traces, permission prompts, explanations — those themes are optimizing for the wrong distribution. I wanted contrast gates set for body-size prose over a multi-hour session.
Pure IKB (hex 002FA7) on a dark ground scores Lc -12 on the APCA scale — effectively invisible as text. So the theme splits it across two ANSI slots: pure IKB in ansi:blue where Claude Code uses it for decorative borders and highlights (no legibility requirement), and a lifted Klein-family hex A8BEF0 in ansi:blueBright where it lands on permission-prompt text. That split is the core technical decision in the whole project.
The contrast targets per role: body >= 90 Lc, subtle >= 75, muted >= 45, accent >= 60. Klein Void Prot (V3) is the only variation where every accent passes strict gates. Klein Void Gallery runs one-blue maximum void. Sand & Sea accepts ansi:redBright as a second hero color — Claude Code uses that slot for its claude-sand brand color — rather than neutralizing it.
One setup requirement worth knowing: Claude Code has to have /theme set to dark-ansi, otherwise it ignores the ANSI profile entirely and applies its hardcoded RGB palette. The theme is invisible until that's set.
Ships as macOS Terminal.app .terminal profiles, installed via install.sh, fully rollback-able via restore.sh. CommitMono-Regular on V1 and V3, IBM Plex Mono on V2 and V4, both copying to ~/Library/Fonts/ on install.
Top comments (0)