[BUG] node.exe consumes 45 GB, exhausts commit limit and hard-locks Windows 11 (Event ID 2004 + Kernel-Power 41)
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?
<img width="2560" height="1440" alt="Image" src="https://github.com/user-attachments/assets/e07ec7be-27b8-4758-87bc-6c9676ef8e92" />
<html>
<body>
<!--StartFragment--><html><head></head><body><h1>[Bug] node.exe consumes 45 GB, exhausts commit limit and hard-locks Windows 11 (Event ID 2004 + Kernel-Power 41)</h1>
<h2>Preflight Checklist</h2>
<ul>
<li>[x] I have searched existing issues — this appears related to #42169, #32304, #33735, #25545</li>
<li>[x] This is a single bug report</li>
<li>[x] I have updated to the latest version and am monitoring (see Version note below)</li>
</ul>
<h2>Environment</h2>
|
-- | --
Claude Code (at time of crash) | 2.1.206, native install, stable channel
Claude Code (current) | 2.1.231
Launched via | Claude Desktop app for Windows
OS | Windows 11
CPU | AMD Ryzen 7 9700X
RAM | 32 GB DDR5 @ 6000 MT/s (31.1 GB usable)
GPU | AMD Radeon RX 9070 XT
Storage | NVMe SSD (ADATA Legend 960, 2 TB), health 99%
Project location | D: partition
<p>In both cases where a 2004 warning was logged, total system freeze followed within 2–4 minutes.</p>
<h2>What was ruled out</h2>
<ul>
<li><strong>No <code>WHEA-Logger</code> events</strong> — no CPU or RAM hardware faults</li>
<li><strong>No <code>amdkmdag</code> / display driver faults</strong> — not a GPU driver hang</li>
<li><strong>No <code>Disk</code> or <code>Ntfs</code> errors</strong>; SMART reports drive health 99%, Percentage Used 1, zero media/data integrity errors — not a storage fault</li>
<li><strong>Project size is small</strong> — the working directory held ~3,188 files across 464 folders totalling 207 MB. Not a large-repo file-watcher scenario.</li>
<li><strong>Non-paged pool is normal</strong> — sits at 1.4 GB idle, rises ~200 MB with Claude Code running, and releases on exit. Not a kernel-side leak.</li>
<li><strong>Increasing the commit limit did not prevent it.</strong> The Windows pagefile was raised from 2 GB to 16 GB, taking the commit limit from ~34 GB to 47.1 GB (confirmed in Task Manager). The 18:03 crash occurred <em>after</em> this change. A 45 GB single-process allocation defeats any reasonable pagefile size.</li>
</ul>
<p>One behavioural note: raising the commit limit did change the <em>timing</em>. Before the change, crashes came 7–13 minutes apart. After it, the session ran nearly three hours before failing. Consistent with a steady leak against a larger ceiling rather than a sudden spike.</p>
<h2>Expected behaviour</h2>
<p>Memory should be bounded and reclaimed. A single Node process should not reach 45 GB during an ordinary session, and should not be able to exhaust the system commit limit to the point where the OS input stack and desktop compositor can no longer allocate.</p>
<h2>Actual behaviour</h2>
<p>Memory grows monotonically until the commit limit is exhausted, at which point Windows becomes completely unresponsive — no Ctrl+Alt+Del, no Task Manager — and only a hard power cycle recovers it.</p>
<h2>Related issues</h2>
<ul>
<li>#42169 — claude.exe accumulating virtual memory, triggering Event ID 2004, DWM crashes. <strong>Closest match.</strong></li>
<li>#32304 — claude.exe growing past 21 GB on Windows; reporter placed the leak at the Node.js/V8 layer rather than the LLM context layer</li>
<li>#33735 — claude process reaching 18 GB private memory in a long session, never reclaimed</li>
<li>#25545 — Claude Code consuming 22 GB+, system hang on a 32 GB Windows machine</li>
</ul>
<h2>Additional notes</h2>
<p><strong>Orphaned processes.</strong> #42169 reports that exited or crashed sessions leave processes still holding memory, requiring manual termination. That would be consistent with the escalating pattern across a single day here.</p>
<p><strong>No supported way to bound it.</strong> There is no memory-limit setting in <code>settings.json</code>. <code>NODE_OPTIONS=--max-old-space-size</code> via the <code>env</code> key is the closest available lever, but it caps only the V8 heap, not total committed memory — and it is unclear how reliably it applies given Claude Code ships as a compiled binary. Users hitting this leak have no documented way to contain it.</p>
<p><strong>Severity.</strong> This is not an application that needs restarting. It takes down the entire operating system with no clean recovery path, and repeated hard resets carry real risk of filesystem corruption and data loss.</p></body></html><!--EndFragment-->
</body>
</html>
What Should Happen?
Memory should be bounded and reclaimed. A single Node process should not reach 45 GB during an ordinary session, and should not be able to exhaust the system commit limit to the point where the OS input stack and desktop compositor can no longer allocate.
Error Messages/Logs
Steps to Reproduce
Use claude
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.206, native install, stable channel, current 2.1.231
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗