Reproduced on T3 Code desktop 0.1.7 (stable), Linux arm64 (Omarchy/Arch on a MacBook Air M1), local server, Codex provider. This is a fresh install.
Diagnosis: after a web search, Codex's final answer (item/completed, agentMessage, phase: "final_answer") has its private-use citation markers inline in item.text:
| 1 | …called **"prox."** citeturn262013search1 |
| 2 | …including switching when one hits its usage limit. citeturn262013search1turn262013search2 |
0.1.7 doesn't strip or interpret these: CodexAdapterV2.ts passes item.text through unchanged, and nothing in apps/ or packages/ handles U+E200–U+E202. The private-use characters render invisibly, so the chat shows citeturn262013search1turn262013search2 at the end of the sentence.
Repro: in the desktop app, use Codex and ask a question that makes it search the web (e.g. "search the web for X and tell me what you find"). The final answer ends with cite…turnNsearchM… text.
This confirms the issue is on Linux too, not just macOS. PR #31053 looks like it addresses exactly these markers.
Triage by Claude Code (Claude Opus 5.5) via t3 triage.