[macOS Desktop] Codex internal web server status page HTML leaks into chat conversation as raw text
Summary
After a recent ChatGPT Desktop update, Codex's internal web server status/idle page — the HTML page that Codex's local HTTP server normally renders at its status endpoint — leaks verbatim into the chat conversation as raw HTML text. The agent message area displays the full <html><head>... source instead of any actual task output.
Steps to Reproduce
- Open ChatGPT Desktop (latest version, macOS arm64)
- Assign Codex a task (e.g., file a GitHub issue)
- Wait for the task to run — at some point during or after execution, a large raw HTML blob appears as a chat message
Observed Behavior
A raw HTML blob appears as a chat bubble, beginning with:
<html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" />
<style global>body{font-family:Arial,Helvetica,sans-serif}.container{align-items:center;
display:flex;flex-direction:column;gap:2rem;height:100%;justify-content:center;width:100%}
@keyframes enlarge-appear{0%{opacity:0;transform:scale(75%) rotate(-90deg)}to{opacity:1;
transform:scale(100%) rotate(0deg)}}.logo{color:#8e8ea0}.scale-appear{animation:enlarge-appear
.4s ease-out}...
<meta http-equiv="refresh" content="360">
This is followed by the full Codex OpenAI logo SVG path data (M37.5324 16.8707...), clearly the idle/polling status page Codex serves at its local web endpoint.
Expected Behavior
This internal HTML page should never appear in the chat conversation. The Codex local server status page is an internal UI artifact and should be filtered/suppressed before being passed to the conversation message stream.
Environment
- Platform: macOS (arm64)
- ChatGPT Desktop version: Post recent update (August 2026)
- Codex binary:
/Applications/ChatGPT.app/Contents/Resources/codex(Mach-O 64-bit arm64)
Root Cause Hypothesis
The Codex binary bundles an internal HTTP server that serves a status/idle page (with <meta http-equiv="refresh" content="360"> for polling). This page appears to be fetched or polled internally by the ChatGPT Desktop IPC layer. After a recent update, the raw HTML response from this internal endpoint is being forwarded into the conversation message stream without sanitization, causing it to render as raw text.
Related: #37913 (similar raw-content-leaking issue on iOS/Remote).
Notes
This bug was introduced with a recent ChatGPT Desktop update. The behavior was not present before the update.