I keep getting ■ {"detail":"Bad Request"} in most of my threads

Open 💬 5 comments Opened Mar 3, 2026 by vspruyt

I'm using the Codex desktop app but keep getting {"detail":"Bad Request"} every few messages.
I tried clearing my ~codex folder but that didn't help either.

I also tried the CLI just in case, but same problem there.

I'd love to provide more detail if you can tell me what would be helpful! Uploaded thread ID as an example where I'm getting the issue is 019cb4ce-2949-7501-bcfc-93339a544b4a

View original on GitHub ↗

5 Comments

vspruyt · 5 months ago

In case it helps: I think this specific issue has to do with handling tons of images or files. I had codex use a cli tool to list and inspects a whole bunch of images in a folder and kept getting {"detail":"Bad Request"}. Changing the cli tool to organize the images in different subfolders instead of dumping them all in a single folder for codex to handle makes the error disappear, it works fine now.

vspruyt · 5 months ago

For anyone having the same issue: Not a great workaround but a working one for now is changing the model from gpt-5.3-codex to gpt-5.2-codex. It doesn't happen with gpt-5.2-codex while it consistently happens with gpt-5.3-codex.

Edit: Also works fine in GPT-5.4!

Ehtz · 5 months ago
For anyone having the same issue: Not a great workaround but a working one for now is changing the model from gpt-5.3-codex to gpt-5.2-codex. It doesn't happen with gpt-5.2-codex while it consistently happens with gpt-5.3-codex. Edit: Also works fine in GPT-5.4!

Having this issue with GPT-5.4

uditgoenka · 1 month ago

Additional sanitized reproduction on codex-cli 0.144.6, macOS: during a long-running agent session with repeated tool calls, a turn can intermittently stop with exactly ■ {"detail":"Bad Request"}. There is no actionable error detail, and the active workflow halts until the user sends another message. The same thread may continue successfully afterward, so this appears transient rather than a consistently invalid prompt. Expected: retry a transient 400 when safe, or surface a diagnostic/request ID and preserve automatic continuation. No project data, prompts, paths, credentials, or private logs are included here.

okletsgo · 1 month ago

After deleting all the image files, I used the /new command to resolve the issue.