Skip to content

Instantly share code, notes, and snippets.

@kristopherjohnson
Last active August 18, 2026 23:05
Show Gist options
  • Select an option

  • Save kristopherjohnson/1eb41e4ba2b499e57f27d5d1f0bdbbe8 to your computer and use it in GitHub Desktop.

Select an option

Save kristopherjohnson/1eb41e4ba2b499e57f27d5d1f0bdbbe8 to your computer and use it in GitHub Desktop.
Kris Johnson's ghostty configuration
font-family = "Iosevka Term Light"
font-size = 16
cursor-style = block
shell-integration-features = no-cursor
# minimum-contrast auto-brightens any foreground color that is too close to
# the background color, so dark ANSI colors (e.g. dark blue) stay readable
# without hand-picking a palette. Range is 1 (off) to 21 (WCAG max); 4.5 is
# the WCAG AA threshold for normal text.
minimum-contrast = 4.5
# Default text color: pale amber instead of white.
foreground = #FFE0B0
# Background: very dark amber instead of black.
background = #1A1206
# Cursor: slightly brighter amber than the default text color.
cursor-color = #FFE8BE
# Selection highlight: brighter amber to match the cursor/text palette.
selection-background = #6B4A1E
# Brighten ANSI green (2/10) and cyan (6/14) - too dark against the amber
# background at the default palette values (minimum-contrast wasn't enough).
palette = 2=#63cf59
palette = 10=#79db70
palette = 6=#9ed2cb
palette = 14=#ace2d8
# Default ANSI red (1/9) sat right at the minimum-contrast threshold against
# this background, so ghostty's auto-correction was snapping it to white
# instead of keeping it red. Override with reds that already clear the ratio.
palette = 1=#ed7a7a
palette = 9=#f05a5a
# ANSI blue (4/12) was also getting snapped toward white by the
# minimum-contrast correction. Override with a blue that reads clearly
# blue with a solid contrast margin against the background.
palette = 4=#70befe
palette = 12=#8ac6ff
# ANSI magenta (5/13) hit the same white-snapping correction. Override with
# a magenta/purple that clears the contrast margin.
palette = 5=#d883ef
palette = 13=#dd94ee
# Default ANSI yellow (3/11) sits at ~40 degrees hue (orange-leaning), not
# true yellow (~60 degrees). Shift hue, not a contrast-correction fix.
palette = 3=#f2e55a
palette = 11=#f8ed77
# ANSI white (7/15) brightened slightly.
palette = 7=#d4d7d5
palette = 15=#e0e0e0
# ANSI black (0/8) was nearly identical to the background color, leaving
# minimum-contrast almost no headroom - it was correcting hard toward white.
# Override with dark grays that already clear the contrast margin on their
# own, so "black" text stays dark/gray instead of getting force-brightened.
palette = 0=#7d7d7d
palette = 8=#939393
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment