Text streaming for 5.1+ models not working anymore and chat models erroring out

Hey,

Starting two days ago, models like 5.1, 5.4, and 5.5 do not stream their responses anymore when using the platform.openai.com UI. Up until then, with reasoning effort set to ‘none’, models would stream their responses as usual, with text appearing as the answer was being generated. Now even with the reasoning effort set to ‘none’, the interface shows the loading icon and then the whole response pops at once.

Additionally, models like 5.1 chat-latest, 5.2 chat-latest, and 5.3 chat-latest give an error when trying to use the ‘low’ reasoning effort setting, and there is no more ‘none’ option anymore. I get the following error if I try setting the reasoning effort to ‘low’ on 5.1 chat-latest, 5.2 chat-latest, and 5.3 chat latest:

“Unsupported value: ‘reasoning_effort’ does not support ‘low’ with this model. Supported values are: ‘medium’.”

Same happens if I put the reasoning effort to ‘high’ on either of the chat models.

What is the issue here? It honestly feels like the non-chat models now default to the “low” reasoning effort in the backend.

First up: the “chat” models are simulacra of the ChatGPT “instant” AI. You don’t get to choose a reasoning effort or use them in “developer” ways. “medium” is just a placeholder meaning “default”.

The only thing that used to be done was that the un-sendable options were not in the UI at all for the special models. Now you get to learn what can’t be sent in the playground. And enjoy real non-thinking gpt-5-chat while it’s still in existence, taking temperature. (and the only place there you can avoid a bill for thousands and thousands of output when the model goes loopy, with max_output_tokens.)


Then: these latest models can think long and then produce fast. That might give the impression that they are generating and output is being held back, but they are thinking.

For looking into what the platform site’s chat playground is doing, we can observe the “get code” helper, that generally shows what kind of request not only would reproduce the call you set up, but also how the call is made to the backend API, similar to the developer API except it uses session credentials.

Across both API endpoints in models, no "stream":true is included in the code you are offered - probably a good choice, because a novice might fail implementing handlers for SSE events right out of the gate.

How about the request made by web browser? We can capture that wire also.

gpt-5.4-mini - yes, streaming and tokens scroll. The request to Responses includes streaming. Chat Completions also, but unlike Google, they haven’t fitted a reasoning summary delivery method.

Your concern, 5.1, 5.4, 5.5: also streaming. Mix it up, with store:true, none reasoning, concise summary, etc. instant token scrawling in Firefox. I couldn’t break it with developer + user turns

Issue: non-replicable

Thank you for your response, but I don’t see how your explanation pertains to what my issues is. The thing about chat models is not a real problem to me, it’s just that I used them now for testing just to see if at least those stream the responses token-by-token like before, and they do not. And they all used to, regardless of what the reasoning effort was. Placeholder or not.

Anyway, point being:

Let me give a concrete example. Up until two days ago, this is how it worked:

1. Let’s say I picked the ‘gpt-5.1-2025-11-13’ model from the dropdown in the playground menu (in the Chat tab)

  1. I set the response_format to ‘text’, reasoning effort to ‘none’, verbosity to ‘medium’, store to ‘false’
  2. As soon as I hit enter on a new message in the chat, the model immediately starts outputing text word-by-word, with no delay whatsoever. (Well, barring the networking delay and such, ~1-2 secs)

Now, for some reason, the above doesn’t work like that. Instead, when I send a message, the three loading dots appear, and after a while (depending on the length of the output, so it’s anywhere between 20 seconds to a minute or more) the whole complete response appears at once, whether it’s 200 words or 1500.

The reason I’m unhappy with this is because for my use case, I want to stop it as soon as I see the model go on a wrong path. Usually this is obvious in the first paragraph. Whether the full response is still being generated in the background and I’m charged for it is irrelevant to me. My concern is that in the past I could immediately stop it and retry for another response instead of waiting. Now I don’t have that option, so I’m stuck waiting to see if the whole answer is ok or not.

All I can say is…works for me. As I thoroughly tested. And got streaming responses with reasoning and summaries, and immediately, against both endpoints.

Here are ten clear, easily visualizable combos:

Kangaroodle (kangaroo + poodle)
Turtlegull (turtle + seagull)
Snailphant (snail + elephant)
Ferretriever (ferret + retriever)

You might try deleting all the site’s storage on your browser. “clear local data”, “clear site storage”, etc, as it might apply, thus clearing cookies. Then do a hard-refresh, a CTRL-F5 or CTRL-Reload. The site should have no idea who you are and force you to a login screen. Then close the browser completely and restart.

OpenAI runs client software with local storage in your browser. A cached version of the Javascript, or desyncronized or corrupted data, can cause issues when they update software.

Regarding “chat” models, a bulk of your question is why they act like they do, only accepting reasoning.effort = “medium”. You can consider that also answered.

Yeah, clearing the cache is the first thing I’ve tried. I’ve also tried a different browser and it behaves the same. It doesn’t look like a bug, it appears to be the way it’s “supposed” to work.

Maybe we are in different regions and this is an A/B testing situation. In which case, if anyone from OpenAI is reading this, please don’t make this the default. Or at the very least include an opt-in/opt-out setting for this particular option.