[BUG] Custom statusline Nerd Font/Powerline characters render as "?" after v2.1.23 (Windows)
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
- 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"
- Configure in settings.json:
{
"statusLine": {
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File statusline.ps1"
}
}
- Run Claude Code - all PUA characters show as ?
- 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
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗