By el-mundos
Workaround for Claude Code filtering BMP Private Use Area Unicode characters (U+E000-U+F8FF). Provides placeholder syntax for icons (primarily Nerd Fonts) and automatic conversion.
Workaround for Claude Code filtering BMP Private Use Area Unicode characters (U+E000-U+F8FF). Nerd Font icons are the primary use case, but this applies to any PUA characters in this range.
Claude Code strips characters in the BMP PUA range before tools receive them. This makes it impossible to directly write icons from sets like Powerline, Devicons, Font Awesome, and Octicons.
Characters in the Supplementary PUA-A range (U+F0000+), like Material Design Icons, work fine.
This plugin provides:
{{U+E0A0}} or {{nf-fa-star}} instead of literal icons/icon-lookup command to search for icons by nameUse placeholder syntax for icons in the filtered BMP PUA range:
# By codepoint
git_branch.symbol = "{{U+E0A0}} ";
# By name
git_branch.symbol = "{{nf-dev-git_branch}} ";
The hook automatically converts placeholders after the file is saved.
When Claude reads a file containing PUA characters, a hook automatically identifies them:
[Icons: 61 known + 12 unknown PUA, 73 total]
L7: = nf-md-battery (U+F0079)
L14: nf-fa-aws (U+F0EF) (filtered)
...
Use the /icon-lookup command:
/icon-lookup git branch
/icon-lookup folder
/icon-lookup star
Identify a specific character directly:
# Direct argument
scripts/identify-icons.py -c ""
# From stdin
echo "" | scripts/identify-icons.py -
# From file
scripts/identify-icons.py /path/to/file
Run the conversion script directly:
scripts/convert-placeholders.py /path/to/file
commands/icon-lookup.md - Icon lookup commandskills/icon-lookup/SKILL.md - Skill for proactive icon handlinghooks/hooks.json - PostToolUse hooks for conversion and identificationscripts/convert-placeholders.py - Placeholder to Unicode conversionscripts/lookup-icon.py - Search icons by namescripts/identify-icons.py - Identify icons in files or stringsdata/nerdfont-icons.json - Icon database (sourced from Nerd Fonts)Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub el-mundos/claude-pua-unicode --plugin pua-unicodeYour coding buddy pet for Claude Code — view, customize, or embed in your statusline
Claude Powerline statusline setup wizard
Fast and token-friendly code reading for AI coding agents. Symbol-aware MCP tools that replace cat/grep with ~85% fewer tokens, sub-millisecond search, and a raw fallback that preserves cat/grep parity byte-for-byte.
A Claude Code statusline that shows reasoning effort (⚡) and thinking (💡). 5 presets (xsmall-xlarge), Catppuccin theme, no Node/Nerd Font, native PowerShell on Windows.
Permanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Native Windows toast notifications for Claude Code with window activation