v2.1.150: UI renders Nerd Font icons instead of text characters in terminals using Nerd Fonts
Description
Starting with v2.1.150, certain characters in the Claude Code UI render as Nerd Font icons instead of text when the terminal font is a Nerd Font (e.g. JetBrainsMono Nerd Font). The issue affects all open conversations simultaneously.
Steps to reproduce
- Set VS Code terminal font to any Nerd Font (e.g.
"terminal.integrated.fontFamily": "JetBrainsMono Nerd Font") - Run Claude Code v2.1.150
- Observe that specific characters in the rendered output appear as small icons instead of letters
Expected behavior
Text renders normally regardless of terminal font.
Actual behavior
Specific characters (appearing as parts of words like "what", "because", "when", "characters") are replaced visually by small Nerd Font glyphs. Selecting the text reveals the underlying characters are correct — the issue is purely in rendering.
Environment
- Claude Code version: 2.1.150 (first affected), 2.1.147 and earlier unaffected
- VS Code terminal font:
JetBrainsMono Nerd Font - OS: macOS 15.x (Darwin arm64)
- IDE: VS Code
Root cause hypothesis
v2.1.150 likely introduced new Unicode characters in the UI layer (bullets, spinners, status indicators) that fall in the Nerd Font Private Use Area (U+E000–U+F8FF). Nerd Fonts map these codepoints to icons, causing the visual corruption. Earlier versions used different codepoints that did not conflict.
Additional context
- The auto-update from 2.1.147 → 2.1.150 happened silently at 10:21 AM, with no user notification or changelog shown. The rendering issue appeared ~30 minutes later when the new binary was activated.
- Workaround: roll back to 2.1.147 via
ln -sf ~/.local/share/claude/versions/2.1.147 ~/.local/bin/claude - Fix suggestion: audit the Unicode codepoints used for UI rendering in v2.1.150 and avoid the Nerd Font PUA range (U+E000–U+F8FF)
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗