Repository navigation
[macOS] Repeated Bad Request aborts desktop turns after successful commands and on simple follow-ups #44408
Description
What version of the Codex App are you using (From “About Codex” dialog)?
26.903.61454 (build 8378), verified from the installed app bundle metadata.
What subscription do you have?
ChatGPT Pro.
What platform is your computer?
macOS 26.6.2, Apple Silicon.
Darwin 25.6.0 arm64 arm
What issue are you seeing?
A long-running desktop conversation repeatedly aborts with only {"detail":"Bad Request"}. There are 13 failed turns between 2026-09-10 04:10:18 and 04:16:43 UTC. Some fail before an assistant reply; others fail immediately after successful local commands. Occasional simple replies succeed between failures, but the work cannot reliably continue.
Even asking the assistant to file these bug reports failed with the same error after a successful command.
Exact recorded task completion error:
{"last_agent_message":null,"error":{"message":"{\"detail\":\"Bad Request\"}","codex_error_info":"other"}}Examples from the local session record (UTC):
| Time | Turn | Evidence |
|---|---|---|
| 04:12:43.183 | 01a08984-91be-7543-9a66-20da1af12f89 |
Simple “please check again” follow-up failed after 1,297 ms. |
| 04:12:51.580 | 01a08984-b187-7840-a6a8-d6d90c565448 |
Asking why Bad Request appeared failed after 1,602 ms. |
| 04:15:55.493 | 01a08987-5832-77d2-a112-c3e07b6538d0 |
Read-only shell inspection finished with exit code 0 at 04:15:54.373; the turn failed about 1.1 seconds later. |
| 04:16:04.638 | 01a08987-a5fe-75a0-bae8-7c05a65cccb6 |
Another plain-text question failed after 1,002 ms. |
| 04:16:43.611 | 01a08988-14af-7eb1-9f7e-5239a9ddb213 |
Assistant promised to file two issues; a command completed with exit code 0 at 04:16:42.675, then the turn failed with no final answer. |
What steps can reproduce the bug?
Observed sequence; not a deterministic minimal reproduction:
- Continue an existing, long-running desktop task with local shell and MCP tools available.
- Ask it to inspect local application/MCP configuration. Read-only commands can finish successfully, then the turn aborts.
- Send simple follow-ups such as “please check again”, “hello?”, or “why does Bad Request appear?”. Several also abort in approximately one second.
- Ask it to report the failure on GitHub. The same failure interrupts that request.
Affected session: 01a0820c-21a3-7381-9817-5dd5952beede.
Model recorded for the failing turns: gpt-6-astra, reasoning effort low, default collaboration mode.
Last available token-count event: 149,004 input tokens / 258,400 model context window (approximately 58%; this is the last recorded usage, not proof of the exact failing request size).
What is the expected behavior?
Successful tool calls should allow the turn to continue. Plain-text follow-ups should receive a response. If a request cannot be accepted, show actionable diagnostic information and a recovery path instead of a generic error that leaves the authorized task unfinished.
Additional information
The issue was reported from a separate functioning task after the affected task could not finish reporting it. No failing endpoint, numeric HTTP status, or root cause has been established from the session error. Multiple MCP integrations were present, but there is no evidence identifying a particular MCP as the cause.
A separate issue will describe missing recent conversation history when returning to this same task. Whether the two symptoms share a cause is unknown.
Related symptom report: #43711 (Windows; this report provides a macOS occurrence, simple-message failures, and timestamps for correlation).
Only selected diagnostic excerpts are included; private project content, local configuration values, credentials, and media URLs are omitted.
Activity
github-actions commentedon Sep 10, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
jimmycarp966 commentedon Sep 11, 2026
This is still happening. A second long-running desktop task has now become unusable with the same generic
Bad Request, leaving authorized work unfinished and even immediate text-only follow-ups unanswered.Current environment, rechecked from the installed bundle and OS metadata:
com.openai.codex; current version 26.903.71938 (build 8576). The original report listed 26.903.61454 (8378). This is the version installed at this follow-up, not a claim that the exact build active at every historical failure was recorded.arm64.gpt-6-astra, reasoning efforthigh, default collaboration mode; the earlier issue recorded effortlow.New affected session:
01a08989-3438-7662-a2f3-040937b81fc4. This was the separate task originally used to file these reports, and it subsequently ran normally for many turns before encountering the same failure.Four consecutive failed turns, with completion timestamps in UTC:
01a08da4-6069-71e2-ae0c-43def9c0c44b01a08df7-d374-79e1-8e4c-29a0f17af28901a08e01-0dac-7701-852c-7abcf695ea1801a08e01-7746-7d02-8f61-d46754c0750cAll four persisted completion events contain:
{"last_agent_message":null,"error":{"message":"{\"detail\":\"Bad Request\"}","codex_error_info":"other"}}For the 01:06:43 failure, three image-view items completed at 01:06:42.889–42.892 and a local command completed with exit code 0 at 01:06:42.977, approximately 715 ms before the turn aborted. An earlier local script assertion had failed, but subsequent commands completed successfully and the assistant continued before the separate generic request failure. The record does not establish that the script, image viewing, or any MCP caused the abort.
The last available token-count event at 01:06:43.068 reports 77,855 input tokens / 258,400 context window (~30%). This is the last recorded successful usage, not the size of the rejected request or proof that a context limit was or was not involved. The session includes 11 compaction records; no causal relationship has been established.
A fresh read of this task returns
systemErrorand the same four failed turn IDs, withadditionalDetails: null. The original session also contains one additional persisted failure at 2026-09-10 04:44:55.393 UTC, turn01a089a1-e76d-7a01-9fa4-26bcab2b0caa, beyond the 13 initially reported.I had to move to another task again to reconstruct progress and continue. The history-retrieval issue is also still observable; details are being added to #44409. No numeric HTTP status, failing endpoint, backend request ID, or root cause is available in these completion errors. Please use the session/turn IDs and UTC timestamps for server-side correlation. Full private transcripts, credentials, configuration values, and media URLs are intentionally omitted.
jimmycarp966 commentedon Sep 11, 2026
Another recurrence: the replacement task used to recover the previous broken conversation has now also failed. This is the third affected session documented in this issue. Moving to a new task temporarily permits progress, but has not provided a durable recovery. Reconstructing context repeatedly is making normal work impractical.
Newly affected session and environment
01a08e01-a84b-76a1-82c3-4fc345a219c2.01a08e18-57ed-70e3-9ece-6fb31dfaa096.com.openai.codex, 26.903.71938 (8576). This is the installed version at investigation time, not independent proof of the build active at every historical event.arm64; ChatGPT Pro confirmed in the session's usage metadata.Codex Desktop; runtime/CLI version 0.153.4, source metadatavscode, provideropenai.gpt-6-astra, reasoning effortmedium, default collaboration mode. Earlier occurrences in this issue usedlowandhigh.Exact timeline (UTC, 2026-09-11)
run_scriptcompleted successfully; three frame exports each returnedok: true.Bad Request, no final assistant answer.Duration: 1,545,938 ms (25 minutes 45.938 seconds). The failure occurred 14.522 seconds after the last persisted image tool output, rather than being reported as a failed image-view tool call. Local time of failure was September 10, 22:58:21 ART (UTC−03:00).
Exact completion error excerpt:
{ "turn_id": "01a08e18-57ed-70e3-9ece-6fb31dfaa096", "last_agent_message": null, "error": { "message": "{\"detail\":\"Bad Request\"}", "codex_error_info": "other" }, "duration_ms": 1545938 }Request/context clues for investigation
resp_044da36a91e02f54016aa3602a18c487d29e88032c06bfbf88. This is a correlation clue for the preceding successful response, not an ID for the rejected request.rate_limit_reached_type: null; it does not record a Codex rate-limit error. This does not rule out an unreported backend limit.Cross-session recurrence and recovery impact
01a0820c-21a3-7381-9817-5dd5952beede: original repeated failures in the issue body and previous follow-up.01a08989-3438-7662-a2f3-040937b81fc4: replacement/reporting task later failed, including immediate text-only follow-ups (previous comment).01a08e01-a84b-76a1-82c3-4fc345a219c2: next recovery task worked, published the preceding reports, then failed again as documented above.The user now has to open yet another task to report this and recover progress. Substantial tool work can succeed, yet the conversation stops without a useful explanation or completion handoff. Please investigate this as a recurring work-blocking failure, provide an actionable error/recovery path, and correlate the session/turn IDs and UTC timestamps server-side.
For comparison with #44409: a fresh task-reader request for this third session returned all five turn headers with nonempty items, including the failed turn, and
systemError/additionalDetails: null. The newest-page response reportedhasMore: false. Thus this new occurrence confirms Bad Request, but does not newly reproduce the stale/empty-history retrieval symptom in this particular session. No GUI history-loss claim is added here.I reviewed the full available five-turn conversation and its persisted diagnostic record. No numeric HTTP status, rejected-request ID, failing endpoint, or root cause is exposed by the completion error. Only selected diagnostic metadata is shared; full transcripts, images, prompts, client/project content, personal paths, account identifiers, credentials, and signed media URLs are omitted.