macOS Terminal Theme
The colors macOS Terminal.app's Pro profile actually renders — measured from the
renderer, not guessed — mapped onto VS Code.

All sixteen ANSI slots map 1:1, so the integrated terminal is pixel-identical to
Terminal.app.

Palette
| Role |
Hex |
|
ANSI |
Normal |
Bright |
| Background |
#000000 |
|
Black |
#000000 |
#666666 |
| Foreground |
#F4F4F4 |
|
Red |
#990000 |
#E60000 |
| Bold text |
#FFFFFF |
|
Green |
#00A600 |
#00D900 |
| Cursor |
#606060 |
|
Yellow |
#999900 |
#E6E600 |
| Selection |
#525252 |
|
Blue |
#0000B3 |
#0000FF |
|
|
|
Magenta |
#B300B3 |
#E600E6 |
|
|
|
Cyan |
#00A6B3 |
#00E6E6 |
|
|
|
White |
#BFBFBF |
#E6E6E6 |

How these were obtained
The Pro profile stores only bg/fg/bold/cursor/selection in
~/Library/Preferences/com.apple.Terminal.plist, as NSKeyedArchiver-encoded
NSColor blobs. The 16 ANSI colors are not stored — Pro inherits Terminal's
built-in defaults, which live in the app binary. They aren't exposed to AppleScript
and aren't float constants in the binary either, so they were read out of a live
Terminal window with OSC 4;n;? — ground truth from the renderer itself.
The gamma correction most conversions miss
The plist floats are Apple Calibrated Gray, gamma 1.8 — not sRGB. Scaling them
directly by 255, which is what most Terminal-to-editor converters do, yields values
that are visibly wrong:
|
Naive round(v*255) |
Correct (γ1.8 → sRGB) |
| Foreground |
#F2F2F2 |
#F4F4F4 |
| Cursor |
#4D4D4D |
#606060 |
| Selection |
#414141 |
#525252 |
The corrected values were confirmed against the live OSC readback, which agreed
to the byte.
A deliberate deviation: no blue in syntax
WCAG contrast against #000000:
| Color |
Ratio |
|
#0000B3 blue |
1.65:1 |
unusable |
#0000FF bright blue |
2.44:1 |
unusable |
#990000 red |
2.35:1 |
unusable |
#E600E6 bright magenta |
5.51:1 |
good |
#00A6B3 cyan |
7.11:1 |
good |
#00D900 bright green |
10.93:1 |
excellent |
#E6E600 bright yellow |
15.68:1 |
excellent |
Terminal's blues are essentially illegible as text on black. They are kept exact
in the terminal.ansi* slots — fidelity matters there, and terminal output is
transient — but are not used for syntax, where you read for hours. Syntax draws only
from colors clearing ~4.5:1. Comments intentionally sit at 3.66:1 to recede.
UI chrome grays (#0D0D0D, #1A1A1A, #2B2B2B, #3D3D3D) are derived —
interpolated black → #666666. VS Code has borders, hovers, and elevated surfaces
that a terminal has no equivalent for.
Install
cp -R macos-terminal-theme ~/.vscode/extensions/ # VS Code
cp -R macos-terminal-theme ~/.cursor/extensions/ # Cursor
Then Cmd+K Cmd+T → macOS Terminal (Pro).
To regenerate the theme from the palette: python3 gen_theme.py <output-dir>
Credits
Icon from yesomac/terminal (MIT), stored there
as terminal.jpg though the bytes are PNG; renamed here to match reality.
License
MIT — see LICENSE.