Thread dies on large image
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of Codex CLI is running?
0.154.0
What subscription do you have?
Plus
Which model were you using?
Sol, Terra + Others
What platform is your computer?
Microsoft Windows NT 10.0.26200.0 x64
What terminal emulator and version are you using (if applicable)?
No response
Codex doctor report
PS C:\WINDOWS\System32> codex doctor --json
{
"schemaVersion": 1,
"generatedAt": "1789669679s since unix epoch",
"overallStatus": "warning",
"codexVersion": "0.153.4",
"checks": {
"app_server.status": {
"id": "app_server.status",
"category": "app-server",
"status": "ok",
"summary": "background server is not running",
"details": {
"control socket": "C:\\Users\\Liam\\.codex\\app-server-control\\app-server-control.sock",
"daemon state dir": "C:\\Users\\Liam\\.codex\\app-server-daemon",
"mode": "ephemeral",
"pid file": "C:\\Users\\Liam\\.codex\\app-server-daemon\\app-server.pid (missing)",
"settings": "C:\\Users\\Liam\\.codex\\app-server-daemon\\settings.json (missing)",
"status": "not running",
"update-loop pid file": "C:\\Users\\Liam\\.codex\\app-server-daemon\\app-server-updater.pid (missing)"
},
"remediation": null,
"durationMs": 0
},
"auth.credentials": {
"id": "auth.credentials",
"category": "auth",
"status": "ok",
"summary": "auth is configured",
"details": {
"auth file": "C:\\Users\\Liam\\.codex\\auth.json",
"auth storage mode": "File",
"stored API key": "false",
"stored ChatGPT tokens": "true",
"stored agent identity": "false",
"stored auth mode": "chatgpt"
},
"remediation": null,
"durationMs": 0
},
"config.load": {
"id": "config.load",
"category": "config",
"status": "ok",
"summary": "config loaded",
"details": {
"CODEX_HOME": "C:\\Users\\Liam\\.codex",
"config.toml": "C:\\Users\\Liam\\.codex\\config.toml",
"config.toml parse": "ok",
"cwd": "C:\\WINDOWS\\System32",
"enabled feature flags": "<redacted>",
"feature flag overrides": "none",
"feature flags enabled": "48",
"log dir": "C:\\Users\\Liam\\.codex\\log",
"mcp servers": "1",
"model": "gpt-5.6-terra",
"model provider": "openai",
"sqlite home": "C:\\Users\\Liam\\.codex"
},
"remediation": null,
"durationMs": 0
},
"desktop.app.version": {
"id": "desktop.app.version",
"category": "desktop",
"status": "ok",
"summary": "the desktop application is installed",
"details": {
"log directory": "$HOME\\AppData\\Local\\Codex/Logs",
"running": "false",
"version": "26.911.7940.0"
},
"remediation": null,
"durationMs": 0
},
"desktop.app_server.handshake": {
"id": "desktop.app_server.handshake",
"category": "desktop",
"status": "ok",
"summary": "the desktop application is not running",
"details": {},
"remediation": null,
"durationMs": 0
},
"desktop.security.enforcement": {
"id": "desktop.security.enforcement",
"category": "desktop",
"status": "ok",
"summary": "no locally visible recent Codex security enforcement was found",
"details": {},
"remediation": null,
"durationMs": 0
},
"git.environment": {
"id": "git.environment",
"category": "git",
"status": "ok",
"summary": "git version 2.55.0.windows.4",
"details": {
"PATH git #1": "C:\\Program Files\\Git\\cmd\\git.exe",
"PATH git entries": "1",
"git build options": "git version 2.55.0.windows.4; cpu: x86_64; built from commit: a93524749d7806870fd2b4b00a3812da1d6e5f4a; sizeof-long: 4; sizeof-size_t: 8; shell-path: D:/git-sdk-64/usr/bin/sh; rust: disabled; feature: fsmonitor--daemon; gettext: enabled; libcurl: 8.21.0; OpenSSL: OpenSSL 3.5.7 9 Jun 2026; zlib: 1.3.2; SHA-1: SHA1_DC; SHA-256: SHA256_BLK; default-ref-format: files; default-hash: sha1",
"git exec path": "C:/Program Files/Git/mingw64/libexec/git-core",
"git version": "git version 2.55.0.windows.4",
"repo detected": "false",
"selected git": "C:\\Program Files\\Git\\cmd\\git.exe"
},
"remediation": null,
"durationMs": 81
},
"git.worktree.dev_drive": {
"id": "git.worktree.dev_drive",
"category": "git",
"status": "ok",
"summary": "no Git worktree is active",
"details": {},
"remediation": null,
"durationMs": 0
},
"installation": {
"id": "installation",
"category": "install",
"status": "ok",
"summary": "installation looks consistent",
"details": {
"PATH codex #1": "C:\\Users\\Liam\\AppData\\Local\\Programs\\OpenAI\\Codex\\bin\\codex.exe",
"PATH codex #2": "C:\\Users\\Liam\\AppData\\Roaming\\npm\\codex",
"PATH codex #3": "C:\\Users\\Liam\\AppData\\Roaming\\npm\\codex.cmd",
"PATH codex entries": "3",
"current executable": "C:\\Users\\Liam\\AppData\\Local\\Programs\\OpenAI\\Codex\\bin\\codex.exe",
"install context": "standalone (windows, release C:\\Users\\Liam\\.codex\\packages\\standalone\\releases\\0.153.4-x86_64-pc-windows-msvc\\bin, resources none)",
"managed by Vite+": "false",
"managed by bun": "false",
"managed by npm": "false",
"managed by pnpm": "false",
"managed package root": "not set"
},
"remediation": null,
"durationMs": 57
},
"mcp.config": {
"id": "mcp.config",
"category": "mcp",
"status": "ok",
"summary": "MCP configuration is locally consistent",
"details": {
"configured servers": "1",
"disabled servers": "0",
"stdio servers": "1"
},
"remediation": null,
"durationMs": 0
},
"network.env": {
"id": "network.env",
"category": "network",
"status": "ok",
"summary": "network-related environment looks readable",
"details": {
"managed proxy": "not configured",
"proxy env vars": "none",
"respect system proxy": "disabled"
},
"remediation": null,
"durationMs": 0
},
"network.provider_reachability": {
"id": "network.provider_reachability",
"category": "reachability",
"status": "ok",
"summary": "active provider endpoints are reachable over HTTP",
"details": {
"ChatGPT inference URL": "https://chatgpt.com/backend-api/<redacted> reachable (HTTP 405)",
"desktop assets CDN": "https://persistent.oaistatic.com/codex-app-prod/<redacted> reachable (HTTP 200)",
"reachability mode": "ChatGPT auth"
},
"remediation": null,
"durationMs": 161
},
"network.websocket_reachability": {
"id": "network.websocket_reachability",
"category": "websocket",
"status": "ok",
"summary": "Responses WebSocket handshake succeeded",
"details": {
"DNS": "2 IPv4, 2 IPv6, first IPv6",
"auth mode": "chatgpt",
"connect timeout": "15000 ms",
"endpoint": "wss://chatgpt.com/backend-api/<redacted>",
"handshake result": "HTTP 101 Switching Protocols",
"model provider": "openai",
"provider name": "OpenAI",
"proxy env vars": "none",
"reasoning header": "false",
"server model present": "false",
"supports websockets": "true",
"wire API": "responses"
},
"remediation": null,
"durationMs": 556
},
"runtime.provenance": {
"id": "runtime.provenance",
"category": "runtime",
"status": "ok",
"summary": "running standalone on windows-x86_64",
"details": {
"commit": "unknown",
"current executable": "C:\\Users\\Liam\\AppData\\Local\\Programs\\OpenAI\\Codex\\bin\\codex.exe",
"install method": "standalone (windows, release C:\\Users\\Liam\\.codex\\packages\\standalone\\releases\\0.153.4-x86_64-pc-windows-msvc\\bin, resources none)",
"platform": "windows-x86_64",
"version": "0.153.4"
},
"remediation": null,
"durationMs": 0
},
"runtime.search": {
"id": "runtime.search",
"category": "search",
"status": "warning",
"summary": "search command could not be verified",
"details": {
"search command": "rg.exe",
"search command readiness": "program not found",
"search provider": "system"
},
"remediation": "Install ripgrep or repair the bundled Codex package.",
"durationMs": 0
},
"sandbox.helpers": {
"id": "sandbox.helpers",
"category": "sandbox",
"status": "ok",
"summary": "sandbox configuration is readable",
"details": {
"approval policy": "OnRequest",
"codex-linux-sandbox helper": "none",
"denied-read restrictions": "false",
"execve wrapper helper": "none",
"filesystem sandbox": "restricted",
"network sandbox": "restricted",
"sandbox backend": "elevated",
"sandbox provisioning": "complete"
},
"remediation": null,
"durationMs": 2
},
"security.endpoint": {
"id": "security.endpoint",
"category": "security",
"status": "warning",
"summary": "endpoint protection detected; Codex exclusions are unverified",
"details": {
"Codex exclusions": "not verified",
"endpoint products": "Microsoft Defender",
"exclusion targets": "signed Codex app; codex.exe; codex-windows-sandbox-setup.exe; codex-command-runner.exe; codex-code-mode-host.exe"
},
"issues": [
{
"severity": "warning",
"cause": "Microsoft Defender can interfere with Codex. Verify Codex exclusions.",
"measured": "not verified",
"expected": "Codex application and helper exclusions",
"remedy": "Microsoft Defender: Add a certificate or executable-path exclusion for Codex and its helpers. If Attack Surface Reduction blocks Codex, add a rule exclusion. If Controlled Folder Access blocks Codex, allow the app.",
"fields": [
"Codex exclusions"
]
}
],
"remediation": "ask your security administrator to verify Codex exclusions and required helper allowances",
"durationMs": 20
},
"state.paths": {
"id": "state.paths",
"category": "state",
"status": "ok",
"summary": "state paths and databases are inspectable",
"details": {
"CODEX_HOME": "C:\\Users\\Liam\\.codex (dir)",
"active rollout files": "119 files, 495496411 total bytes, 4163835 average bytes",
"archived rollout files": "2 files, 140603 total bytes, 70301 average bytes",
"goals DB": "C:\\Users\\Liam\\.codex\\goals_1.sqlite (file)",
"goals DB integrity": "ok",
"log DB": "C:\\Users\\Liam\\.codex\\logs_2.sqlite (file)",
"log DB integrity": "ok",
"log dir": "C:\\Users\\Liam\\.codex\\log (dir)",
"memories DB": "C:\\Users\\Liam\\.codex\\memories_1.sqlite (file)",
"memories DB integrity": "ok",
"queue DB": "C:\\Users\\Liam\\.codex\\queue_1.sqlite (file)",
"queue DB integrity": "ok",
"sqlite home": "C:\\Users\\Liam\\.codex (dir)",
"standalone release cache": "1 entries in C:\\Users\\Liam\\.codex\\packages\\standalone\\releases\\0.153.4-x86_64-pc-windows-msvc",
"state DB": "C:\\Users\\Liam\\.codex\\state_5.sqlite (file)",
"state DB integrity": "ok",
"thread history DB": "C:\\Users\\Liam\\.codex\\thread_history_1.sqlite (file)",
"thread history DB integrity": "ok"
},
"remediation": null,
"durationMs": 3100
},
"state.rollout_db_parity": {
"id": "state.rollout_db_parity",
"category": "threads",
"status": "warning",
"summary": "rollout files and state DB thread inventory differ",
"details": {
"default model provider": "openai",
"rollout DB active files": "119",
"rollout DB active rows": "117",
"rollout DB archive mismatches": "0",
"rollout DB archived files": "2",
"rollout DB archived rows": "2",
"rollout DB duplicate DB paths": "0",
"rollout DB duplicate rollout thread id sample": [
"01a06c43-06d2-7621-832c-a6c46aaac89e",
"01a0b02e-cc68-7a22-8cbc-d8cf5c4d1717"
],
"rollout DB duplicate rollout thread ids": "2",
"rollout DB malformed file names": "0",
"rollout DB missing active rows": "2",
"rollout DB missing active sample": [
"C:\\Users\\Liam\\.codex\\sessions\\2026\\09\\17\\rollout-2026-09-17T17-24-12-01a0b02e-cc68-7a22-8cbc-d8cf5c4d1717.jsonl",
"C:\\Users\\Liam\\.codex\\sessions\\2026\\09\\04\\rollout-2026-09-04T12-52-07-01a06c43-06d2-7621-832c-a6c46aaac89e.jsonl"
],
"rollout DB missing archived rows": "0",
"rollout DB model providers": "openai=119",
"rollout DB rows": "119",
"rollout DB scan cap reached": "false",
"rollout DB scan errors": "0",
"rollout DB sources": "vscode=76, subagent:thread_spawn=37, subagent:other=5, unknown=1",
"rollout DB stale rows": "0"
},
"issues": [
{
"severity": "warning",
"cause": "rollout files are missing from the state DB",
"measured": "2 active, 0 archived",
"expected": "every rollout file has a matching threads row",
"remedy": null,
"fields": []
},
{
"severity": "warning",
"cause": "duplicate thread inventory entries found",
"measured": "2 duplicate rollout thread ids, 0 duplicate DB paths",
"expected": "one rollout path and thread id per thread",
"remedy": "Attach the doctor report to a bug report so support can inspect samples.",
"fields": []
}
],
"remediation": null,
"durationMs": 137
},
"system.disk": {
"id": "system.disk",
"category": "disk",
"status": "ok",
"summary": "sufficient free disk space (280.5 GiB)",
"details": {
"CODEX_HOME available": "280.5 GiB",
"failure threshold": "1.0 GiB",
"warning threshold": "5.0 GiB",
"worktree available": "280.5 GiB"
},
"remediation": null,
"durationMs": 0
},
"system.environment": {
"id": "system.environment",
"category": "system",
"status": "ok",
"summary": "OS language en-GB",
"details": {
"EDITOR": "not set",
"VISUAL": "not set",
"os": "Windows 10.0.26200 (Windows 11 Professional) [64-bit]",
"os language": "en-GB",
"os type": "Windows",
"os version": "10.0.26200"
},
"remediation": null,
"durationMs": 0
},
"terminal.env": {
"id": "terminal.env",
"category": "terminal",
"status": "ok",
"summary": "terminal metadata was detected",
"details": {
"color output": "enabled",
"console input code page": "850",
"console output code page": "850",
"stderr console mode": "0x00000007 (VT processing: true)",
"stderr is terminal": "true",
"stdin is terminal": "true",
"stdout console mode": "0x00000007 (VT processing: true)",
"stdout is terminal": "true",
"terminal": "unknown",
"terminal size": "120x30"
},
"remediation": null,
"durationMs": 0
},
"terminal.title": {
"id": "terminal.title",
"category": "title",
"status": "ok",
"summary": "terminal title default",
"details": {
"terminal title activity": "true",
"terminal title items": "activity, project-name",
"terminal title project source": "cwd",
"terminal title project value": "System32",
"terminal title source": "default"
},
"remediation": null,
"durationMs": 0
},
"updates.status": {
"id": "updates.status",
"category": "updates",
"status": "ok",
"summary": "update configuration is locally consistent",
"details": {
"cached latest version": "0.154.0",
"check for update on startup": "true",
"last checked at": "2026-09-10T17:49:09.614425800Z",
"latest version": "0.154.0",
"latest version status": "newer version is available",
"update action": "standalone installer",
"version cache": "C:\\Users\\Liam\\.codex\\version.json"
},
"remediation": null,
"durationMs": 436
}
}
}
What issue are you seeing?
A codex thread gets stuck infinitely thinking once you paste in a large image.
This only happens on 0.154.0, I rolled back to 0.153.4 and it works fine.
What steps can reproduce the bug?
Create a thread with a large image. (https://photos.app.goo.gl/DoqhpXBWFcLaACuw8)
What is the expected behavior?
It doesn't get stuck.
Additional information
As I mentioned, it worked perfectly well in the previous version.
This only happens on 0.154.0, I rolled back to 0.153.4 and it works fine.
This also happens on the desktop app, I tried both.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the thread termination with a large image on Windows using Codex CLI 0.154.0, then inspect the image-handling and thread lifecycle entry points. The codex doctor --json output provides environment details, including the Windows platform and runtime warnings. Done means the thread remains usable after a large image is submitted and the regression is covered by a test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100