intermediate
GPT-5.5 changed the effort default under your prompt
Quick answer:
On 24 April 2026 OpenAI shipped gpt-5.5 and gpt-5.5-pro, announced the day before: a million-token context window and a Pro variant for the problems that do not come out on the first attempt.
What has shipped
Three entries in the changelog touch the person writing prompts. reasoning_effort now defaults to medium. image_detail behaves as original when you send neither it nor auto. And caching on GPT-5.5 works only through extended prompt caching: in-memory prompt caching is not supported.
All three are the same class of change. Nothing you wrote; everything you left unwritten.
What changes for reasoning
A request is not what you send. It is what you send plus what the API fills in. While the default holds still, that second half is invisible and does not matter. The day it moves, your prompt changes behaviour without a line changing in your repository.
A prompt that asked for one amount of reasoning on 23 April asked for another on 24, with the same request body. The model is not reasoning better or worse: it is reasoning what medium says, and what the previous value said is something you never chose.
That is the problem underneath. An empty field does not mean "no preference". It means "whatever the vendor decides this week". A prompt that depends on it is not a prompt: it is a prompt plus another company's calendar.
The second change shows up on the invoice, not in the answer. In-memory caching is not supported on this model and the only route is extended caching: a prompt that used to hit cache by the simple fact of being repeated now pays for the whole input every time. Nothing in your code says so.
What changes for writing prompts
The first rule is to make visible what the API fills in. Effort gets written, not inherited.
text
reasoning_effort: "medium" # the level you measured, not the one you get
That value is a decision with a date on it. When the next model lands you take the decision again, because the levels move too: the none that GPT-5.1 introduced to switch reasoning off disappeared with GPT-6 Astra in September. A level pinned in April and not revisited in September is a level that no longer means the same thing.
The second rule is finding out what your prompt is actually getting, and you do not do that by reading your code. You do it by comparing: the same prompt, twice, with the level written in both cases and different in one.
text
Same input, two requests, one variable:
reasoning_effort: "medium" → [the answer you keep]
reasoning_effort: "high" → [the answer you compare it with]
What you look at: whether the difference is in the content or only in the length.
If the two answers look alike, the level was not the variable. If they do not, you have just measured what the default was giving you.
The third rule is caching. If the model only caches through the extended path, a stable prefix stops being an optimisation and becomes a requirement: what does not change goes first, what changes per turn goes last. A prompt that puts the date, the user ID or the result of the last query on line one has no cache to hit.
And a note on image_detail, which is the same pattern in miniature: if your prompt counted on the image being downscaled for you, it now arrives at original resolution and pays the tokens that costs.
What to stop doing
- Trusting the default. It is not a neutral value. It is somebody else's decision, revisable without notice.
- Reading a cost change as a quality change. Cost tells you what was spent, not how good the answer was: the same prompt at a higher level costs more, and whether the answer improved is yours to measure.
- Reading a latency change as a model improvement. The same move in reverse: when the vendor lowers the default, your prompt looks faster and you have gained speed, which is not the same as quality.
- Taking the cache for granted. In-memory caching is not supported on GPT-5.5. If your architecture counted on it, the symptom is an invoice, not an error.
- Comparing two models with the field empty. With the level unwritten, the difference you measure is the difference between two defaults, not between two models.
Sources
Summary
The 24 April launch brought a million-token context window and three defaults nobody had written: the effort level, the image detail, and which caching path exists. A prompt that behaved one way on 23 April behaved another way on 24 April, with an identical request body.
Ready to create better prompts?
Try our free AI prompt generator and join thousands of users creating better prompts.