[BUG] Claude Desktop (Windows/MSIX): cursor stutter and GPU compositing load on new chat + chat switching — no way to disable hardware acceleration

Resolved 💬 2 comments Opened Jul 15, 2026 by nullscanner Closed Jul 15, 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?

<html>
<body>
<!--StartFragment--><html><head></head><body><h1>[BUG] Claude Desktop (Windows, MSIX): cursor stutter/teleporting and GPU load from Electron compositing — no way to disable hardware acceleration</h1>
<h2>What's Wrong?</h2>
<p>Claude Desktop causes system-wide mouse cursor stuttering/teleporting and sustained GPU load whenever the app window is visible. The cursor skips/jumps intermittently and CPU/GPU fans audibly ramp. The machine is otherwise idle and performs normally when Claude is closed.</p>
<p><strong>The effect is most pronounced when starting a new chat and when switching between existing chats</strong> — i.e. on full conversation-view re-renders — which points at the renderer's repaint path rather than at steady-state compositing alone.</p>
<p>Launching the executable directly with <code>--disable-gpu-compositing</code> <strong>completely resolves</strong> the issue, confirming the cause is Electron's GPU compositing layer interacting with Windows DWM — not the workload, and not local computation (no local model is running; all inference is server-side).</p>
<p><strong>The core problem: there is no supported way to apply this flag.</strong> The app is MSIX-packaged, the taskbar/Start entries expose no <code>Properties</code> dialog (no <code>.lnk</code> Target to edit), and there is no hardware acceleration toggle in app settings. The only working workaround is invoking the packaged <code>.exe</code> directly, which loses package identity and breaks the app's disk cache.</p>
<p><strong>Notable:</strong> this package was installed via the <strong>direct download from anthropic.com, not the Microsoft Store</strong>, and is still MSIX. Several existing reports assume MSIX = Store install; it does not. Users who avoid the Store to retain flag control do not actually get it.</p>
<h2>Environment</h2>

  |  
-- | --
Claude Desktop version | 1.21459.0.0
PackageFullName | Claude_1.21459.0.0_x64__pzs8sxrjxfjjc
PackageFamilyName | Claude_pzs8sxrjxfjjc
InstallLocation | C:\Program Files\WindowsApps\Claude_1.21459.0.0_x64__pzs8sxrjxfjjc
Install source | Direct download from anthropic.com (NOT Microsoft Store)
SignatureKind | Developer
OS | Windows 11 Pro — build <FILL IN: winver>
CPU | AMD Ryzen 9 9950X3D2 Dual Edition (16C/32T, Zen 5) — includes integrated Radeon Graphics (2 CU @ 2200 MHz)
Discrete GPU | NVIDIA RTX 5090
NVIDIA driver | <FILL IN>
RAM | 128 GB DDR5
Motherboard | <CONFIRM: ASUS ProArt X870E-CREATOR WiFi?>
Display 1 | <FILL IN: model, resolution, refresh rate> — HDMI, connected to RTX 5090
Display 2 | <FILL IN: model, resolution, refresh rate> — DisplayPort, connected to RTX 5090
DPI scaling | <FILL IN: e.g. 100% / 125% / 150%>
Windows HDR | <FILL IN: on/off>

<p><strong>Both displays are connected to the discrete GPU.</strong> The iGPU is enabled in BIOS but drives no display.</p>
<h2>Steps to Reproduce</h2>
<ol>
<li>Install Claude Desktop via the direct download from anthropic.com on Windows 11.</li>
<li>Launch normally (taskbar pin / Start menu).</li>
<li>Move the mouse over the Claude Desktop window. Observe: cursor stutters and briefly teleports; fans ramp; GPU load rises.</li>
<li>Move focus to any other application — the stutter stops.</li>
</ol>
<p><strong>Strongest trigger — start a new chat, and switch between existing chats.</strong> This is where the stutter is most pronounced and most reliably reproducible. Both actions tear down and re-render the full conversation view, and the cursor stutter tracks those transitions directly.</p>
<ol start="5">
<li>Click "New chat" from within the app. Observe pronounced cursor stutter/teleporting during and immediately after the transition.</li>
<li>Switch between several existing conversations in the sidebar. Observe the same, repeatably.</li>
<li>Let the app sit idle on a single conversation — stutter reduces but does not fully stop while the window is visible.</li>
</ol>
<p>Steps 5–6 are the reliable repro; step 3 is the ambient background symptom.</p>
<h2>Expected Behavior</h2>
<p>A text-based chat application should not induce system-wide input stutter or sustained GPU load. Hardware acceleration should be user-disableable, as it is in Chrome, VS Code, Discord, Slack, and effectively every other Electron/Chromium app.</p>
<h2>Actual Behavior</h2>
<p>Continuous repaint/compositing load whenever the window is visible, causing DWM contention and system-wide cursor stutter.</p>
<h2>Diagnostic Data Needed Before Filing</h2>
<p>Please fill these in — they're what will make this actionable rather than another "me too":</p>
<p><strong>1. Task Manager → Performance, while wiggling the mouse over the Claude window:</strong></p>
<ul>
<li>RTX 5090 utilization (idle vs. mouse-over): <code>&lt;FILL IN&gt;</code></li>
<li>Radeon iGPU utilization: <code>&lt;FILL IN — expected ~0%, which is the point&gt;</code></li>
<li>DWM GPU utilization: <code>&lt;FILL IN&gt;</code></li>
<li>Claude.exe GPU utilization: <code>&lt;FILL IN&gt;</code></li>
</ul>
<p><strong>2. Task Manager → Details:</strong> number of <code>Claude.exe</code> processes and total memory: <code>&lt;FILL IN&gt;</code></p>
<p><strong>3. Optional but valuable</strong> — <code>nvidia-smi pmon -c 10</code> with Claude open and idle, to show non-zero SM usage with no user interaction.</p>
<h2>What Was Ruled Out</h2>
<p>This is the section that makes the report land — it eliminates the usual triage suggestions:</p>
<ul>
<li><strong>Cross-GPU frame transfer — RULED OUT.</strong> Windows Settings → System → Display → Graphics → Claude (Microsoft Store app) → <strong>High performance</strong> had <strong>zero effect</strong>. Rendering is not being offloaded to the iGPU; this is not the multi-GPU copy problem described in #56805. Both displays are already on the discrete GPU.</li>
<li><strong>Hardware/build issue — RULED OUT.</strong> New machine, no stutter with any other application, including GPU-heavy ones. Symptom appears and disappears strictly with Claude Desktop window visibility.</li>
<li><strong>Local model computation — N/A.</strong> No local inference running.</li>
<li><strong>Mouse/USB — RULED OUT.</strong> Symptom is bound to Claude window visibility, not to any input device state.</li>
</ul>
<h2>Workaround (and why it isn't acceptable)</h2>
<p>Only working invocation:</p>
<pre><code class="language-powershell">&amp; "C:\Program Files\WindowsApps\Claude_1.21459.0.0_x64__pzs8sxrjxfjjc\app\Claude.exe" --disable-gpu-compositing
</code></pre>
<p>This fixes the stutter completely, with no perceptible downside to app responsiveness on this CPU.</p>
<p><strong>But it breaks the app.</strong> Because the process is launched from the package directory without package identity:</p>
<pre><code>[ERROR:net\disk_cache\cache_util_win.cc:25] Unable to move the cache: Access is denied. (0x5)
[ERROR:net\disk_cache\disk_cache.cc:284] Unable to create cache
</code></pre>
<p>Also observed on launch:</p>
<pre><code>Error occurred in handler for '$eipc_message$_..._$_claude.buddy_$_BuddyBleTransport_$_reportState':
Error: No handler registered for '$eipc_message$_..._$_claude.buddy_$_BuddyBleTransport_$_reportState'
at Session.&lt;anonymous&gt; (node:electron/js2c/browser_init:2:114253)
at Session.emit (node:events:509:28)
</code></pre>
<p>Additional problems with this workaround:</p>
<ul>
<li>Running elevated produces the <strong>same</strong> cache errors — this is an identity failure, not a permissions failure.</li>
<li>The version-stamped path breaks on every app update.</li>
<li>No <code>.lnk</code> shortcut exists to attach the flag to; the taskbar context menu exposes no <code>Properties</code>.</li>
<li>Indirect flag mechanisms (<code>ELECTRON_EXTRA_LAUNCH_ARGS</code>, <code>electron-flags.conf</code>, NVIDIA Control Panel per-app profiles) are all ignored under MSIX, as documented in #26302 and #31643.</li>
</ul>
<h2>Requested Fix</h2>
<ol>
<li><strong>Add a "Disable hardware acceleration" / "Disable GPU compositing" toggle in Settings.</strong> This is the single most-requested item across every related issue below, and it costs one <code>app.disableHardwareAcceleration()</code> call gated on a setting.</li>
<li>Investigate the conversation-view render path. The worst stutter correlates with new-chat creation and chat switching — full view re-renders — which suggests the mount/unmount path is doing far more compositing work than a text view should. #45127 additionally reports non-zero <code>nvidia-smi</code> SM usage on a fully idle window, suggesting an unconditional animation/render loop underneath.</li>
<li>Support a supported flag mechanism for MSIX builds, or ship a non-MSIX installer option for the direct download.</li>
</ol>
<h2>Related Issues</h2>
<ul>
<li>#26302 — Claude Desktop 1.1.3189 severe UI lag and mouse stutter on Windows; documents that MSIX ignores all standard Electron GPU flag mechanisms</li>
<li>#45127 — Cursor stutter/teleporting when window is visible; non-zero idle GPU usage via <code>nvidia-smi</code></li>
<li>#56805 — Screen flickering &amp; mouse lag; <code>--disable-gpu-compositing</code> identified as the fix; requests a hardware acceleration toggle</li>
<li>#67928 — GPU load scales with visible Claude Desktop window area</li>
<li>#31643 — Extreme input lag from React render loop; MSIX blocks GPU tuning workarounds</li>
<li>#25801 — Black screen with NVIDIA + high-refresh monitor (same MSIX GPU flag limitation)</li>
</ul>
<p><strong>This has persisted across many releases</strong> — the reports above span versions 1.1.3189 through 1.12603.1, and this report is 1.21459.0.0. The requested toggle has been asked for repeatedly and not shipped.</p></body></html><!--EndFragment-->
</body>
</html>

What Should Happen?

Expected Behavior

A text-based chat application should not induce system-wide input stutter or sustained GPU load. Hardware acceleration should be user-disableable, as it is in Chrome, VS Code, Discord, Slack, and effectively every other Electron/Chromium app.

Error Messages/Logs

Steps to Reproduce

Install Claude Desktop via the direct download from anthropic.com on Windows 11.
Launch normally (taskbar pin / Start menu).
Move the mouse over the Claude Desktop window. Observe: cursor stutters and briefly teleports; fans ramp; GPU load rises.
Move focus to any other application — the stutter stops.

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

1.21459.0.0

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

_No response_

View original on GitHub ↗

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