claude-code - 💡(How to fix) Fix Permission mode icon (U+23FA ⏺) renders as two garbled boxes on macOS 12 in terminal [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

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#46909Fetched 2026-04-12 13:29:54
View on GitHub
Comments
1
Participants
2
Timeline
5
Reactions
0
Timeline (top)
labeled ×4commented ×1

The permission mode status indicator in the bottom status bar renders as two garbled boxes (??) on macOS 12 instead of the intended icon.

Root Cause

Claude Code uses U+23FA (⏺ BLACK CIRCLE FOR RECORD) as the permission mode icon on macOS (darwin platform), while using U+25CF (● BLACK CIRCLE) on other platforms:

tL = platform === "darwin" ? "\u23FA" : "\u25CF"

U+23FA is in the emoji range (U+23F8–U+23FA) and macOS 12 terminals attempt to render it as a 2-cell wide emoji. Since no terminal font covers it at double-width in this context, it displays as two replacement boxes.

Code Example

tL = platform === "darwin" ? "\u23FA" : "\u25CF"

---

tL = "\u23FA\uFE0E" // force text presentation
// or
tL = "\u25CF" // consistent cross-platform
RAW_BUFFERClick to expand / collapse

Description

The permission mode status indicator in the bottom status bar renders as two garbled boxes (??) on macOS 12 instead of the intended icon.

Root Cause

Claude Code uses U+23FA (⏺ BLACK CIRCLE FOR RECORD) as the permission mode icon on macOS (darwin platform), while using U+25CF (● BLACK CIRCLE) on other platforms:

tL = platform === "darwin" ? "\u23FA" : "\u25CF"

U+23FA is in the emoji range (U+23F8–U+23FA) and macOS 12 terminals attempt to render it as a 2-cell wide emoji. Since no terminal font covers it at double-width in this context, it displays as two replacement boxes.

Steps to Reproduce

  1. Run Claude Code on macOS 12 (Monterey) in any terminal (iTerm2, Terminal.app)
  2. Enable "bypass permissions" mode
  3. Observe the bottom status bar — the permission mode icon shows as ?? (two boxes)

Environment

  • macOS: 12.6 (Monterey / Darwin 21.6.0)
  • Claude Code: v2.1.104
  • Terminals tested: iTerm2, macOS Terminal.app
  • Fonts tested: JetBrainsMono Nerd Font, default system fonts
  • Result: Garbled on all combinations

Expected Behavior

The icon should render correctly, or fall back to a plain ASCII/text character that all terminals can display.

Suggested Fix

Use U+25CF (●) consistently across all platforms, or add U+FE0E (text variation selector) after U+23FA to force text presentation:

tL = "\u23FA\uFE0E" // force text presentation
// or
tL = "\u25CF" // consistent cross-platform

extent analysis

TL;DR

Use U+25CF (●) consistently across all platforms to fix the permission mode icon rendering issue on macOS 12.

Guidance

  • Verify that using U+25CF instead of U+23FA resolves the issue by updating the code to tL = "\u25CF".
  • Test the fix on multiple terminals and fonts to ensure consistency.
  • Consider adding a fallback to a plain ASCII character if issues persist with certain fonts or terminals.
  • Review the character rendering behavior on other platforms to ensure the fix does not introduce new issues.

Example

// Updated code to use U+25CF consistently
tL = "\u25CF"

Notes

This fix assumes that using U+25CF will not introduce any new issues on other platforms. It's essential to test the fix thoroughly to ensure consistency across different environments.

Recommendation

Apply the workaround by using U+25CF consistently across all platforms, as it provides a simple and effective solution to the rendering issue.

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