Codex Desktop on macOS: image-input turns take 130s cold / 45s warm before a trivial response
What version of the Codex App are you using?
- Codex Desktop release:
26.707.72221 - Bundled Codex CLI:
0.144.2
What platform is your computer?
- macOS
26.5.2 - Apple Silicon (
arm64)
What issue are you seeing?
Image-input turns in Codex Desktop have very high time-to-first/final response, even when the prompt explicitly asks not to analyze the image and only return a fixed acknowledgement.
A controlled test used one PNG:
- Dimensions:
1448 × 1086 - File size:
1,200,858 bytes(~1.2 MB) - Prompt:
图片链路测试,不分析图片内容,只回复“附件接收成功”。 - English: “Image-pipeline test. Do not analyze the image content. Only reply ‘Attachment received successfully.’”
Results in the same thread:
- First image turn immediately after fully restarting Codex:
- Completed successfully
- Duration:
130,737 ms
- Second turn with the same image and same prompt:
- Completed successfully
- Duration:
45,373 ms
The ~85-second reduction suggests a significant cold-start component, but the warmed request still taking ~45 seconds for a fixed one-line response is unexpectedly slow.
Test thread ID: 019f5ff5-113b-7091-be41-ae835789ef74
Local timing evidence
For the warmed second turn:
- Desktop accepted
turn/startin approximately3 ms - The turn completed without an error
- No tools were called
- No
unknown conversationerror was logged for this test - The delay occurred after
turn/startand before the final assistant response
This suggests the bottleneck is after local turn submission, likely in image upload/validation, multimodal preprocessing, upstream queueing, or time to first model output. The Desktop logs do not expose enough server-side phase timing to identify which stage dominates.
Text-only turns after the same restart responded normally.
What steps can reproduce the bug?
- Fully quit and restart Codex Desktop on macOS.
- Create a local task.
- Attach one ordinary PNG (~1.2 MB, 1448 × 1086).
- Use a trivial prompt that requests a fixed one-line acknowledgement and no image analysis.
- Measure the turn duration.
- Repeat the identical image/prompt in the same thread.
Observed: ~130.7 seconds on the cold request and ~45.4 seconds on the warmed request.
What is the expected behavior?
A small, single-image turn with a fixed acknowledgement should begin and complete promptly. If multimodal initialization or upstream queueing is slow, the UI should expose a phase-specific status instead of looking stuck.
Additional information
Possibly related to the broader pre-first-output observability problem described in #24260, but this report is specifically reproducible with image input on macOS and shows a large cold-versus-warm latency difference.
Useful diagnostics would include timestamps for:
- local image accepted
- upload started/completed
- image validation/preprocessing started/completed
- upstream request sent
- response headers / first byte received
- first model event received
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗