DEV Community

J Now
J Now

Posted on

A Terminal Theme Built Around One Specific Blue From 1960

Six hours of reading paragraphs in a terminal will teach you what your color choices actually cost. Tool output, reasoning traces, permission prompts before anything touches the filesystem — it's prose, not code, and most terminal themes are optimized for syntax tokens at small counts, not body text at sustained volume.

The anchor color I wanted was International Klein Blue — the specific ultramarine pigment Yves Klein registered in 1960, hex 002FA7. The depth of it reads as void rather than surface. The problem is that 002FA7 as a text color on a dark ground scores Lc -12 on the APCA contrast scale. Body text needs Lc 90 or better. At Lc -12, the blue is void in the wrong sense: invisible.

So klein-void splits the pigment across two ANSI slots. Pure IKB goes into ansi:blue, where Claude Code uses it for decorative borders and highlights at sizes where low contrast survives. A lifted Klein-family blue, A8BEF0, goes into ansi:blueBright — where Claude Code renders permission-prompt text that you actually need to read. You keep the void reference. You can still read the line asking whether to run a shell command.

The theme ships in four variations. The branching point is ansi:redBright, which Claude Code maps to its claude-sand brand color. Klein Void Refined neutralizes it so nothing competes with the blue. Klein Void Sand & Sea accepts both colors as co-anchors. Klein Void Prot passes every APCA gate without compromise: body Lc 90, subtle Lc 75, muted Lc 45, accent Lc 60. Klein Void Gallery maximizes void at the cost of some muted-slot contrast.

One prerequisite: Claude Code's /theme must be set to dark-ansi. Any other setting and Claude Code ignores the Terminal.app ANSI profile entirely, rendering its own hardcoded RGB palette instead.

MacOS Terminal.app, .terminal profiles, install.sh and restore.sh included.

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

Top comments (0)