Repository navigation
fix(bridge): signed Claude/Kiro thinking still scrolls raw CoT through the desktop thinking band #4303
Description
Area
Streaming
What are you trying to accomplish?
Get the same reasoning-display parity for anthropic/kiro signed extended thinking that PR #4301 established for raw reasoning: visible-mode thinking should not present itself to Codex as if it were an OpenAI-authored reasoning summary.
What prevents this today?
PR #4301 moved raw reasoning (reasoning_raw_delta: openai-chat reasoning_content, Kiro tags) onto the Responses content channel, because the Codex desktop thinking band renders the summary channel and routed providers have no real summary — the band scrolled raw CoT instead.
The signed path was deliberately left out to keep that PR scoped. src/bridge.ts still routes visible-mode thinking_delta (Anthropic extended thinking with thinking_signature, Kiro signed blocks) through response.reasoning_summary_text.delta with a final summary: [{type: "summary_text", text}] item. The text there is Anthropic's raw extended-thinking output, not a summary, so the same band behaviour the PR fixes still applies to Claude/Kiro routes in visible mode. The signature/env round-trip makes this larger than a channel rename: the final item must keep encrypted_content round-tripping for replay, and hidden mode already has its own envelope contract.
What should OpenCodex do?
Visible-mode signed thinking streams response.reasoning_text.delta and closes with content: [{type: "reasoning_text", text}] plus an empty summary — the same native shape as gpt-oss and as #4301 — while the signature envelope and hideThinkingSummary behaviour stay unchanged.
Example usage or interface
Before (routed Claude, visible mode):
event: response.reasoning_summary_text.delta
data: {"type":"response.reasoning_summary_text.delta","summary_index":0,"delta":"<raw extended thinking>"}
After:
event: response.reasoning_text.delta
data: {"type":"response.reasoning_text.delta","content_index":0,"delta":"<raw extended thinking>"}
Alternatives or workarounds
Keep the current summary-channel wiring for signed thinking (status quo), or store only the signature and drop the visible text. Both are worse: the first keeps the flicker, the second loses an opt-in trace the CLI can show behind show_raw_agent_reasoning.
Additional context
- Follow-up requested in review of fix(bridge): stop raw CoT from scrolling through the desktop thinking band on routed models #4301.
- Reverts the display intent of Reasoning tokens not expanding in Codex UI - "Worked for X" shows time but no trace #45 / 3183154 for the signed path as well; fix(bridge): stop raw CoT from scrolling through the desktop thinking band on routed models #4301 does this for raw reasoning.
- The failing display is the same one recorded in fix(bridge): stop raw CoT from scrolling through the desktop thinking band on routed models #4301's video evidence.
Checks
- I searched existing issues and documentation.
- This request describes a concrete OpenCodex workflow rather than merely naming a desired technology.
- I removed secrets and personal data.
Activity
[-]fix(bridge): move signed thinking_delta (Claude/Kiro visible mode) to the content channel[/-][+]fix(bridge): signed Claude/Kiro thinking still scrolls raw CoT through the desktop thinking band[/+]robin-bially commentedon Sep 11, 2026
Closing this as redundant: the signed-thinking follow-up is documented in the #4301 description and stays tracked there, so a separate issue adds noise. It can be reopened if the maintainers want it as a standalone work item.