[BUG] Claude Desktop (MSIX) black/white screen on Windows — GPU rendering fails, complete workaround included

Resolved 💬 2 comments Opened Jun 4, 2026 by nicolai0708-wq Closed Jun 7, 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 (MSIX/Windows Store, v1.10628.2.0) fails to render on Windows 11. The window opens but shows a black or white screen. The log shows:

[warn] [buddy-ble] mainView not ready: Timed out waiting for mainView to become ready

This has been reported in #45031, #25801, #56805, #38014, and #21803 (all locked/closed). Those issues told me to file a new one.

Root cause (3 factors combined):

  1. GPU driver incompatibility — Electron GPU acceleration fails with certain drivers (AMD RDNA 4, NVIDIA + HDR, Intel, Apple Silicon)
  2. RendererCodeIntegrity — Windows security feature blocks the Electron renderer
  3. Corrupt GPU cache — switching between GPU-enabled/disabled creates corrupt cache that blocks rendering even with --disable-gpu

I developed a complete, update-safe workaround using a Scheduled Task + PowerShell launcher with dynamic MSIX path resolution. Full details in the Steps to Reproduce section below.

What Should Happen?

Claude Desktop should render its UI normally, regardless of GPU vendor or driver version.

Ideally, Claude Desktop should include a "Disable Hardware Acceleration" toggle in Settings — like Discord, VS Code, and Slack already have. This would fix the issue for all affected users without requiring external workarounds.

Alternatively: the MSIX package should respect the ELECTRON_EXTRA_LAUNCH_ARGS environment variable, so users can pass Chromium flags like --disable-gpu.

Error Messages/Logs

[warn] [buddy-ble] mainView not ready: Timed out waiting for mainView to become ready

Steps to Reproduce

  1. Install Claude Desktop from Windows Store (MSIX package)
  2. Launch Claude Desktop normally
  3. Window appears but content is black or white — no UI renders

Complete workaround (reboot-safe, update-safe):

PowerShell launcher (%APPDATA%\Claude\start_claude.ps1):

Remove-Item "$env:APPDATA\Claude\GPUCache" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "$env:APPDATA\Claude\DawnCache" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "$env:APPDATA\Claude\DawnWebGPUCache" -Recurse -Force -ErrorAction SilentlyContinue
$p = (Get-AppxPackage -Name Claude).InstallLocation
if ($p) { Start-Process (Join-Path $p 'app\claude.exe') -ArgumentList '--disable-gpu','--disable-features=RendererCodeIntegrity' }

Scheduled Task (auto-starts Claude at login with fix):

$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-WindowStyle Hidden -ExecutionPolicy Bypass -File "$env:APPDATA\Claude\start_claude.ps1""
$trigger = New-ScheduledTaskTrigger -AtLogOn -User $env:USERNAME
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
Register-ScheduledTask -TaskName "ClaudeDesktopGPUFix" -Action $action -Trigger $trigger -Settings $settings

Disable MSIX autostart (prevents dual-instance conflict):

Get-ChildItem "HKCU:\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData" -EA 0 | Where-Object { $_.Name -match 'Claude' } | ForEach-Object { Get-ChildItem $_.PSPath -EA 0 } | Where-Object { $_.PSChildName -match 'Startup' } | ForEach-Object { Set-ItemProperty $_.PSPath -Name "State" -Value 1 }

Why this approach? Get-AppxPackage resolves the MSIX path dynamically. When Claude updates and the version folder changes, the script finds the new path automatically.

What does NOT work (all tested):

  • ELECTRON_EXTRA_LAUNCH_ARGS env var — MSIX sandbox ignores user environment variables
  • hardware_acceleration_mode: false in Preferences/Local State — Electron reads it after initial render, too late
  • chrome-flags.conf / electron-flags.conf — MSIX version does not read these
  • --disable-gpu alone (without cache clear) — Corrupt GPU cache blocks rendering
  • --disable-gpu alone (v1.10628.2.0+) — Needs --disable-features=RendererCodeIntegrity additionally
  • --disable-software-rasterizer — Removes software fallback, renderer crashes

Claude Model

None

Is this a regression?

I don't know

Last Working Version

--

Claude Code Version

Claude Desktop v1.10628.2.0 (MSIX/Windows Store) — this is NOT Claude Code CLI, this is the Desktop app

Platform

Other

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

System: ASUS ROG STRIX B550-F GAMING, AMD Ryzen 7 3700X, AMD Radeon RX 9060 XT (RDNA 4), Windows 11 Home 10.0.26200

This bug affects multiple GPU vendors (AMD, NVIDIA, Intel, Apple Silicon) and has been reported in locked issues #45031, #25801, #56805, #38014, and #21803. A Disable Hardware Acceleration toggle in Settings would fix this for everyone.

View original on GitHub ↗

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