Cursor-agent CLI: Traditional Chinese text corrupted with U+FFFD () in JSON result and interactive/--print text (macOS)

Where does the bug appear (feature/product)?

Cursor CLI

Describe the Bug

Summary

When using cursor agent on macOS, Traditional Chinese (CJK) output is corrupted: random characters become Unicode replacement characters U+FFFD (often shown as ). This happens in **interactive** mode, in **`cursor agent --print` (default text)**, and critically also inside **`--output-format json`**: the `result` string itself contains — so this is not a terminal font issue and not caused by jq.
User-typed Chinese in the same terminal session renders correctly.

Steps to Reproduce

  1. Run: cursor agent --print --output-format json -- "用繁體中文寫兩句自我介紹"
  2. Observe the result field in the JSON line printed to stdout.

Expected Behavior

result should contain valid UTF-8 Traditional Chinese without U+FFFD.

result contains corrupted characters (U+FFFD). Example shape (redacted IDs):

{“type”:“result”,“subtype”:“success”,“is_error”:false,“duration_ms”:2940,“duration_api_ms”:2940,“result”:“你好,我是 Cursor�的 AI 編程助手,能�程式、改程式、查�行指令,把想法落成可用的程式�步��。 \n我會用繁�明,並�量依�格��規��完成任務。”,“session_id”:“9718d10f-9a6f-46e3-8e41-8c4fe98d8bea”,“request_id”:“f36b2ccc-ee0a-45b3-8fd4-73f5ef67f9fa”,“usage”:{“inputTokens”:7742,“outputTokens”:142,“cacheReadTokens”:2048,“cacheWriteTokens”:0}}

Operating System

MacOS

Version Information

Environment

  • OS: macOS (darwin arm64)
  • Terminal: macOS Terminal.app
  • cursor-agent cli version: < cursor agent -v2026.04.08-a41fba1>
  • Shell: zsh

For AI issues: which model did you use?

auto

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report with the request ID and JSON output. That really helps.

This is a known server-side issue. When using Auto or Composer 2 Fast, requests can get routed through certain models that don’t handle non-Latin text correctly (CJK, Thai, Vietnamese, etc.), which can result in U+FFFD. It’s not the CLI or your terminal, the corruption is already in the model response.

The team is aware. We’ve gotten a lot of similar reports over the last couple of days in Korean, Japanese, Thai, and Vietnamese. No ETA for a fix yet.

Workaround: try explicitly selecting a model instead of auto, for example set a specific model (Claude, GPT, etc.) via the --model flag or in settings. A few users confirmed the issue doesn’t reproduce on Composer 2 (not Fast).

Let me know if the workaround helps.

Hey @DrVictorChen - This is the same underlying issue being tracked in this thread — the team is actively working on the fix for garbled non-Latin text in Composer models. Follow there for updates. Closing this one out.

Hey! This is the same underlying issue being tracked in this thread — the team is actively working on the fix for garbled non-Latin text in Composer models. Follow there for updates. Closing this one out.