DEV Community

J Now
J Now

Posted on

Four terminal themes for the terminal that's mostly paragraphs

Spent a few weeks building ANSI themes for Claude Code after noticing that every session ends with my eyes doing the work they shouldn't have to — squinting through low-contrast tool output and permission prompts that were clearly styled for decorative purposes, not reading.

The specific problem: pure IKB (hex 002FA7) fails APCA contrast as body text on a dark ground (Lc -12 — effectively invisible). Klein blue is the whole point of this theme family, so throwing it out wasn't an option. The fix was splitting it across two ANSI slots: pure IKB in ansi:blue where Claude Code uses it for decorative borders and highlights, and a lifted Klein-family ansi:blueBright value in the slot where Claude Code renders permission-prompt text that you actually need to read.

That split is where the four variations diverge, specifically around the ansi:redBright slot — which Claude Code uses for its claude-sand brand color. Each variation answers the same question differently:

  • Klein Void Refined — balanced, neither color dominates
  • Klein Void Sand & Sea — accepts claude-sand as a second hero alongside IKB
  • Klein Void Prot — every accent passes strict APCA gates (body >= 90, subtle >= 75, muted >= 45, accent >= 60); the only variation where nothing is decorative-only
  • Klein Void Gallery — neutralizes the brand color entirely, maximum void

Contrast is verified against APCA Lc rather than WCAG, which matters at body size over long sessions — WCAG's formula overestimates small-text legibility in a way that only becomes obvious when you're six hours in.

Ships as macOS Terminal.app .terminal profiles, installed via install.sh, fully rollback-able with restore.sh. One prerequisite worth noting: Claude Code's /theme picker must be set to dark-ansi, otherwise Claude Code ignores your ANSI theme entirely and falls back to its hardcoded RGB palette.

Font options are CommitMono-Regular (V1, V3) and IBM Plex Mono (V2, V4), both installed to ~/Library/Fonts/.

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

Top comments (0)