claude-code - 💡(How to fix) Fix [Bug] Claude Desktop renderer/GPU process burn ~1 CPU core continuously due to Coder workspace-discovery polling every 30s

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

2026-05-17 10:47:55 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH at zEr (C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\resources\app.asar.vite\build\index.js:2409:17320) { [stack]: [Getter/Setter], [message]: 'coder CLI not found on augmented PATH' } 2026-05-17 10:47:55 [info] [oauth] looking up token for orgId=<redacted>, cacheKey=<redacted>:<redacted>:https://api.anthropic.com:user:inference user:file_upload user:profile 2026-05-17 10:47:55 [info] [oauth] using cached token for orgId=<redacted> 2026-05-17 10:48:25 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH ... (repeats forever, 30s cadence)

at zEr (C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\resources\app.asar.vite\build\index.js:2409:17511) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) {

Root Cause

<html> <body> <!--StartFragment--><!-- obsidian --><h2 data-heading="Summary">Summary</h2> <p>Claude Desktop on Windows (MSIX build <code>1.7196.0.0</code>) polls the Coder.com workspace integration every 30 seconds. Discovery throws a <code>new Error()</code> (with V8 stack capture) on <strong>every</strong> cycle for users in any state other than "Coder CLI installed AND authenticated AND reachable workspace" — paired with an OAuth token cache lookup against <code>api.anthropic.com</code> each cycle. The renderer and GPU process burn ~one full CPU core between them continuously — even when the window is minimized to the system tray. The only mitigation is right-click tray → Quit; <code>app.hide()</code> / minimize-to-tray does not pause the poll loop.</p> <p>I observed at least <strong>two distinct failure paths</strong>, and the more "fixed" the user's environment is, the <em>more</em> expensive the per-cycle cost becomes (see Evidence §1b). This suggests the entire integration is unconditionally polling for a feature most Claude users have never opted into.</p> <p>This appears to be the root cause behind several previously-reported but unresolved "Claude Desktop high CPU when idle" symptoms (#32020 closed as stale, #19393, #11615).</p> <h2 data-heading="Environment">Environment</h2> <ul> <li><strong>OS:</strong> Windows 11 Pro 26200</li> <li><strong>Claude Desktop version:</strong> <code>1.7196.0.0</code> (MSIX / Microsoft Store package <code>Claude_pzs8sxrjxfjjc</code>)</li> <li><strong>Install path:</strong> <code>C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\</code></li> <li><strong>State dir:</strong> <code>%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\</code></li> <li><strong>Coder.com CLI:</strong> initially not installed; later installed via <code>winget install Coder.Coder</code> (v2.33.3) for a workaround test — see §1b below.</li> </ul> <h2 data-heading="Evidence">Evidence</h2> <h3 data-heading="1a. Repeating log pattern — Coder CLI absent (every 30s, indefinitely)">1a. Repeating log pattern — Coder CLI absent (every 30s, indefinitely)</h3> <p>From <code>logs\main.log</code>:</p> <pre><code>2026-05-17 10:47:55 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH at zEr (C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\resources\app.asar\.vite\build\index.js:2409:17320) { [stack]: [Getter/Setter], [message]: 'coder CLI not found on augmented PATH' } 2026-05-17 10:47:55 [info] [oauth] looking up token for orgId=&#x3C;redacted>, cacheKey=&#x3C;redacted>:&#x3C;redacted>:https://api.anthropic.com:user:inference user:file_upload user:profile 2026-05-17 10:47:55 [info] [oauth] using cached token for orgId=&#x3C;redacted> 2026-05-17 10:48:25 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH ... (repeats forever, 30s cadence) </code></pre> <p><strong>7,966 occurrences</strong> of <code>workspace discovery failed</code> in a single <code>main.log</code> file (~66 hours of accumulated polling). Each occurrence captures a JS stack trace (expensive in V8) and triggers an OAuth token cache check.</p> <h3 data-heading="1b. Repeating log pattern — Coder CLI installed but not authenticated (every ~30s, indefinitely; *more expensive* per cycle)">1b. Repeating log pattern — Coder CLI installed but not authenticated (every ~30s, indefinitely; <em>more expensive</em> per cycle)</h3> <p>I tested the obvious "workaround" of installing the Coder CLI to make discovery succeed cheaply (<code>winget install Coder.Coder</code>, v2.33.3, then full Quit + relaunch of Claude Desktop to pick up the new PATH). Result: the per-cycle cost got <strong>worse</strong>, not better, because the integration now actually spawns <code>coder.exe</code>:</p> <pre><code>2026-05-17 10:50:59 [info] [Coder] workspace discovery failed: Error: coder list exited 1: Encountered an error running "coder list", see "coder list --help" for more information error: You are not logged in. Try logging in using 'C:\Users\daves\AppData\Local\Microsoft\WinGet\Packages\Coder.Coder_Microsoft.Winget.Source_8wekyb3d8bbwe\coder.exe login &#x3C;url>'.

Fix Action

Fix / Workaround

<html> <body> <!--StartFragment--><!-- obsidian --><h2 data-heading="Summary">Summary</h2> <p>Claude Desktop on Windows (MSIX build <code>1.7196.0.0</code>) polls the Coder.com workspace integration every 30 seconds. Discovery throws a <code>new Error()</code> (with V8 stack capture) on <strong>every</strong> cycle for users in any state other than "Coder CLI installed AND authenticated AND reachable workspace" — paired with an OAuth token cache lookup against <code>api.anthropic.com</code> each cycle. The renderer and GPU process burn ~one full CPU core between them continuously — even when the window is minimized to the system tray. The only mitigation is right-click tray → Quit; <code>app.hide()</code> / minimize-to-tray does not pause the poll loop.</p> <p>I observed at least <strong>two distinct failure paths</strong>, and the more "fixed" the user's environment is, the <em>more</em> expensive the per-cycle cost becomes (see Evidence §1b). This suggests the entire integration is unconditionally polling for a feature most Claude users have never opted into.</p> <p>This appears to be the root cause behind several previously-reported but unresolved "Claude Desktop high CPU when idle" symptoms (#32020 closed as stale, #19393, #11615).</p> <h2 data-heading="Environment">Environment</h2> <ul> <li><strong>OS:</strong> Windows 11 Pro 26200</li> <li><strong>Claude Desktop version:</strong> <code>1.7196.0.0</code> (MSIX / Microsoft Store package <code>Claude_pzs8sxrjxfjjc</code>)</li> <li><strong>Install path:</strong> <code>C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\</code></li> <li><strong>State dir:</strong> <code>%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\</code></li> <li><strong>Coder.com CLI:</strong> initially not installed; later installed via <code>winget install Coder.Coder</code> (v2.33.3) for a workaround test — see §1b below.</li> </ul> <h2 data-heading="Evidence">Evidence</h2> <h3 data-heading="1a. Repeating log pattern — Coder CLI absent (every 30s, indefinitely)">1a. Repeating log pattern — Coder CLI absent (every 30s, indefinitely)</h3> <p>From <code>logs\main.log</code>:</p> <pre><code>2026-05-17 10:47:55 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH at zEr (C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\resources\app.asar\.vite\build\index.js:2409:17320) { [stack]: [Getter/Setter], [message]: 'coder CLI not found on augmented PATH' } 2026-05-17 10:47:55 [info] [oauth] looking up token for orgId=&#x3C;redacted>, cacheKey=&#x3C;redacted>:&#x3C;redacted>:https://api.anthropic.com:user:inference user:file_upload user:profile 2026-05-17 10:47:55 [info] [oauth] using cached token for orgId=&#x3C;redacted> 2026-05-17 10:48:25 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH ... (repeats forever, 30s cadence) </code></pre> <p><strong>7,966 occurrences</strong> of <code>workspace discovery failed</code> in a single <code>main.log</code> file (~66 hours of accumulated polling). Each occurrence captures a JS stack trace (expensive in V8) and triggers an OAuth token cache check.</p> <h3 data-heading="1b. Repeating log pattern — Coder CLI installed but not authenticated (every ~30s, indefinitely; *more expensive* per cycle)">1b. Repeating log pattern — Coder CLI installed but not authenticated (every ~30s, indefinitely; <em>more expensive</em> per cycle)</h3> <p>I tested the obvious "workaround" of installing the Coder CLI to make discovery succeed cheaply (<code>winget install Coder.Coder</code>, v2.33.3, then full Quit + relaunch of Claude Desktop to pick up the new PATH). Result: the per-cycle cost got <strong>worse</strong>, not better, because the integration now actually spawns <code>coder.exe</code>:</p> <pre><code>2026-05-17 10:50:59 [info] [Coder] workspace discovery failed: Error: coder list exited 1: Encountered an error running "coder list", see "coder list --help" for more information error: You are not logged in. Try logging in using 'C:\Users\daves\AppData\Local\Microsoft\WinGet\Packages\Coder.Coder_Microsoft.Winget.Source_8wekyb3d8bbwe\coder.exe login &#x3C;url>'. <p>Combined: ~one full CPU core continuously consumed across renderer + GPU.</p> <p>Live 5-second-window samples show low instantaneous CPU%, which is why simple Task Manager snapshots miss this — the burn shows up cumulatively, not on any single tick.</p> <h3 data-heading="3. Minimize-to-tray does not suspend the polling">3. Minimize-to-tray does not suspend the polling</h3> <p>The renderer process command line includes:</p> <pre><code>--type=renderer --user-data-dir="C:\Users\daves\AppData\Roaming\Claude" --standard-schemes=cowork-artifact,cowork-file,claude-simulator,app --secure-schemes=cowork-artifact,cowork-file,claude-simulator,app,sentry-ipc </code></pre> <p>I do not see <code>--enable-features=...</code> for background throttling, and the timer driving the Coder poll is in the main process (so renderer throttling wouldn't help anyway). Quitting via the tray icon is currently the only way to stop the burn.</p> <h2 data-heading="Reproduction">Reproduction</h2> <ol> <li>Install Claude Desktop on Windows (MSIX/Store build) without the Coder.com CLI on PATH.</li> <li>Sign in.</li> <li>Minimize the window (the X button minimizes to tray).</li> <li>Wait several minutes.</li> <li>Open Task Manager → Details, watch the cumulative CPU column on <code>claude.exe</code> rows.</li> <li>Tail <code>%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\logs\main.log</code> — <code>workspace discovery failed</code> fires every 30 seconds.</li> </ol> <p>Optional: to reproduce the <em>worse</em> §1b path, <code>winget install Coder.Coder</code>, fully quit Claude Desktop via tray → Quit, relaunch, and tail the log again — the error message changes from "coder CLI not found on augmented PATH" to "coder list exited 1: ... not logged in", and a child <code>coder.exe</code> now spawns every 30s.</p> <h2 data-heading="Suggested fixes (ranked by user impact)">Suggested fixes (ranked by user impact)</h2> <ol> <li><strong>Gate the integration behind a user opt-in toggle.</strong> Most Claude Desktop users have never heard of Coder.com. Opt-in eliminates the burn entirely for the silent majority — biggest win.</li> <li><strong>Negative cache <em>both</em> failure modes for the session.</strong> If <code>coder</code> is absent OR <code>coder list</code> exits non-zero with an auth error, mark the integration disabled until next launch. Detect once, don't re-test every 30s. This fixes §1a and §1b together.</li> <li><strong>Don't <code>new Error()</code> for expected/recoverable states.</strong> Use a typed result (<code>{ ok: false, reason: 'cli-missing' | 'unauthed' | ... }</code>) instead of throwing. Stack capture is the single biggest per-cycle cost.</li> <li><strong>Don't spawn a child process every 30s to test connectivity.</strong> Especially for unauthenticated state — the CLI itself just reads a local config file to know it's unauthed; Claude could read that same config file (or a <code>coder whoami --quiet</code>-style cached check) without a full spawn.</li> <li><strong>Increase poll interval</strong> from 30s → 5min or longer; workspace discovery doesn't need second-by-second freshness.</li> <li><strong>Pause polling when window is hidden / app is in tray.</strong> Use <code>app.on('browser-window-blur')</code> + visibility heuristics.</li> <li><strong>Decouple the OAuth token lookup from this loop.</strong> It's noise in the logs and unnecessary work if the integration call won't proceed anyway.</li> </ol> <h2 data-heading="Related issues (likely symptom reports of this same root cause)">Related issues (likely symptom reports of this same root cause)</h2> <ul> <li>#32020 — "Renderer process consumes 80%+ CPU when idle" (closed as stale)</li> <li>#19393 — "High CPU usage when Claude Code instances are idle"</li> <li>#11615 — "Code Helper (Renderer) consuming 99.8% CPU"</li> </ul> <p>If this root-cause hypothesis holds, the above could be closed as duplicates pending a fix here.</p> <h2 data-heading="Workaround for affected users (until fixed)">Workaround for affected users (until fixed)</h2> <p>Right-click the system tray icon → <strong>Quit Claude</strong> when not actively using the app. Minimizing to tray (the X button) is not enough — the poll loop continues.</p> <p><strong>Do <em>not</em> try installing the Coder CLI as a "fix"</strong> — I tested this and it makes the per-cycle cost worse, not better, because the integration now spawns a child process every 30s instead of failing at the PATH lookup (see §1b). If you already have the CLI installed for unrelated reasons, you're in the worse failure mode unless you're also authenticated against a real Coder deployment.</p> <hr> <p>Happy to provide additional logs / process dumps / <code>main.log</code> samples if useful. Thanks for taking a look.</p><!--EndFragment--> </body> </html>

Code Example

2026-05-17 10:47:55 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH
    at zEr (C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\resources\app.asar\.vite\build\index.js:2409:17320) {
  [stack]: [Getter/Setter],
  [message]: 'coder CLI not found on augmented PATH'
}
2026-05-17 10:47:55 [info] [oauth] looking up token for orgId=<redacted>, cacheKey=<redacted>:<redacted>:https://api.anthropic.com:user:inference user:file_upload user:profile
2026-05-17 10:47:55 [info] [oauth] using cached token for orgId=<redacted>
2026-05-17 10:48:25 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH
... (repeats forever, 30s cadence)




at zEr (C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\resources\app.asar\.vite\build\index.js:2409:17511)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5) {
RAW_BUFFERClick to expand / collapse

Preflight Checklist

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

What's Wrong?

<html> <body> <!--StartFragment--><!-- obsidian --><h2 data-heading="Summary">Summary</h2> <p>Claude Desktop on Windows (MSIX build <code>1.7196.0.0</code>) polls the Coder.com workspace integration every 30 seconds. Discovery throws a <code>new Error()</code> (with V8 stack capture) on <strong>every</strong> cycle for users in any state other than "Coder CLI installed AND authenticated AND reachable workspace" — paired with an OAuth token cache lookup against <code>api.anthropic.com</code> each cycle. The renderer and GPU process burn ~one full CPU core between them continuously — even when the window is minimized to the system tray. The only mitigation is right-click tray → Quit; <code>app.hide()</code> / minimize-to-tray does not pause the poll loop.</p> <p>I observed at least <strong>two distinct failure paths</strong>, and the more "fixed" the user's environment is, the <em>more</em> expensive the per-cycle cost becomes (see Evidence §1b). This suggests the entire integration is unconditionally polling for a feature most Claude users have never opted into.</p> <p>This appears to be the root cause behind several previously-reported but unresolved "Claude Desktop high CPU when idle" symptoms (#32020 closed as stale, #19393, #11615).</p> <h2 data-heading="Environment">Environment</h2> <ul> <li><strong>OS:</strong> Windows 11 Pro 26200</li> <li><strong>Claude Desktop version:</strong> <code>1.7196.0.0</code> (MSIX / Microsoft Store package <code>Claude_pzs8sxrjxfjjc</code>)</li> <li><strong>Install path:</strong> <code>C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\</code></li> <li><strong>State dir:</strong> <code>%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\</code></li> <li><strong>Coder.com CLI:</strong> initially not installed; later installed via <code>winget install Coder.Coder</code> (v2.33.3) for a workaround test — see §1b below.</li> </ul> <h2 data-heading="Evidence">Evidence</h2> <h3 data-heading="1a. Repeating log pattern — Coder CLI absent (every 30s, indefinitely)">1a. Repeating log pattern — Coder CLI absent (every 30s, indefinitely)</h3> <p>From <code>logs\main.log</code>:</p> <pre><code>2026-05-17 10:47:55 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH at zEr (C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\resources\app.asar\.vite\build\index.js:2409:17320) { [stack]: [Getter/Setter], [message]: 'coder CLI not found on augmented PATH' } 2026-05-17 10:47:55 [info] [oauth] looking up token for orgId=&#x3C;redacted>, cacheKey=&#x3C;redacted>:&#x3C;redacted>:https://api.anthropic.com:user:inference user:file_upload user:profile 2026-05-17 10:47:55 [info] [oauth] using cached token for orgId=&#x3C;redacted> 2026-05-17 10:48:25 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH ... (repeats forever, 30s cadence) </code></pre> <p><strong>7,966 occurrences</strong> of <code>workspace discovery failed</code> in a single <code>main.log</code> file (~66 hours of accumulated polling). Each occurrence captures a JS stack trace (expensive in V8) and triggers an OAuth token cache check.</p> <h3 data-heading="1b. Repeating log pattern — Coder CLI installed but not authenticated (every ~30s, indefinitely; *more expensive* per cycle)">1b. Repeating log pattern — Coder CLI installed but not authenticated (every ~30s, indefinitely; <em>more expensive</em> per cycle)</h3> <p>I tested the obvious "workaround" of installing the Coder CLI to make discovery succeed cheaply (<code>winget install Coder.Coder</code>, v2.33.3, then full Quit + relaunch of Claude Desktop to pick up the new PATH). Result: the per-cycle cost got <strong>worse</strong>, not better, because the integration now actually spawns <code>coder.exe</code>:</p> <pre><code>2026-05-17 10:50:59 [info] [Coder] workspace discovery failed: Error: coder list exited 1: Encountered an error running "coder list", see "coder list --help" for more information error: You are not logged in. Try logging in using 'C:\Users\daves\AppData\Local\Microsoft\WinGet\Packages\Coder.Coder_Microsoft.Winget.Source_8wekyb3d8bbwe\coder.exe login &#x3C;url>'.
at zEr (C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\resources\app.asar\.vite\build\index.js:2409:17511)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5) {

[message]: 'coder list exited 1: ...\nerror: You are not logged in. ...\n' } </code></pre>

<p>Per-cycle cost ladder (worst to best):</p>
User statePer 30s cycle
CLI present, unauthed (§1b)Full child-process spawn + IO read of stderr + new Error() + stack capture + OAuth lookup
CLI absent (§1a)PATH walk + new Error() + stack capture + OAuth lookup
CLI present + authed (not tested — would need a real Coder deployment)Presumably the cheap success path
<p>Combined: ~one full CPU core continuously consumed across renderer + GPU.</p> <p>Live 5-second-window samples show low instantaneous CPU%, which is why simple Task Manager snapshots miss this — the burn shows up cumulatively, not on any single tick.</p> <h3 data-heading="3. Minimize-to-tray does not suspend the polling">3. Minimize-to-tray does not suspend the polling</h3> <p>The renderer process command line includes:</p> <pre><code>--type=renderer --user-data-dir="C:\Users\daves\AppData\Roaming\Claude" --standard-schemes=cowork-artifact,cowork-file,claude-simulator,app --secure-schemes=cowork-artifact,cowork-file,claude-simulator,app,sentry-ipc </code></pre> <p>I do not see <code>--enable-features=...</code> for background throttling, and the timer driving the Coder poll is in the main process (so renderer throttling wouldn't help anyway). Quitting via the tray icon is currently the only way to stop the burn.</p> <h2 data-heading="Reproduction">Reproduction</h2> <ol> <li>Install Claude Desktop on Windows (MSIX/Store build) without the Coder.com CLI on PATH.</li> <li>Sign in.</li> <li>Minimize the window (the X button minimizes to tray).</li> <li>Wait several minutes.</li> <li>Open Task Manager → Details, watch the cumulative CPU column on <code>claude.exe</code> rows.</li> <li>Tail <code>%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\logs\main.log</code> — <code>workspace discovery failed</code> fires every 30 seconds.</li> </ol> <p>Optional: to reproduce the <em>worse</em> §1b path, <code>winget install Coder.Coder</code>, fully quit Claude Desktop via tray → Quit, relaunch, and tail the log again — the error message changes from "coder CLI not found on augmented PATH" to "coder list exited 1: ... not logged in", and a child <code>coder.exe</code> now spawns every 30s.</p> <h2 data-heading="Suggested fixes (ranked by user impact)">Suggested fixes (ranked by user impact)</h2> <ol> <li><strong>Gate the integration behind a user opt-in toggle.</strong> Most Claude Desktop users have never heard of Coder.com. Opt-in eliminates the burn entirely for the silent majority — biggest win.</li> <li><strong>Negative cache <em>both</em> failure modes for the session.</strong> If <code>coder</code> is absent OR <code>coder list</code> exits non-zero with an auth error, mark the integration disabled until next launch. Detect once, don't re-test every 30s. This fixes §1a and §1b together.</li> <li><strong>Don't <code>new Error()</code> for expected/recoverable states.</strong> Use a typed result (<code>{ ok: false, reason: 'cli-missing' | 'unauthed' | ... }</code>) instead of throwing. Stack capture is the single biggest per-cycle cost.</li> <li><strong>Don't spawn a child process every 30s to test connectivity.</strong> Especially for unauthenticated state — the CLI itself just reads a local config file to know it's unauthed; Claude could read that same config file (or a <code>coder whoami --quiet</code>-style cached check) without a full spawn.</li> <li><strong>Increase poll interval</strong> from 30s → 5min or longer; workspace discovery doesn't need second-by-second freshness.</li> <li><strong>Pause polling when window is hidden / app is in tray.</strong> Use <code>app.on('browser-window-blur')</code> + visibility heuristics.</li> <li><strong>Decouple the OAuth token lookup from this loop.</strong> It's noise in the logs and unnecessary work if the integration call won't proceed anyway.</li> </ol> <h2 data-heading="Related issues (likely symptom reports of this same root cause)">Related issues (likely symptom reports of this same root cause)</h2> <ul> <li>#32020 — "Renderer process consumes 80%+ CPU when idle" (closed as stale)</li> <li>#19393 — "High CPU usage when Claude Code instances are idle"</li> <li>#11615 — "Code Helper (Renderer) consuming 99.8% CPU"</li> </ul> <p>If this root-cause hypothesis holds, the above could be closed as duplicates pending a fix here.</p> <h2 data-heading="Workaround for affected users (until fixed)">Workaround for affected users (until fixed)</h2> <p>Right-click the system tray icon → <strong>Quit Claude</strong> when not actively using the app. Minimizing to tray (the X button) is not enough — the poll loop continues.</p> <p><strong>Do <em>not</em> try installing the Coder CLI as a "fix"</strong> — I tested this and it makes the per-cycle cost worse, not better, because the integration now spawns a child process every 30s instead of failing at the PATH lookup (see §1b). If you already have the CLI installed for unrelated reasons, you're in the worse failure mode unless you're also authenticated against a real Coder deployment.</p> <hr> <p>Happy to provide additional logs / process dumps / <code>main.log</code> samples if useful. Thanks for taking a look.</p><!--EndFragment--> </body> </html>

What Should Happen?

Claude Desktop should not poll the Coder.com workspace integration every 30 seconds for users who don't use Coder.com. Discovery should either be opt-in, or — if the CLI is absent or returns an auth error — be negative-cached for the session rather than re-attempted (and re-throwing a stack-capturing Error) every 30 seconds indefinitely. The renderer + GPU process should not burn ~1 CPU core continuously while the app is minimized to tray.

Error Messages/Logs

2026-05-17 10:47:55 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH
    at zEr (C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\resources\app.asar\.vite\build\index.js:2409:17320) {
  [stack]: [Getter/Setter],
  [message]: 'coder CLI not found on augmented PATH'
}
2026-05-17 10:47:55 [info] [oauth] looking up token for orgId=<redacted>, cacheKey=<redacted>:<redacted>:https://api.anthropic.com:user:inference user:file_upload user:profile
2026-05-17 10:47:55 [info] [oauth] using cached token for orgId=<redacted>
2026-05-17 10:48:25 [info] [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH
... (repeats forever, 30s cadence)




at zEr (C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\resources\app.asar\.vite\build\index.js:2409:17511)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5) {

Steps to Reproduce

Install Claude Desktop on Windows (MSIX/Microsoft Store build, v1.7196.0.0) on a machine that does not have the Coder.com CLI on PATH. Sign in and let the app run. Close the window (the X button minimizes to system tray; it does not quit). Open Task Manager → Details and watch the cumulative CPU column for claude.exe rows over several minutes. Renderer + GPU process accumulate CPU continuously. Tail %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\logs\main.log — [Coder] workspace discovery failed: Error: coder CLI not found on augmented PATH fires every 30 seconds, paired with an OAuth token cache lookup. See body for full evidence and per-cycle CPU breakdown.

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

1.7196.0.0

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

No response

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [Bug] Claude Desktop renderer/GPU process burn ~1 CPU core continuously due to Coder workspace-discovery polling every 30s