Random Chinese text occasionally appears in scheduled heartbeat messages
Open 💬 3 comments Opened Jul 19, 2026 by kenryu42
What version of the Codex App are you using (From “About Codex” dialog)?
26.715.31925
What subscription do you have?
Pro 20x
What platform is your computer?
Darwin 25.5.0 arm64 arm
What issue are you seeing?
Description
I’m using a scheduled task with a heartbeat in the Codex app. Occasionally, unrelated Chinese text is appended to the heartbeat output after the automation ID.
Examples:
<heartbeat> <automation_id>monitor-cc-safety-net-false-positives</automation_id> 天天啪
<heartbeat> <automation_id>monitor-cc-safety-net-false-positives</automation_id> 俺也去
The Chinese text was not included in my task prompt and does not appear to be related to the task, its output, or my project. The issue occurs intermittently rather than on every scheduled run.
Feedback ID: 019f5e6a-cc1e-76a2-aeb3-3b26cf26d1de
<img width="831" height="431" alt="Image" src="https://github.com/user-attachments/assets/67c3713f-91d5-411c-b915-e0ebfafb454d" />
What steps can reproduce the bug?
Steps to reproduce
- Create a recurring scheduled task in the Codex app.
- Configure the task to send heartbeat updates.
- Let the task run across multiple scheduled executions.
- Check the heartbeat messages.
- Occasionally, unrelated Chinese text appears after the automation ID.
What is the expected behavior?
Expected behavior
The heartbeat message should contain only the expected heartbeat metadata and task output.
Additional information
Additional information
- Model:
GPT 5.6 Terra High - Automation ID:
monitor-cc-safety-net-false-positives - The scheduled task otherwise appears to run normally.
- The issue has occurred more than once with different Chinese text.
- A screenshot showing multiple occurrences is attached.
- I also submitted this bug through the Codex app’s feedback feature.
3 Comments
Related reproduction on Windows 11 with Codex desktop package 26.715.4045, but outside scheduled automations/heartbeats.
During a normal long-running interactive task that had used subagents and many tool calls, the final assistant response was replaced by a mixed-language fragment plus apparent internal stream/protocol state, including:
Earlier in the same session, progress messages also intermittently contained unrelated characters or words in otherwise valid Chinese, and failed internal tool-orchestration output was rendered directly in the conversation.
This suggests the affected output-assembly or event-reconstruction path may be shared by heartbeat delivery and ordinary interactive responses, rather than being automation-specific. Expected behavior is that only the intended assistant text is rendered; protocol/event metadata and internal structured fields remain separate.
I also recorded the broader subagent/rendering comparison on #15001. No local paths, credentials, or user project content are included here.
Related reproduction from the Responses API that appears to be the same underlying failure family as this issue and #13867 / #17775.
We are seeing
gpt-5.6-terraintermittently corrupt final-answer text at the start of a custom fenced table block whose body is JSON. Instead of beginning the JSON object cleanly, the model emits apparent internal routing/header vocabulary mixed with multilingual glitch tokens. Observed fragments include forms of:We have observed three shapes:
This is present in the raw/persisted assistant message before frontend rendering, so it is not just a Markdown or UI parsing problem.
We built a production-matched replay using the same Responses API adapter, prior conversation history, tool definitions, reasoning effort, and cache settings, with tool execution disabled. On one trigger-prone long history:
The trigger is concentrated in long, many-fence, link-heavy answers. A shorter history remained clean in 12 Terra trials. We also saw two production-shaped occurrences: one recovered and one terminated mid-fence.
This looks closely related to #13867: tool-routing serialization leaking into user-visible output together with under-trained multilingual tokens. The custom JSON fence appears to be a reliable trigger for Terra, while Sol did not reproduce in our current sibling-model controls.
We have implemented defensive scrubbing, tolerant parsing, and retry-on-truncation on our side, but those only mitigate the symptom. I can provide OpenAI privately with the redacted replay corpus, raw Responses API output, request metadata, and reproduction script if useful. Please route this to the model/runtime team as a GPT-5.6 Terra reproduction of the existing tool-serialization leakage class.
Reproduced on macOS with Codex Desktop 26.803.61601 (build 6396).
A recurring heartbeat injected a malformed envelope into the target thread. The saved automation TOML is ASCII-only and has a normal prompt; the corruption was not present in the configured prompt.
Observed received payload fragment:
The malformed characters appeared in XML metadata immediately after the opening heartbeat tag, before normal task content. It is therefore not a model answer to the automation prompt and should have been rejected by the scheduler/parser.
Mitigation: paused the affected local automation (gitmama-merge-queue-console) to stop further injections. Expected behavior: heartbeat delivery validates its envelope as UTF-8/XML (or rejects it) and never renders corrupted metadata as conversation content.