ChatGPT Streaming Stops Midword

The reply streams half a sentence then just freezes. Usually a dropped SSE connection, a tab suspension, or a backend hiccup. Here is how to diagnose and recover.

You ask a question, the reply starts streaming nicely, then halfway through a sentence it just stops. No error, no spinner, no continue button, just half a paragraph hanging there. Refreshing sometimes shows the full answer was actually saved server-side, sometimes shows only the half you saw. ChatGPT delivers answers over a streaming connection (SSE), and when that connection drops, the UI keeps showing whatever made it through before the drop. The cause is usually network, browser, or a transient backend hiccup, and the fix path depends on which.

Common causes

Ordered by hit rate, highest first.

1. SSE connection dropped mid-stream

ChatGPT uses Server-Sent Events to stream tokens. A flaky Wi-Fi, a corporate proxy that closes idle connections, or a VPN reconnect will sever the stream. The browser does not retry automatically.

How to judge: Open DevTools, Network tab, filter to “conversation”. A red or canceled SSE entry around the stop time confirms the drop.

2. Browser tab was backgrounded

Chrome and Safari throttle background tabs aggressively. If you switched away mid-stream, the stream may have been suspended and then closed. Returning to the tab does not resume it.

How to judge: Recall whether you switched tabs or apps. Streams that die exactly when you tabbed away are this.

3. Backend hiccup or rate-limit kick

When the backend hits capacity or your account hits a soft rate limit, the stream can cut off mid-token. The full answer is sometimes saved, sometimes lost.

How to judge: status.openai.com for a degraded indicator. Also try the same prompt in a fresh chat; if it also cuts off, backend pressure is likely.

4. Browser extension interfering with the response

Ad blockers, privacy extensions, or “AI helper” extensions that hook into the page can corrupt the SSE stream or inject errors that abort it.

How to judge: Open ChatGPT in an incognito window with no extensions. If streaming is clean there, an extension is the culprit.

5. Corporate network or VPN with idle-connection timeouts

Some corporate firewalls and VPNs cut TCP connections idle for more than 30-60 seconds. Long answers exceed that window and get severed mid-stream.

How to judge: Disconnect VPN or move to a personal network. If long answers now complete, the network was killing the SSE.

6. Mobile app went to background or lost signal

On iOS and Android, switching apps or losing signal closes the streaming connection. The partial reply stays in the UI but no resume happens.

How to judge: Was the screen on and the app foregrounded the whole time? If not, that is the cause.

Before you start

  • Decide if you need the answer right now or can retry, retries usually work.
  • If the prompt was expensive (lots of tokens), copy the partial answer before you refresh.
  • Note whether you are on Wi-Fi, mobile data, or VPN, the diagnosis differs.

Information to collect

  • Browser and version, or mobile app version.
  • Network type (home Wi-Fi, corporate, mobile, VPN).
  • Whether you switched tabs or apps when the stream cut.
  • Length of the partial answer (short = early drop, long = late drop).
  • Whether it happens on every reply or just long ones.
  • Any installed extensions, especially ad blockers and AI helpers.

Step-by-step fix

Step 1: Refresh the page to recover the full reply

Often the server actually finished generating but only some tokens streamed to your client. Refresh the chat. If the full answer now appears in the thread, the generation was fine and only the live stream broke.

Step 2: If the answer truly stopped, ask to continue

In the same thread, send:

Continue your previous reply from exactly where you stopped:
"...the last few words you streamed..."

The model usually picks up cleanly. Quoting the last words helps it align.

Step 3: Test in an incognito window with no extensions

Open Chrome incognito, sign in, retry. If streams now complete normally, an extension was injecting or corrupting the SSE response. Disable extensions one by one in normal mode to find the offender.

Step 4: Switch network or disable VPN

If you are on corporate Wi-Fi or a VPN, switch to mobile hotspot for one test. A clean long reply over hotspot points the finger at the corporate proxy. Ask IT to allowlist chat.openai.com and chatgpt.com for long-lived SSE connections.

Step 5: Keep the tab in foreground for long generations

For long answers (1000+ words, deep research, code), keep the ChatGPT tab visible and the laptop awake. Background throttling is the silent killer of long streams.

Step 6: Use a shorter request to avoid the throttle window

Instead of “write a 3000-word essay”, ask for “an outline first, then expand each section in turn”. Each individual stream stays short and is far less likely to hit any idle-timeout.

Step 7: Switch from web to the desktop or mobile app

The native apps handle stream interruption slightly better than the browser in some cases, especially over flaky Wi-Fi. If browser streams keep cutting, try the desktop app as a fallback.

Verify

  • Send a medium-length prompt (“explain X in 500 words”). It should stream end to end without cutting.
  • Run one long generation (an outline plus full draft) with the tab in foreground. It should complete.
  • If you fixed it by disabling an extension, re-enable extensions one at a time and rerun, isolating which.

Long-term prevention

  • Keep the ChatGPT tab foregrounded during long generations.
  • On corporate networks, ask IT to allowlist OpenAI domains and disable SSE timeouts.
  • For very long outputs, break the task into smaller chunks instead of one mega-prompt.
  • Avoid AI helper extensions that hook into the ChatGPT DOM, they often break streams.
  • Keep the desktop or mobile app installed as a fallback for flaky browser sessions.

Common pitfalls

  • Refreshing immediately and assuming the partial was lost, often the full answer is already saved.
  • Asking “continue” without quoting the last words, the model restarts instead of continuing.
  • Blaming GPT-5 for “stopping early” when the network actually killed the stream.
  • Running long generations on a sleeping laptop, macOS suspends networking.
  • Trusting incognito with extensions enabled, incognito does not block all of them.

FAQ

  • Why does the answer reappear after refresh? The server finished generating and saved the message; only your live stream broke. Refresh re-reads the saved version.
  • Can I make ChatGPT auto-retry a broken stream? No, the web client does not retry SSE automatically. You must refresh or ask it to continue.
  • Is this a GPT-5 problem? No, the model finished. The transport between server and your browser is the issue.
  • Does this happen on the API? The API exposes raw SSE so your client can detect breaks and retry. In your own code you have more control.
  • Does Plus or Team help? Same streaming pipeline. Higher tiers may hit fewer rate-limit-related cuts but the SSE pipe is the same.
  • Why does it happen more on long answers? Long answers spend more time on the wire, and any idle-timeout in between has more chances to fire.

Tags: #ChatGPT #Troubleshooting #web #Debug