I use Ghostty themes as a small context system. Some terminals are for normal development, some are for writing, and some should look visibly dangerous before I type anything with production consequences.

This page is my reference so I do not have to keep the names in my head. When I want Codex to switch themes, I use my ghostty-dynamic-themes package instead of editing Ghostty config or pasting raw OSC escape sequences.

How I ask Codex to switch themes.

For Codex, the copy-paste-safe version is the skill invocation:

$apply-theme "TokyoNight Moon"
$random-theme

If an agent needs the direct script path, the important detail is the --tty flag. Agent shell output is captured, so raw printf escape sequences do not reliably reach the terminal.

bash <(curl -sL https://raw.githubusercontent.com/CharlieGreenman/ghostty-dynamic-themes/main/apply-theme.sh) "TokyoNight Moon" --tty

Theme names are case-sensitive and should match Ghostty exactly. One easy typo in my own notes: the built-in theme is Borland, not Borlund.

The short list.

  • Black Metal - A stark black workspace with restrained contrast. Good when I want the terminal to get quiet and stay out of the way.
  • Borland - The exact Ghostty name is Borland. This is the loud old-IDE blue-and-yellow option, useful when I want a deliberately unmistakable tab.
  • Coffee Theme - A light, warm terminal that reads like paper. Useful when I want high visibility without a cold white interface.
  • GitHub Dark High Contrast - A crisp dark theme for code review, logs, and anything where I want strong separation between syntax colors.
  • GitHub Light High Contrast - The light-mode counterpart. I use it when ambient light is high or when a task benefits from a plain white canvas.
  • Gruvbox Light Hard - A stable light theme with earthy contrast. Good for longer writing, shell work, and tasks that should feel less clinical.
  • Hot Dog Stand - A deliberate alarm bell. I use this when the terminal should be impossible to confuse with a normal development context.
  • Medallion - A warm bronze terminal for focused sessions where I want the screen to feel grounded without going fully neutral.
  • Red Alert - A red production-warning style theme. It is useful when the terminal needs to communicate caution before a command is even typed.
  • TokyoNight Moon - A polished dark-blue theme for everyday coding. It has enough color to keep syntax legible without making the terminal feel busy.

Palette reference.

Each card shows the terminal background, foreground, cursor, and the sixteen ANSI palette slots Ghostty applies for that theme.

$ apply-theme "Black Metal"

foreground #c1c1c1

selection #c1c1c1

Black Metal

A stark black workspace with restrained contrast. Good when I want the terminal to get quiet and stay out of the way.

Background
#000000
Foreground
#c1c1c1
Cursor
#c1c1c1
0 #000000
1 #486e6f
2 #dd9999
3 #a06666
4 #888888
5 #999999
6 #aaaaaa
7 #c1c1c1
8 #404040
9 #486e6f
10 #dd9999
11 #a06666
12 #888888
13 #999999
14 #aaaaaa
15 #c1c1c1

$ apply-theme "Borland"

foreground #ffff4e

selection #a4a4a4

Borland

The exact Ghostty name is Borland. This is the loud old-IDE blue-and-yellow option, useful when I want a deliberately unmistakable tab.

Background
#0000a4
Foreground
#ffff4e
Cursor
#ffa560
0 #4f4f4f
1 #ff6c60
2 #a8ff60
3 #ffffb6
4 #96cbfe
5 #ff73fd
6 #c6c5fe
7 #eeeeee
8 #7c7c7c
9 #ffb6b0
10 #ceffac
11 #ffffcc
12 #b5dcff
13 #ff9cfe
14 #dfdffe
15 #ffffff

$ apply-theme "Coffee Theme"

foreground #000000

selection #c1deff

Coffee Theme

A light, warm terminal that reads like paper. Useful when I want high visibility without a cold white interface.

Background
#f5deb3
Foreground
#000000
Cursor
#a1a1a1
0 #000000
1 #c91b00
2 #00c200
3 #adaa00
4 #0225c7
5 #ca30c7
6 #00b8ba
7 #a1a1a1
8 #686868
9 #ff6e67
10 #1fba28
11 #b2af1b
12 #6871ff
13 #f26af2
14 #20bdbf
15 #ffffff

$ apply-theme "GitHub Dark High Contrast"

foreground #f0f3f6

selection #f0f3f6

GitHub Dark High Contrast

A crisp dark theme for code review, logs, and anything where I want strong separation between syntax colors.

Background
#0a0c10
Foreground
#f0f3f6
Cursor
#71b7ff
0 #7a828e
1 #ff9492
2 #26cd4d
3 #f0b72f
4 #71b7ff
5 #cb9eff
6 #39c5cf
7 #d9dee3
8 #9ea7b3
9 #ffb1af
10 #4ae168
11 #f7c843
12 #91cbff
13 #dbb7ff
14 #56d4dd
15 #ffffff

$ apply-theme "GitHub Light High Contrast"

foreground #0e1116

selection #0e1116

GitHub Light High Contrast

The light-mode counterpart. I use it when ambient light is high or when a task benefits from a plain white canvas.

Background
#ffffff
Foreground
#0e1116
Cursor
#0349b4
0 #0e1116
1 #a0111f
2 #024c1a
3 #3f2200
4 #0349b4
5 #622cbc
6 #1b7c83
7 #66707b
8 #4b535d
9 #86061d
10 #055d20
11 #4e2c00
12 #1168e3
13 #844ae7
14 #3192aa
15 #88929d

$ apply-theme "Gruvbox Light Hard"

foreground #3c3836

selection #3c3836

Gruvbox Light Hard

A stable light theme with earthy contrast. Good for longer writing, shell work, and tasks that should feel less clinical.

Background
#f9f5d7
Foreground
#3c3836
Cursor
#3c3836
0 #f9f5d7
1 #cc241d
2 #98971a
3 #d79921
4 #458588
5 #b16286
6 #689d6a
7 #7c6f64
8 #928374
9 #9d0006
10 #79740e
11 #b57614
12 #076678
13 #8f3f71
14 #427b58
15 #3c3836

$ apply-theme "Hot Dog Stand"

foreground #ffffff

selection #ffff54

Hot Dog Stand

A deliberate alarm bell. I use this when the terminal should be impossible to confuse with a normal development context.

Background
#ea3323
Foreground
#ffffff
Cursor
#ffff54
0 #000000
1 #ffff54
2 #ffff54
3 #ffff54
4 #000000
5 #ffff54
6 #ffffff
7 #c6c6c6
8 #000000
9 #ffff54
10 #ffff54
11 #ffff54
12 #000000
13 #ffff54
14 #ffffff
15 #c6c6c6

$ apply-theme "Medallion"

foreground #cac296

selection #626dac

Medallion

A warm bronze terminal for focused sessions where I want the screen to feel grounded without going fully neutral.

Background
#1d1908
Foreground
#cac296
Cursor
#d3ba30
0 #000000
1 #b64c00
2 #7c8b16
3 #d3bd26
4 #616bb0
5 #8c5a90
6 #916c25
7 #cac29a
8 #5e5219
9 #ff9149
10 #b2ca3b
11 #ffe54a
12 #acb8ff
13 #ffa0ff
14 #ffbc51
15 #fed698

$ apply-theme "Red Alert"

foreground #ffffff

selection #073642

Red Alert

A red production-warning style theme. It is useful when the terminal needs to communicate caution before a command is even typed.

Background
#762423
Foreground
#ffffff
Cursor
#ffffff
0 #000000
1 #d62e4e
2 #71be6b
3 #beb86b
4 #489bee
5 #e979d7
6 #6bbeb8
7 #d6d6d6
8 #666666
9 #e02553
10 #aff08c
11 #dfddb7
12 #65aaf1
13 #ddb7df
14 #b7dfdd
15 #ffffff

$ apply-theme "TokyoNight Moon"

foreground #c8d3f5

selection #2d3f76

TokyoNight Moon

A polished dark-blue theme for everyday coding. It has enough color to keep syntax legible without making the terminal feel busy.

Background
#222436
Foreground
#c8d3f5
Cursor
#c8d3f5
0 #1b1d2b
1 #ff757f
2 #c3e88d
3 #ffc777
4 #82aaff
5 #c099ff
6 #86e1fc
7 #828bb8
8 #444a73
9 #ff757f
10 #c3e88d
11 #ffc777
12 #82aaff
13 #c099ff
14 #86e1fc
15 #c8d3f5