Incise app iconInciseFonts & themes

Fonts and themes for agent CLIs

Claude Code and Antigravity draw far more than letters: bullets for every tool call, a spinner while they work, check marks, arrows and panel borders. When your terminal font doesn’t have one of those symbols, macOS quietly borrows it from another font. Nothing breaks, but the spinner changes weight mid-animation, markers sit at a different height from the text beside them, and a symbol that comes out too wide pushes the rest of its row out of line.

Most font advice for these tools is about looks. This page is about whether the symbols are there at all. Everything below was measured in September 2026 against Claude Code 2.1.274 and the Antigravity CLI 1.2.5, on macOS, in Incise’s built-in terminal.

The short version

JuliaMono

Complete, and essentially the same cell width as Menlo, so nothing else on screen shifts.

brew install --cask font-juliamono

Iosevka Term

Complete and about 17% narrower, so you fit noticeably more columns.

brew install --cask font-iosevka

Iosevka Nerd Font Mono

Complete, plus the Nerd Font icons many shell prompts use.

brew install --cask font-iosevka-nerd-font

Those three are the only fonts we tested with all 50 symbols at the correct width. The usual recommendation, JetBrains Mono, and the macOS default, Menlo, both leave gaps. Plain Iosevka has everything but draws a lot of it too wide, so make sure you pick Iosevka Term.

What these tools actually draw

We found these by searching the Claude Code and Antigravity programs themselves, not by guessing from screenshots. The two tools differ: only Claude Code uses the spinner and the tool marker, while Antigravity leans heavily on box drawing. The fonts below are scored against both sets together, so a full score is safe for either tool.

Claude Code markstool call, result, prompt, mode indicator
⏺⎿❯⏵
Claude Code spinnercycles while it works
✻✽✢✶✳
Statusboth tools
✔✘✓✗●○◉◯⚠
Braille spinnerthe common CLI "dots" spinner, in both tools
⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏
Box drawingpanels and borders
╭╮╰╯─│├┤┬┴┼
Blocksprogress bars, shading
█▌▐░▒▓
Arrowsboth tools
↑↓←→…

What Incise already takes care of

Incise’s terminal draws box-drawing lines and block elements such as ─ │ ╭ ╮ █ ▌ itself, instead of taking them from your font. Panel borders join up cleanly and progress bars stay solid whatever font you choose, so the font only has to supply the markers, spinners, check marks and arrows.

How 13 fonts compare

Coverage comes from each font’s own character map. Width compares every symbol with the letter M at 13pt, so “too wide” means a symbol takes more than one terminal cell. This measures completeness, not looks: a font with every symbol can still be one you don’t enjoy reading.

FontSymbolsMissingVerdict
JuliaMonoComplete, and essentially the same cell width as Menlo, so nothing else on screen shifts.50/50noneRecommended
Iosevka TermComplete and about 17% narrower, so you fit noticeably more columns.50/50noneRecommended
Iosevka Nerd Font MonoComplete, plus the Nerd Font icons many shell prompts use.50/50noneRecommended
IosevkaHas every symbol but draws 20 of them double-width, which misaligns rows. Choose Iosevka Term instead.50/5020 too widenoneAvoid
MesloLGS Nerd Font MonoClose. Only Claude Code's tool and result markers are borrowed.47/50⏺⎿⏵Has gaps
Maple Mono NFMissing most of Claude Code's spinner.44/50⏺⏵✻✽✢✳Has gaps
JetBrainsMono Nerd Font MonoThe most common recommendation, but missing the markers on nearly every line of Claude Code output.41/50⏺⎿⏵✻✽✢✳✔✘Has gaps
Cascadia MonoBorrows the whole Claude Code spinner and several status marks.38/50⏺⎿⏵✻✽✢✶✳✔✘✗⚠Avoid
FiraCode Nerd Font MonoSame gaps as Cascadia Mono.38/50⏺⎿⏵✻✽✢✶✳✔✘✗⚠Avoid
MenloThe macOS default. Fine for Claude Code's spinner, but has no braille spinner frames.37/50⏺⎿⏵ + braille spinnerHas gaps
DejaVu Sans MonoSame coverage as Menlo.37/50⏺⎿⏵ + braille spinnerHas gaps
Hack Nerd Font MonoBorrows the spinner and every check mark.37/50⏺⎿⏵✻✽✢✶✳✔✘✓✗⚠Avoid
Intel One MonoDesigned with low-vision developers, and still worth it if that is why you want it. Expect most agent symbols to come from another font.19/50⏺⎿❯⏵✻✽✢✶✳✔✘✗●○◉◯⚠↑↓←→ + braille spinnerHas gaps

For Nerd Fonts we tested the Mono variant, which is the one meant for terminals. Fonts get updated, so treat these results as a snapshot from September 2026. The check below lets you test any font yourself.

Set it up in Incise

  1. Install the font. All of the ones above are in Homebrew’s own cask repository, so there’s no tap to add: brew install --cask font-juliamono
  2. Open Incise ▸ Settings… and choose the Terminal tab.
  3. Set Font to Custom, click the font button beneath it, and pick the font and size.
  4. Choose a color scheme from the list on the left, with a preview beside it. It applies to open terminal tabs straight away.

If a font you just installed isn’t offered, quit and reopen Incise. The terminal is part of the free Homebrew and direct-download editions; the Mac App Store edition doesn’t have one.

Check your own font

Paste this into your terminal. Every symbol should match the weight and height of the letters around it. One that looks lighter, bolder or out of place is being borrowed from another font. On the last two lines, the | marks should line up exactly. If they don’t, a symbol is too wide.

Paste into your terminal
printf '%s\n' \
  'Claude Code  ⏺ ⎿ ❯ ⏵  ✻ ✽ ✢ ✶ ✳  ✔ ✘ ● ○' \
  'Antigravity  ⎿ ✓ ✗ ⚠ ○ ◉' \
  'Spinner      ⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏' \
  'Arrows       ↑ ↓ ← → …' \
  'Width        |⏺|⎿|✻|✔|●|⠋|↑|' \
  '             |M|M|M|M|M|M|M|'

Color schemes

Incise ships 25 terminal color schemes, plus Follow Editor Theme, which matches your editor’s theme and font. A scheme sets the background and the 16 ANSI colors that git, shell prompts, ls, test runners and most other command-line tools draw with.

Claude Code is a partial exception. Its standard dark and light themes bring their own colors, so what matters there is choosing the Claude Code theme that matches your scheme: run /theme and pick dark for a dark scheme, light for a light one. Its two “ANSI colors only” themes use your scheme’s palette directly, so the table below applies to them too.

The numbers are contrast ratios against each scheme’s background, computed from the exact palettes Incise ships. Higher is easier to read; 4.5:1 is the usual minimum for body text, and anything under it is highlighted. Dim is ANSI bright black, the color most tools use for secondary text such as hints, timestamps and file paths.

SchemeTextDimRedGreen
Ayu Dark10.33.56.311.0
Ayu Mirage9.52.85.99.0
Catppuccin Mocha11.32.57.111.0
Cobalt215.32.03.88.5
Dracula13.43.04.510.4
Everforest Dark8.66.55.37.3
GitHub Dark16.04.17.57.4
GitHub Lightlight14.72.74.64.6
Gruvbox Dark10.74.02.74.8
Gruvbox Material8.23.04.76.7
Iceberg Dark10.63.66.19.0
Kanagawa Wave11.33.33.24.8
Material Darker15.62.15.211.7
Monokai13.93.03.99.6
Monokai Pro13.82.94.98.9
Night Owl13.52.55.39.9
Nord9.21.73.16.1
One Dark6.62.34.46.9
Rosé Pine Moon11.93.05.44.3
Snazzy13.82.24.712.0
Solarized Dark4.71.03.24.7
Solarized Lightlight4.113.94.33.0
Tokyo Night10.61.96.59.4
Tokyo Night Storm9.02.05.58.0
Tomorrow Night9.85.74.58.2

Watch the Dim column. Almost every scheme keeps body text very readable, but dim text is where they fall down. In Solarized Dark it is exactly the background color, so hints and paths in 16-color tools disappear completely, and Nord, Tokyo Night and Cobalt2 are not far behind. Everforest Dark and Tomorrow Night are the dark schemes that keep it readable.

Red and green carry diffs and errors. Gruvbox Dark, Nord, Kanagawa Wave and Solarized Dark have the weakest red, which is worth knowing if you read a lot of failing test output.

incise.dev · © 2026