Claude Code Colorizer Developer cjodo released claude-colorizer, a dependency-free Go tool that renders color literals from Claude Code conversations as live statusline swatches and changes terminal tab and background colors across working, needs-you, and done/error states. The tool parses #rgb, #rrggbb(aa), rgb()/rgba(), hsl()/hsla(), and oklch() values, requires Go 1.22+ and Claude Code, and installs via `make install`, which runs `go install` and adds the statusline and hooks to ~/.claude/settings.json. Ghostty is the most tested terminal; Kitty and WezTerm tab colors require extra terminal configuration, and tmux tab colors need `set -g allow-passthrough on`. Color visualization for Claude Code, in the spirit of nvim-colorizer https://github.com/NvChad/nvim-colorizer.lua . Written in Go with no dependencies. - Statusline swatches. Colors mentioned in the conversation Claude's replies, code it writes, your prompts appear as live swatches under the prompt. It reads rgb , rrggbb aa , rgb /rgba , hsl /hsla and oklch . - State colors. The terminal tab and background tint change as the session moves through working → needs you → done / error . - show / try . Highlight color literals in any file claude-colorizer show styles.css , or preview a color as your terminal background claude-colorizer try ' 1e1e2e' . Ghostty is the most tested terminal: it's the one claude-colorizer is developed in. The other drivers follow each terminal's documented escape sequences and have unit tests, but see less real use. If you use one of them, see CONTRIBUTING.md https://github.com/cjodo/claude-colorizer/blob/main/CONTRIBUTING.md for a short test checklist and how to report results or add a terminal. | Terminal | Tab color | Background tint | Title fallback | |---|---|---|---| | Kitty | ✅ remote control¹ | ✅ OSC 11 | — | | Ghostty | — no escape exists | ✅ OSC 11 | ✅ glyph | | WezTerm | ✅ user var + Lua² | ✅ OSC 11 | — | | iTerm2 | ✅ OSC 6 | ✅ OSC 1337 | — | | Warp | — | — | ✅ glyph | | Alacritty | — no tabs | ✅ OSC 11 | ✅ glyph | | Windows Terminal | — | ✅ OSC 11 | ✅ glyph | | other xterm-like | — | ✅ OSC 11 | ✅ glyph | Statusline swatches use 24-bit SGR colors, which work in all of them. Each terminal is a driver implementing terminal.Terminal internal/terminal/drivers.go . Detection reads environment variables internal/terminal/detect.go . Inside tmux it asks tmux which terminal each client tty attached to the session is running instead, because the environment describes the terminal that started the tmux server. If different terminals are attached, tab colors are sent to all of them. To override detection, set CLAUDE COLORIZER TERMINAL=kitty|ghostty|wezterm|iterm2|warp|alacritty|windows-terminal|generic . Run claude-colorizer detect to see what was picked. ¹ Kitty : add allow remote control yes to kitty.conf or socket-only plus listen on . Without it, kitty ignores the tab color and only the background changes. ² WezTerm : the color is published as the user var claude colorizer tab . To paint the tab, add this to wezterm.lua : wezterm.on 'format-tab-title', function tab local c = tab.active pane.user vars.claude colorizer tab if c and c ~= '' then return { { Background = { Color = c } }, { Foreground = { Color = ' 000000' } }, { Text = ' ' .. tab.active pane.title .. ' ' } } end end tmux : background tint and title work without any setup; tmux applies them to the pane. Tab colors kitty, iTerm2, WezTerm have to reach the outer terminal, so they need set -g allow-passthrough on . They are wrapped automatically when $TMUX is set. Title fallback : Claude Code sets the terminal title itself and may overwrite the glyph. If your version supports CLAUDE CODE DISABLE TERMINAL TITLE=1 , set it. If you don't want the glyph, set "title": false . You need Go 1.22+ and Claude Code. git clone