Skip to main content

Color Schemes

Kitty supports 256 colors, true color (24-bit), and wide gamut color spaces like OKLCH and CIE LAB. You can apply themes manually in kitty.conf or use the built-in themes kitten.

Core Idea

Kitty uses a color stack protocol where applications can push and pop color values dynamically. Combined with GPU rendering, this enables smooth gradients and accurate wide-gamut color reproduction.

The Color Table

Kitty defines 16 standard ANSI colors plus foreground, background, selection, and cursor colors:

~/.config/kitty/kitty.conf
# Standard 16-color palette
foreground #cdd6f4
background #1e1e2e

color0 #45475a # black
color1 #f38ba8 # red
color2 #a6e3a1 # green
color3 #f9e2af # yellow
color4 #89b4fa # blue
color5 #cba6f7 # magenta
color6 #94e2d5 # cyan
color7 #bac2de # white
color8 #585b70 # bright black
color9 #f38ba8 # bright red
color10 #a6e3a1 # bright green
color11 #f9e2af # bright yellow
color12 #89b4fa # bright blue
color13 #cba6f7 # bright magenta
color14 #94e2d5 # bright cyan
color15 #a6adc8 # bright white

Extended Color Space

Kitty supports 24-bit true color natively and can use the color_stack protocol for dynamic color changes:

# No special configuration needed — true color works by default
# 24-bit hex values (#rrggbb) are fully supported
Color featureSupportedNotes
16 ANSI colorscolor0 through color15
256-color xterm palette
24-bit true color (#rrggbb)Default
Wide gamut (OKLCH, CIE LAB)Via color_space option
Color stack protocolApplications can push/pop colors

Using the Themes Kitten

Kitty ships with a built-in themes browser:

# launch the interactive theme picker
kitty +kitten themes

# inside the picker:
# ↑/↓ to browse
# Enter to select
# Esc to cancel

# the chosen theme is appended to kitty.conf
# reload to apply
kitty @ load-config
tip

The themes kitten downloads themes from the kitty-themes GitHub repo. Run it periodically to get new themes.

catppuccin-mocha.conf
# Save as ~/.config/kitty/catppuccin-mocha.conf
# Include in kitty.conf: include catppuccin-mocha.conf

foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc

color0 #45475a
color1 #f38ba8
color2 #a6e3a1
color3 #f9e2af
color4 #89b4fa
color5 #cba6f7
color6 #94e2d5
color7 #bac2de
color8 #585b70
color9 #f38ba8
color10 #a6e3a1
color11 #f9e2af
color12 #89b4fa
color13 #cba6f7
color14 #94e2d5
color15 #a6adc8

cursor #f5e0dc
cursor_text_color #1e1e2e
tokyo-night-storm.conf
foreground #c0caf5
background #24283b
selection_foreground #c0caf5
selection_background #364a82

color0 #1d202f
color1 #f7768e
color2 #9ece6a
color3 #e0af68
color4 #7aa2f7
color5 #bb9af7
color6 #7dcfff
color7 #a9b1d6
color8 #414868
color9 #f7768e
color10 #9ece6a
color11 #e0af68
color12 #7aa2f7
color13 #bb9af7
color14 #7dcfff
color15 #c0caf5

Organizing Themes with Include

~/.config/kitty/kitty.conf
# Include theme files (path relative to kitty.conf directory)
include catppuccin-mocha.conf

# Or absolute path
include ~/.config/kitty/themes/catppuccin-mocha.conf

Wide Gamut Color Space

# Enable wide gamut color space
color_space oklch

# Other options: srgb (default), displayp3, oklab, cielab
Color spaceGamutBest for
srgbStandardDefault, maximum compatibility
displayp3Wider than sRGBModern displays (Apple, high-end monitors)
oklchPerceptually uniformAccurate color gradients
cielabDevice-independentColor-critical workflows

Common Pitfalls

PitfallSymptomFix
Theme file not loadingColors unchangedUse absolute path in include, or check file location
Colors look washed outTerminal doesn't support 24-bitKitty does by default — check SSH TERM is xterm-256color
Color stack not workingApp colors reset unexpectedlyOnly some terminals/SSH clients support the protocol
include path wrongFile not found errorPaths are relative to kitty.conf directory

Hands-On Practice

# browse and install a theme interactively
kitty +kitten themes

# manually apply a dark theme
cat > ~/.config/kitty/dracula.conf << 'EOF'
foreground #f8f8f2
background #282a36
color0 #21222c
color1 #ff5555
color2 #50fa7b
color3 #f1fa8c
color4 #bd93f9
color5 #ff79c6
color6 #8be9fd
color7 #f8f8f2
color8 #6272a4
color9 #ff6e6e
color10 #69ff94
color11 #ffffa5
color12 #d6acff
color13 #ff92df
color14 #a4ffff
color15 #ffffff
EOF

# include it in config
echo "include dracula.conf" >> ~/.config/kitty/kitty.conf
kitty @ load-config

What's Next