Nerd Font Unicode characters not rendered in Claude Code UI (statusline, chat, file views)

Resolved 💬 10 comments Opened Apr 16, 2026 by Liquidmasl Closed Jun 22, 2026

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:

  1. Render Nerd Font / PUA Unicode characters using the system font or a bundled font that includes them, OR
  2. 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

  1. Add a Nerd Font icon to ~/.claude/statusline.sh output, e.g. printf " branch" (U+E0A0)
  2. The statusline shows a blank where the icon should be
  3. Run echo " branch" in the same terminal — icon renders correctly

View original on GitHub ↗

This issue has 10 comments on GitHub. Read the full discussion on GitHub ↗