Skip to content

Codex Remote shows raw Grok thinking then leftover italic fragments (empty summary[]) #2064

Description

@ropepop

Client or integration

Codex App

Area

Streaming

Summary

On Codex Remote (iOS), a routed Grok turn first paints the model’s private thinking, then that text is pulled and replaced by the normal progress line. A leftover italic fragment stays on screen.

The same turn on Codex Desktop does not show that private thinking.

I expected Remote to show only the official progress / summary line, not the raw thinking and not a leftover scrap after the swap.

This is the same stored item shape as #45 (empty summary[] + content: [{ type: "reasoning_text" }]). #45 is the Desktop case: the chip has nothing to expand. This report is the Remote case: the raw channel is visible, then incompletely replaced.

Reproduction

  1. Run OpenCodex 2.24.2 with the official xAI Chat Completions route (openai-chat / https://api.x.ai/v1).
  2. In Codex App, use xai/grok-4.6 (or xai-fast/grok-4.6).
  3. Open the same thread on Codex Remote on iOS and start a multi-step task.
  4. Watch the live turn on the phone: first-person private thinking appears, then the normal progress line replaces it. An italic tail fragment remains under the command card.
  5. Open the same settled turn on Codex Desktop: that private thinking is not shown.

The leftover italic on the phone matches the tail of a stored reasoning item in the session rollout. In one turn the leftover on screen was:

  • md as a current job.
  • 6. Short test delay option: After successful activation, offer a temporary shorter delay (e.g.

Those strings are the end of a reasoning item whose summary is [] and whose content[0].type is reasoning_text. They are not in the following progress message.

A census of that thread: 179 / 179 reasoning items were summary: [] + a reasoning_text blob. Official summary text: 0 characters.

While the turn is live, the proxy emits response.reasoning_text.delta (raw channel), not response.reasoning_summary_text.delta.

Version

2.24.2

Operating system

macOS (Codex Desktop host) + iOS (Codex Remote)

Provider and model

xai / grok-4.6 (also seen on xai-fast / grok-4.6)

Logs or error output

# Stored reasoning item shape (text redacted)
{
  "type": "reasoning",
  "id": "rs_…",
  "summary": [],
  "content": [
    { "type": "reasoning_text", "text": "<full private thinking>" }
  ]
}

# Live stream for the same item
response.output_item.added   reasoning  summary: []  content: []
response.reasoning_text.delta
response.output_item.done    reasoning  summary: []  content: [{ type: "reasoning_text", … }]

No error status. The turn completes. The defect is the channel the thinking is written to, and how Codex Remote renders that channel.

Screenshots and supporting files

Not attaching the phone screenshot: it includes unrelated product text. The leftover italic fragments above are the on-screen evidence.

Redacted configuration

{
  "providers": {
    "xai": {
      "adapter": "openai-chat",
      "baseUrl": "https://api.x.ai/v1"
    }
  }
}

Checks

  • I searched existing issues and documentation.
  • I removed secrets, tokens, account details, request credentials, and personal data.

Additional information

Closest existing issue: #45 (closed). Same empty-summary + reasoning_text item. That thread is about Desktop having nothing to expand. This one is Codex Remote showing the raw thinking, then leaving italic leftovers after the progress line replaces it.

Related, different bugs: #1503 (Gemini thought text emitted as visible answer text), #1534 (DeepSeek reasoning_text replay 400). Neither is this Remote leak/flicker.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstreamingSSE, WebSocket, terminal stream frames

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions