[BUG] Windows 11 KB5079473 (March 2026) causes consistent heap exhaustion in Claude Code on WSL2

Resolved 💬 6 comments Opened Mar 12, 2026 by HTop22 Closed Apr 29, 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?

Environment

  • Claude Code version: Latest (installed via curl -fsSL https://claude.ai/install.sh | bash)
  • Operating System: Windows 11 Pro 25H2, OS Build 26200.8037
  • Platform: WSL2 (Ubuntu)
  • Windows Update: KB5079473 installed 11 March 2026 (March 2026 Patch Tuesday)
  • Hardware: Development workstation with sufficient RAM for normal WSL2 workloads

What's Wrong?

Immediately after installing KB5079473 (March 2026 cumulative update), every Claude Code session on WSL2 terminates with High memory usage (4.6GB) · /heapdump. Three consecutive sessions all hit the same 4.6GB ceiling and exited. This was not occurring prior to the update — Claude Code was running stable on the same hardware and WSL2 configuration before KB5079473.

The /heapdump command also fails independently on Windows with:

Failed to create heap dump: EEXIST: file already exists, mkdir 'C:\Users\...\Desktop'

(This appears to be the same issue as #32683, but the memory exhaustion itself is the primary concern.)

Root Cause Analysis

KB5079473 introduces two changes that directly affect the Hyper-V layer WSL2 runs on:

1. Quick Machine Recovery (QMR) now defaults to ON for Pro edition

QMR was previously opt-in on Pro. As of KB5079473, it activates by default on non-domain-joined Pro machines. QMR operates at the Hyper-V recovery pipeline and kernel memory-protection layer — the same layer that manages WSL2's dynamic memory allocation. QMR reserves memory for rollback snapshots, reducing the dynamic memory pool available to the WSL2 VM. This reservation is not visible in Task Manager.

2. WDAC COM Object Hardening

The update includes stricter COM broker isolation and new WDAC enforcement paths. These increase kernel memory overhead and can affect WSL2 I/O paths and host/guest integration.

Combined effect

WSL2 uses dynamic memory — it grows and shrinks based on host availability. After KB5079473:

  • QMR reserves memory at boot before WSL2 starts
  • WDAC hardening increases baseline kernel overhead
  • Windows 11 25H2 already has a documented ~2-3GB higher baseline RAM usage vs prior versions
  • The available memory pool for Hyper-V to allocate to WSL2 is reduced
  • Node.js (Claude Code) hits its V8 heap limit (~4GB) earlier under these constrained conditions

The consistent 4.6GB threshold across all three sessions, combined with the timing (immediately post-update, zero issues before), points to host-level memory pressure rather than a Claude Code bug.

Supporting evidence

Microsoft Copilot, when presented with the symptoms and environment details, independently reached the same conclusion:

"QMR reserves memory early... Hyper-V memory ballooning becomes more aggressive... Your observation of multiple sessions dying simultaneously is classic host-level memory pressure, not a bug in Claude Code itself."

What Should Happen?

Expected Behaviour

Claude Code sessions should run without hitting heap exhaustion under normal workloads, as they did prior to KB5079473.

Workarounds Being Tested

  1. Set fixed WSL2 memory limit in %UserProfile%\.wslconfig:

``ini
[wsl2]
memory=8GB
processors=4
swap=0
localhostForwarding=true
`
Then
wsl --shutdown` and relaunch.

  1. Disable QMR via Group Policy registry key (requires admin, reboot):

``cmd
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Recovery" /v EnableQuickMachineRecovery /t REG_DWORD /d 0
gpupdate /force
`
Verify:
`cmd
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\Recovery" /v EnableQuickMachineRecovery
`
Note:
reagentc /setosrecovery /disable` is for Windows Recovery Environment, not QMR — do not use it for this purpose.

  1. Cap Node.js heap explicitly:

``bash
NODE_OPTIONS="--max-old-space-size=4096" claude
``

  1. Roll back KB5079473 (last resort — loses security patches including two zero-day fixes).

Impact

KB5079473 shipped to all Windows 11 25H2 and 24H2 machines on 10 March 2026 via Patch Tuesday. QMR defaulting to ON on Pro edition affects a large portion of the developer population running Claude Code on WSL2. This issue is likely to generate a wave of identical reports as the update rolls out globally over the coming days.

Related Issues

  • #32683 — /heapdump fails on Windows with EEXIST error (separate bug, but surfaces during this issue)
  • #18048 — Extreme memory and CPU usage on WSL2
  • #22188 — Memory leak: Claude Code process grows to 93GB heap allocation
  • #8836 — High memory usage on Windows (4GB baseline noted)

Error Messages/Logs

High memory usage (4.6GB) · /heapdump

Steps to Reproduce

  1. Run Windows 11 Pro 25H2 (non-domain-joined) with WSL2
  2. Install KB5079473 (March 2026 Patch Tuesday) — this will update to Build 26200.8037
  3. QMR will be enabled by default after the update on Pro edition
  4. Launch Claude Code in WSL2
  5. Begin a normal working session (code review, file reading, etc.)
  6. Session terminates with High memory usage (4.6GB) · /heapdump

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.73 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

WSL (Windows Subsystem for Linux)

Additional Information

_No response_

View original on GitHub ↗

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