Codex HTTP 400 Bad Request
Codex returns HTTP 400 or Bad Request when a task continues. Preserve local changes and request details, then compare one short request in another session or client.
Quick answer
HTTP 400 says a request was rejected; the generic Bad Request body does not tell you which field or state caused it. Keep the current conversation and inspect files or tool effects already produced. Record the client, version, time, and request ID if available. Test one short request separately; do not treat a new chat as proof the old task is safe to rerun.
Exact wording and first comparison
The macOS desktop report includes HTTP 400 and {"detail":"Bad Request"} after tool activity in two chats. The reporter collected successful and failed request IDs and explicitly did not establish a deterministic cause. A Windows app report says the app returned the same generic body while PowerShell access worked. These cases show different affected surfaces; they do not establish one shared bug.
Keep and isolate the work
- Check the repository diff and any external actions before resubmitting. Save the prompt, visible partial answer, and relevant log without publishing tokens or private file content.
- Test a short prompt in a separate conversation. If CLI works and desktop app fails, note that difference. If the original chat alone fails, keep its URL or ID for support; avoid assuming its history is recoverable by copying the prompt.
- Try one client restart or update check after preserving state. If the problem continues, provide exact version, timestamp, request ID, and reproduction steps through the product's issue or support path. Compare Codex status only for a relevant active component incident.
Selected model is at capacity points to a capacity guide. A task that loses its stream before completion belongs to the stream guide. Neither message is an automatic explanation for HTTP 400.
Frequently asked questions
Is HTTP 400 my usage limit?
The visible generic body does not say that. Record the exact response and check a separate short request before concluding anything about allowance.
Will reopening a chat erase file changes?
Inspect the working tree. A rejected model request does not imply that prior tool actions were undone.
Why does only the app fail?
One user reported PowerShell working while the app returned Bad Request. That comparison narrows the affected surface; it does not identify the underlying cause.
Should I send request IDs publicly?
A request ID can help support correlate a failure, but remove tokens, private paths, and sensitive logs before posting.
Sources
- First-hand reports in the official repository: macOS desktop HTTP 400 log, November 3, 2026; Windows app Bad Request report, November 4, 2026.
- Official live source: OpenAI Status.