[BUG] Claude Desktop permanently fails to launch after blank screen crash — unhandled @formatjs/intl promise rejection prevents window from rendering

Resolved 💬 3 comments Opened Feb 25, 2026 by JVentigan-QuantumIT Closed Feb 28, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Claude Desktop became permanently unable to launch after the app went to a blank white screen during an MCP tool permission prompt. The app had been performing tasks and requested permission via a Windows toast notification. When I returned to the app, the window was completely blank/white. After closing the app, I have been unable to launch it ever since. The process starts but no window appears.
This appears to be caused by an unhandled @formatjs/intl promise rejection that crashes the renderer before the window can be created.

What Should Happen?

Claude Desktop should launch and display its main window normally, recovering gracefully from any prior crash state.

Error Messages/Logs

(node:14232) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.
(Use `claude --trace-deprecation ...` to show where the warning was created)
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
Error: [@formatjs/intl] An `id` must be provided to format a message. You can either:
1. Configure your build toolchain with [babel-plugin-formatjs](https://formatjs.io/docs/tooling/babel-plugin)
or [@formatjs/ts-transformer](https://formatjs.io/docs/tooling/ts-transformer) OR
2. Configure your `eslint` config to include [eslint-plugin-formatjs](https://formatjs.io/docs/tooling/linter#enforce-id)
to autofix this issue
    at nZe (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:83:2748)
    at Sae (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:83:4203)
    at WOt (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:705:12468)
    at RDe (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:705:14365)
    at Hd (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:705:15535)
    at EventEmitter.<anonymous> (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:1234:79020)
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
Error: [@formatjs/intl] An `id` must be provided to format a message. You can either:
1. Configure your build toolchain with [babel-plugin-formatjs](https://formatjs.io/docs/tooling/babel-plugin)
or [@formatjs/ts-transformer](https://formatjs.io/docs/tooling/ts-transformer) OR
2. Configure your `eslint` config to include [eslint-plugin-formatjs](https://formatjs.io/docs/tooling/linter#enforce-id)
to autofix this issue
    at nZe (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:83:2748)
    at Sae (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:83:4203)
    at WOt (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:705:12468)
    at RDe (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:705:14365)
    at Hd (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:705:15535)
    at CZ (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:1234:49037)
    at zFt (C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.1.4173\resources\app.asar\.vite\build\index.js:1234:48325)
(node:14232) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.

Steps to Reproduce

  1. Claude Desktop was running and performing tasks involving MCP tools. Its window was not in focus or was minimized.
  2. The app requested permission via a Windows toast notification.
  3. Upon returning to the app, I saw that the window was blank/white.
  4. Closed the app
  5. All subsequent launch attempts failed. The process runs in the background but no window appears.

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.52

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

A. Troubleshooting Already Attempted

  1. Killing all Claude processes via Task Manager and relaunching
  2. Full uninstall → delete %appdata%\Claude → delete %localappdata%\AnthropicClaude and %localappdata%\temp\claude → reboot → reinstall (repeated multiple times)
  3. Multiple full system reboots
  4. Running application as Administrator
  5. Launching the inner Electron binary directly (%localappdata%\AnthropicClaude\app-1.1.4173\claude.exe) with --disable-gpu

None of the above solved the issue.

B. Key Observations from main.log

main.log

  1. The @formatjs/intl Sentry errors appear on every launch attempt.

2 . Successful launches (that claim the main instance) complete Chrome extension registration, growthbook feature loading, and event logging but no window ever renders.

  1. Subsequent launch attempts all hit "Not main instance, returning early from app ready".
  2. No window.log or claude_desktop_config.json files are present in the app data directories
  3. Windows display language is English (United States)

C. Related Issues

#2230 — Blank screen when invoking MCP tools (same underlying React Intl error, macOS)
#3592 — Blank screen after minimizing during MCP work (Windows)
#15368 — Claude Desktop not exiting / window disappears on relaunch (Windows)
#25929 — Blank/white screen on Windows requiring process kill to recover

This appears to be a more severe variant of the blank screen bugs above. In those cases, killing processes and relaunching recovers the app. In this case, the app is permanently unable to render a window, surviving full uninstall/reinstall cycles.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗