Yves Klein registered International Klein Blue as a pigment in 1960 — IKB 191, mixed with Rhodopas resin to preserve the matte depth that distinguishes it from every other ultramarine. The color works because it reads as void rather than surface. That specific quality is why I wanted it as the anchor for a terminal theme.
The problem it's solving: Claude Code is mostly English. Tool output, reasoning traces, permission prompts — I'm reading paragraphs, not scanning syntax. Standard terminal themes are built around ANSI slots for keywords, strings, and operators. Those slots matter for editors; they're largely irrelevant when your screen is 80% prose at body size for hours at a stretch.
klein-blue ships four variations of a dark theme built around IKB, with APCA contrast gates calibrated per text role: body >= 90 Lc, subtle >= 75, muted >= 45, accent >= 60. The APCA metric weights spatial frequency into the contrast score, which matters — body-size prose fails at thresholds that look fine for large display text.
The IKB constraint surfaced an immediate problem: pure IKB on a dark ground scores Lc -12 under APCA, which is effectively invisible as text. The fix was to split it across two ANSI slots. ansi:blue gets pure IKB — used for decorative borders and highlights where legibility isn't the job. ansi:blueBright gets a lifted Klein-family blue (hex A8BEF0), which handles permission-prompt text and passes strict gates.
The fourth variation, Klein Void Gallery, pushes maximum void: one blue, minimum surface. The third, Klein Void Prot, is the only one where every accent — including the harder-to-pass decorative roles — clears strict APCA gates.
One constraint worth knowing: Claude Code must have /theme set to dark-ansi, otherwise it ignores the ANSI palette entirely and renders its hardcoded RGB values. The theme does nothing without that setting.
Installs as macOS Terminal.app .terminal profile files with CommitMono-Regular or IBM Plex Mono depending on variation. Fully rollback-able via restore.sh.
Top comments (0)