Nerd Font Unicode characters not rendered in Claude Code UI (statusline, chat, file views)
This is a reopen of #9907, which was closed as stale after 7 days of inactivity. The issue is still present as of April 2026.
Problem
Claude Code does not render Nerd Font Unicode characters (Private Use Area codepoints like U+E0A0, U+F302, etc.) anywhere in its UI. They appear as blank spaces or boxes — even when the system terminal font is a patched Nerd Font and renders them correctly in every other context.
Affected areas
- Statusline — custom statusline scripts that output Nerd Font icons (e.g. `
for git branch,` for PRs) show as blank - Chat messages — Nerd Font glyphs in assistant or user messages are invisible
- File views — config files for Starship, Alacritty, Kitty, etc. that contain Nerd Font symbols display as blanks, making it impossible to tell whether an icon is present or missing (as described in #9907)
Why this matters
Claude Code has a customisable statusline (via ~/.claude/statusline.sh) that many teams use to surface git state, PR status, context window usage, and model info. Nerd Font icons are the standard way to add meaningful, space-efficient visual cues to terminal UIs.
When Claude Code can't render a Nerd Font character in a file view, it silently shows a blank — causing wasted time debugging configs that are actually correct (detailed in the original issue).
Expected behaviour
Either:
- Render Nerd Font / PUA Unicode characters using the system font or a bundled font that includes them, OR
- Show the Unicode code point (e.g.
<U+E0A0>) as a fallback so the character is at least visible
Environment
- Claude Code latest (April 2026)
- macOS, iTerm2 with JetBrains Mono Nerd Font — same profile renders Nerd Fonts correctly outside Claude Code
- Original report: #9907 (closed stale 2025-10-19)
Reproduction
- Add a Nerd Font icon to
~/.claude/statusline.shoutput, e.g.printf " branch"(U+E0A0) - The statusline shows a blank where the icon should be
- Run
echo " branch"in the same terminal — icon renders correctly
This issue has 10 comments on GitHub. Read the full discussion on GitHub ↗