claude-code - 💡(How to fix) Fix Nerd Font Unicode characters not rendered in Claude Code UI (statusline, chat, file views) [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#49270Fetched 2026-04-17 08:46:02
View on GitHub
Comments
2
Participants
2
Timeline
6
Reactions
0
Timeline (top)
labeled ×4commented ×2

Root Cause

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).

Fix Action

Fix / Workaround

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.

RAW_BUFFERClick to expand / collapse

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

extent analysis

TL;DR

The issue can be mitigated by configuring Claude Code to use a font that includes Nerd Font Unicode characters or by displaying Unicode code points as a fallback.

Guidance

  • Verify that the system font, JetBrains Mono Nerd Font, is correctly configured and rendered outside of Claude Code.
  • Check if Claude Code has a font configuration option that can be set to use the system font or a bundled font that includes Nerd Font Unicode characters.
  • Test displaying Unicode code points as a fallback by modifying the ~/.claude/statusline.sh script to output the code point instead of the character.
  • Investigate if there are any known issues or limitations in Claude Code's font rendering engine that may be causing the problem.

Example

No code snippet is provided as the issue is more related to configuration and font rendering.

Notes

The issue may be specific to the Claude Code application and its font rendering engine. The fact that the same font renders correctly outside of Claude Code suggests that the problem is not with the font itself, but rather with how Claude Code handles font rendering.

Recommendation

Apply a workaround by configuring Claude Code to display Unicode code points as a fallback, as this can provide a temporary solution until the font rendering issue is resolved.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING