ChatGPT Blank Screen After Login

Login completes, ChatGPT redirects to chatgpt.com, then a white page. Fix it fast: hard refresh, unregister the service worker, clear cache, disable extensions, check JS policy.

A blank screen after login means auth completed (the URL is chatgpt.com/?... and document.cookie holds a session token), but the React app shell never rendered. Almost always one of three things: a JS chunk failed to load, a service worker is serving stale cache, or an extension blocked a script or WebSocket the app waits on.

Fastest fix (works ~80% of the time): hard-refresh once (Cmd/Ctrl + Shift + R). Still white? Open the page in an Incognito/Private window with extensions off. If Incognito renders, your fix lives in cache or an extension — jump to Step 2. If Incognito is also white, it is the service worker or a browser-policy/network issue — Step 2, then Step 5.

To find the real cause in 10 seconds, press F12, open the Console tab, reload, and read the first red line. That one error string maps directly to a fix in the table below.

Which bucket are you in?

What you seeMost likely causeGo to
Renders after a hard refresh, white again ~30s laterService worker re-caching a stale chunkStep 2
White in normal window, fine in IncognitoExtension or cached dataStep 2 + Step 4
White in Incognito too, but fine in another browserBrowser profile / policyStep 5
White in every browser, status page shows an incidentOpenAI-side outage, not youStep 6
Console shows one specific red errorMatch it in the Step 3 tableStep 3

Common causes

1. Browser cached a chunk that no longer matches the current build

OpenAI ships a new build, the CDN replaces chunk-abc123.js with chunk-def456.js. Your browser holds the old HTML and requests the old chunk URL — 404, or 200 with mismatched hash.

How to judge: Console shows Loading chunk N failed, ChunkLoadError, or Unexpected token '<' (HTML being parsed as JS).

2. Ad-blocker / privacy extension blocked app scripts

uBlock Origin or AdGuard with certain third-party filterlists blocks hosts like *.statsig.com (feature flags), *.intercom.io, and *.cloudflareinsights.com that ChatGPT pings during init. ChatGPT gates its feature-flag bootstrap on the Statsig call, so when that request is hard-blocked the shell can stall on a blank state instead of rendering.

How to judge: DevTools → Network → look for requests showing ERR_BLOCKED_BY_CLIENT. Or check Console for net::ERR_BLOCKED_BY_CLIENT.

3. Service worker stuck on an old build

ChatGPT registers a service worker for cache. After a big frontend deploy some users get a split-brain SW — old HTML references new chunk URLs but the SW intercepts and serves a cached 404 stub.

How to judge: DevTools → Application → Service Workers. If status isn’t “activated and is running” or the source date is suspiciously old, this is it.

4. Browser policy or site permission blocks JavaScript

Managed Chrome via group policy adds chatgpt.com to “JavaScript blocked”; or you previously did Settings → Site permissions → Block JavaScript on this site.

How to judge: Click the lock icon left of the URL bar → Site settings → check JavaScript isn’t set to Block.

5. CSP / CORS error (rare but stubborn)

Corporate proxies or some VPN extensions inject their own CSP header tighter than OpenAI’s script-src. Inline scripts the app expects to run get refused.

How to judge: Console shows Refused to execute inline script because it violates the following Content Security Policy directive.

Shortest path to fix

Cheapest first: hard refresh → unregister SW → disable extensions → check permissions.

Step 1: Hard refresh to force chunk re-download

Mac:    Cmd + Shift + R
Win:    Ctrl + Shift + R or Ctrl + F5

If it works briefly then goes white again 30s later — the service worker is re-caching the stale chunk. Continue to Step 2.

Step 2: Unregister the service worker

DevTools (F12) → Application → Service Workers
→ find the chatgpt.com row
→ click Unregister
→ Storage tab → Clear site data → uncheck cookies (otherwise you'll log out)
→ close all chatgpt.com tabs
→ reopen

Or nuke from Console:

navigator.serviceWorker.getRegistrations().then(rs => rs.forEach(r => r.unregister()));

Step 3: Read the first Console error

F12 → Console → reload page → look at the earliest red error. Map to fix:

Console errorCauseFix
ChunkLoadError / Loading chunk N failedChunk cache mismatchStep 1 + Step 2
net::ERR_BLOCKED_BY_CLIENTExtension blockedStep 4
Refused to execute inline scriptCSP injectedStep 5
Failed to register a ServiceWorkerSW install failedStep 2
CORS policy: No 'Access-Control-Allow-Origin'Proxy rewrote headerDifferent network, or Step 5
Uncaught SyntaxError: Unexpected token '<'Chunk URL returned HTML 404Step 1 + Step 2

Step 4: Disable extensions one by one

Open chrome://extensions → toggle off:

  • uBlock Origin / AdGuard
  • Privacy Badger / Ghostery
  • NoScript / uMatrix
  • Anything “Cookie AutoDelete” / “Forget Me Not”

Or use Incognito with extensions disabled (Chrome: Cmd/Ctrl + Shift + N). If Incognito works, extensions are the cause. Re-enable in regular window one at a time to find the offender.

Step 5: Check JS permissions and CSP

Lock icon in URL bar → Site settings
→ JavaScript: Allow
→ Cookies: Allow
→ Insecure content: Block (default is fine)

If group policy locked it, local toggles do nothing — IT must add chatgpt.com to the JavaScriptAllowedForUrls policy.

Step 6: Rule out an OpenAI-side outage

If every browser is white and the steps above did nothing, check whether the problem is yours at all. Open status.openai.com and look at the ChatGPT component. If it shows degraded or a posted incident, the blank screen is server-side — nothing local will fix it. OpenAI logged a notable platform outage on Apr 20, 2026, and posts incidents to its status page often enough that this is worth a 10-second check before you keep tinkering.

Chrome white but Safari fine confirms it is browser-side — loop back through Steps 1-5 in the Chrome profile that fails.

How to confirm it’s fixed

You are actually fixed (not just temporarily lucky) when all of these hold:

  • The conversation sidebar and composer render within a second or two of load.
  • A hard refresh and a fresh tab both render — not just the one you cleared.
  • DevTools → Console shows no red ChunkLoadError, ERR_BLOCKED_BY_CLIENT, or CSP errors on reload.
  • It survives ~60 seconds, so you know the service worker re-registered cleanly instead of re-serving the stale chunk.

If it renders once then goes white again on the next navigation, the service worker did not actually unregister — repeat Step 2 with all chatgpt.com tabs closed first.

FAQ

Why does ChatGPT load fine in Incognito but stay blank in my normal window? Incognito starts with no service worker, an empty cache, and (by default) extensions disabled. So a blank-in-normal / fine-in-Incognito split means your problem is exactly one of those three: a stale cached chunk, a stuck service worker, or a blocking extension. Do Step 2 (unregister SW + clear site data, keeping cookies) then Step 4 (extensions).

Will clearing site data log me out of ChatGPT? Only if you wipe cookies. In DevTools → Application → Clear site data, the safe move is to uncheck cookies so your session survives. If you clear everything you will land back on the login page, which is harmless — just sign in again.

Is it safe to run navigator.serviceWorker.getRegistrations() in the Console? Yes. That one-liner only unregisters service workers for the current origin (chatgpt.com); it touches no cookies, passwords, or other sites. After running it, close all chatgpt.com tabs and reopen so a clean worker registers.

The whole page is white in every browser — is it me or OpenAI? Check status.openai.com first. If the ChatGPT component is green and only you see white, it is local (cache/SW/extension/policy). If it is red or shows an incident, wait it out — local fixes cannot help a server-side outage.

I cleared everything and it still won’t render on a managed work laptop. A corporate group policy can block JavaScript or inject a stricter CSP than OpenAI’s, which no local toggle can override. Look for Refused to execute inline script or a JavaScript-blocked state in Step 5, then ask IT to add chatgpt.com to the JavaScriptAllowedForUrls policy and allow OpenAI’s domains through the proxy.

Prevention

  • Keep your browser current; old Chrome / Safari lacking modern ES features will fail to parse the chunk outright.
  • Add chatgpt.com to your ad-blocker’s allowlist (uBlock: click icon → big power button to pause, or add as trusted).
  • Don’t run two ad-blockers at once; their rules collide.
  • After a major OpenAI deploy (usually weekday mornings PT), proactively hard-refresh once before resuming work.
  • Bookmark chatgpt.com and enter via bookmark, not browser history — avoids loading a stale URL.

External references:

Tags: #ChatGPT #ChatGPT account #Troubleshooting #Debug #Blank screen