Status bar UI icons render as tofu in kitty terminal despite font support

Resolved 💬 4 comments Opened Apr 12, 2026 by ishii-masaki-646 Closed May 24, 2026

Description

Private Use Area Unicode glyphs (e.g. the ▸▸ play icons in the status bar) render as tofu/missing glyphs in the status bar when running Claude Code inside kitty terminal.

However, the same glyphs render correctly in the main text body (markdown output area) of Claude Code. This proves the terminal and font are capable of rendering these characters — the issue is specific to the status bar rendering.

Environment

  • Claude Code v2.1.101
  • Terminal: kitty 0.42.2 (running on WSL2/WSLg, linux_display_server x11)
  • Font: RictyDiscord Nerd Font (includes full Nerd Fonts / Powerline glyphs)
  • OS: Ubuntu 24.04 on WSL2

Screenshots

Windows Terminal — status bar renders correctly

!Windows Terminal - OK

kitty — status bar icons are tofu

!kitty - tofu

kitty — same glyphs render fine in the main text body

!kitty - body OK

What I've tried

  • Setting font_family in kitty.conf to RictyDiscord Nerd Font
  • Adding symbol_map for Private Use Area ranges (U+E0A0-U+E0D4, U+E700-U+E7C5, U+F000-U+F2E0, etc.)
  • Neither had any effect on the status bar rendering

Expected behavior

Status bar UI icons should render using the terminal's configured font, the same way the main text body does.

View original on GitHub ↗

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