claude-code - 💡(How to fix) Fix [Bug] macOS notifications garble non-ASCII (Korean) characters [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

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#47784Fetched 2026-04-15 06:42:26
View on GitHub
Comments
0
Participants
1
Timeline
4
Reactions
0
Participants
Timeline (top)
labeled ×4

Root Cause

Root Cause Hypothesis

RAW_BUFFERClick to expand / collapse

Bug Description

macOS desktop notifications from Claude Code display garbled/broken Korean (and likely other non-ASCII/CJK) characters. The text in the Claude Code terminal itself renders correctly, but the macOS notification center shows corrupted characters.

Steps to Reproduce

  1. Use Claude Code Desktop app on macOS
  2. Trigger any action that produces Korean text output (e.g., a cron job creation response in Korean)
  3. Observe the macOS notification

Expected Behavior

Korean text should render correctly in macOS notifications, e.g.:

크론 작업 다시 생성했습니다. Job ID: 10d29099, 5분마다 새로운 PR 리뷰 요청을 체크합니다.

Actual Behavior

Korean characters are garbled/broken in the notification:

<img width="704" height="192" alt="Image" src="https://github.com/user-attachments/assets/4be324a7-43cb-4835-93a2-7cad4bc534bc" />

The notification shows broken characters like:

? 山: ? ? ? ㅐ ??깊?듬??. Job ID: 10d29099, 5 遺_留 ?? ?濡?? PR 由ㅂ력 ?泥?

Root Cause Hypothesis

Claude Code uses osascript (display notification) to send macOS notifications (see #41511). The osascript invocation likely does not properly handle UTF-8 encoded Korean text, causing the characters to be garbled. This may be due to:

  • Missing UTF-8 encoding when passing text to osascript
  • Shell escaping issues stripping multi-byte characters

Related Issues

  • #41511 — macOS notifications appear from "Script Editor" instead of "Claude Code" (same osascript notification mechanism)

Environment

  • macOS Sequoia (Darwin 24.3.0)
  • Claude Code Desktop App
  • System language includes Korean
  • Apple Silicon Mac (M-series)

extent analysis

TL;DR

Ensure that the osascript invocation properly handles UTF-8 encoded text by setting the correct encoding and escaping multi-byte characters.

Guidance

  • Verify that the osascript command is invoked with the correct encoding, potentially by adding an explicit encoding specification, such as -e for UTF-8.
  • Check the shell escaping mechanism to ensure it preserves multi-byte characters, possibly by using a more robust escaping method or quoting the text properly.
  • Review the osascript documentation to confirm its handling of non-ASCII characters and UTF-8 encoding.
  • Test the notification mechanism with a minimal example, using a hardcoded UTF-8 encoded string, to isolate the issue.

Example

osascript -e 'display notification "크론 작업 다시 생성했습니다. Job ID: `10d29099`, 5분마다 새로운 PR 리뷰 요청을 체크합니다." with title "Claude Code"'

Note: This example assumes that the osascript command supports the -e option for specifying the encoding.

Notes

The issue may be specific to the osascript command or the shell environment used to invoke it. Further investigation into the osascript documentation and the shell configuration may be necessary to determine the root cause.

Recommendation

Apply a workaround by modifying the osascript invocation to properly handle UTF-8 encoded text, as the root cause is likely related to encoding or escaping issues.

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