Regression: Double responses in apps

This is an odd regression I’ve come across in the last few days with all of my ChatGPT apps. Whenever I ask anything of it (before tool calls etc) it’ll intermittently repeat the response to the user’s query twice.

E.g. "

Great! here’s what I need to start, I just need field x and y to begin.

Thinking…

Great! here’s what I need to start, I just need field x and y to begin.

"

It’s more prevalent with thinking models but seems to happen at random points in the conversation or on all messages.

Has anybody ever come across this or similar? Feels incredibly strange to happen all of a sudden.

Yes. seen this happen with Thinking. If I force Instant mode, it appears only once

I am working on an app that users can talk back and forth with the AI. It seems to work for a decent amount of time but every once in a while it will get caught up and repeat the exact same message over and over until I delete the conversation history. When this happens it doesn’t matter what the users say, the bot will revert to saying the same thing from the previous dialog.

Any solutions?

Yeah, that looping behavior is pretty frustrating, especially when it ignores new input.

This usually points to something off in how the conversation state is being sent or reused, but hard to pinpoint from the outside.

@mikegully a couple quick things to try on web:

  • hard refresh (Ctrl/Cmd+Shift+R)
  • clear site data/cookies
  • retry in a private/incognito window with extensions, VPN, and secure DNS disabled

If it still repeats, please open a ticket at help.openai.com so the team can dig deeper. Include:

  1. conversation URL/ID
  2. approximate time it started
  3. model used

That context usually helps narrow it down fast.

-Mark G.

Thanks @mark! Mine seems to have almost transferred from thinking-only models to all over the last couple of days. Clearing chats doesn’t seem to resolve, and most other accounts haven’t seen it on non-thinking. Changing prompts does nothing either. I’ve submitted a support ticket now. Anything else that might help?

Hi @jackhoweller

Since you’ve already opened a support ticket, that’s the best next step. The team should get back to you soon once they’ve had a chance to look into the details you shared. Hopefully they can pinpoint what’s causing the duplication quickly.

~Smith

Adding corroborating evidence — we see the same thing on gpt-5.5 (thinking) at the raw API level (Responses API), and it’s consistent enough that we could A/B it.

It’s the model generating the second copy, not a client/render bug. On our first (“opening”) turn, gpt-5.5 returns the assistant’s reply concatenated with a near-verbatim second copy in a single output. Token billing confirms it — clean openings bill ~77–93 output tokens, doubled ones ~130–258.

It’s first-turn specific. Almost always the initiating turn (one short user trigger, no prior history); mid-conversation turns rarely double. ~12% of openings in production, up to ~87% for certain prompts.

It’s gpt-5.5-specific. Identical prompt + code path, 30 runs each:

Model Baseline doubled With mitigation
gpt-5.5 (thinking) 20/30 exact + 6 partial (~87%) 0 exact, 3 partial
gpt-4.1 (non-thinking) 0/30 0/30
claude-sonnet-4-6 (other vendor) 0/30 0/30

Prompt-side mitigations — gpt-5.5, 15 runs each. A system-prompt “don’t repeat” rule does nothing (and was actually worse); a trigger-message “say it once” instruction is the effective lever, but leaves residual partial repeats a dedupe guard can’t safely catch:

Variant Exact-doubled Partial repeat Clean
baseline 8/15 (53%) 2 5
trigger: “write opening once, then stop” 1/15 5 9
system rule: “output reply exactly once” 10/15 1 4
system rule + trigger 0/15 3 12

Reasoning effort — gpt-5.5, 30 runs each. Lowering effort tracks the doubling rate but never cures it, and minimal returns no output at all (AI_NoOutputGeneratedError) through the Responses path:

Effort Doubled Partial Avg reasoning tokens
default 18/30 (60%) 5 39
medium 20/30 (67%) 5
low 9/30 (30%) 5 3
minimal all 30 errored (no output)

Happy to share a sanitized repro payload. +1 on prioritizing this — the partial-repeat variant in particular can’t be safely caught by a dedupe guard.

Same failure mode has been reported across the GPT-5 line on the Responses API for months — looks like one persistent serving-side regression, not anything prompt-specific:

Hi @mark-trufit!

Thanks for linking these cases in a single post. That is actually quite helpful.

I have removed the duplicate posts and pinged the team to take a look at this topic here.