[BUG] Custom statusline Nerd Font/Powerline characters render as "?" after v2.1.23 (Windows)

Resolved 💬 3 comments Opened Feb 1, 2026 by thednaz Closed Feb 2, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Custom statusline scripts that output Nerd Font/Powerline Unicode characters (Private Use Area: U+E0A0, U+E0B0, U+F017, etc.) now render as ? instead of the proper glyphs.

Running the PowerShell statusline script directly in the terminal renders characters correctly. The issue is specifically in how Claude Code processes/renders the statusline output.

What Should Happen?

Characters should render properly

Error Messages/Logs

Steps to Reproduce

  1. Create a PowerShell statusline script using Nerd Font characters:

$sep = [char]0xE0B0 # Powerline separator
$icon_branch = [char]0xE0A0 # Git branch icon
Write-Host "$icon_branch main $sep"

  1. Configure in settings.json:

{
"statusLine": {
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File statusline.ps1"
}
}

  1. Run Claude Code - all PUA characters show as ?
  2. Run the same script directly in terminal - characters render correctly

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.23

Claude Code Version

2.1.29

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

Font: Nerd Font (renders correctly outside Claude Code)

Related Issues

View original on GitHub ↗

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