[BUG] Desktop app renderer OOMs at ~2.7 GB V8 heap within 15–50s when Dispatch is active (macOS 26.5, M5 Pro)

Resolved 💬 5 comments Opened Jun 1, 2026 by ocarlsen Closed Jul 5, 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?

The Claude desktop app crashes reliably with OOM error in V8: ... JavaScript heap out of memory. The renderer process climbs to the default ~2,740 MB old-space ceiling and aborts (zsh: trace trap). It's not a startup-state issue: after clearing local state the app launches and renders fine, then OOMs while running, with Dispatch active. Time-to-crash varies with how much background work Dispatch has queued (observed 14s, 20s, 47s, 16s across launches).

Environment

App: reports "running client is already the latest version" (auto-updated)
macOS: Tahoe 26.5 (also reproduced on 26.3 before updating)
Hardware: MacBook Pro 16", Apple M5 Pro, 48 GB RAM
Surface in use: Dispatch (Beta), with Keep awake enabled and a recurring weekly memory-consolidation task scheduled

What I've tried (and results)

Cleared ~/Library/Application Support/Claude/ state (vm_bundles, claude-code-vm, IndexedDB, Local/Session/WebStorage, blob_storage, DIPS*): app launches clean, then OOMs again once running. State regenerates and the crash returns.
Removed window-state.json: no effect.
Clean state launch surfaced a transient Failed to open LevelDB ... IndexedDB/.../LOCK error on the recreated DB.
Updated macOS 26.3 → 26.5: no effect.
Launched with --js-flags="--max-old-space-size=8192": no effect, still dies at the same ~2,740 MB ceiling (flag doesn't reach the renderer process).

Impact
App is effectively unusable for Dispatch workflows, it OOMs faster than the relevant settings (Keep awake, scheduled tasks) can be changed. The MaxListenersExceededWarning on [WebContents] suggests a listener/renderer leak rather than legitimately large data. Possibly related to a broken recurring task that spins up sandboxes weekly and may not be releasing memory.

What Should Happen?

Mac app should stay open and Dispatch should work

Error Messages/Logs

[Claude]$ /Applications/Claude.app/Contents/MacOS/Claude --js-flags="--max-old-space-size=8192"
(node:2419) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 destroyed listeners added to [WebContents]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `Claude --trace-warnings ...` to show where the warning was created)
(node:2419) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
2026-06-01 08:00:52.884 Claude[2419:45932] The running client is already the latest version.
Error occurred in handler for '$eipc_message$_df09fea9-cb64-4a74-80a9-7bacc8add1d2_$_claude.buddy_$_BuddyBleTransport_$_reportState': Error: No handler registered for '$eipc_message$_df09fea9-cb64-4a74-80a9-7bacc8add1d2_$_claude.buddy_$_BuddyBleTransport_$_reportState'
    at Session.<anonymous> (node:electron/js2c/browser_init:2:116469)
    at Session.emit (node:events:509:28)

<--- Last few GCs --->

[2419:0x12c00640000]    16696 ms: Mark-Compact (reduce) 2740.9 (2824.6) -> 2740.9 (2758.1) MB, pooled: 0.0 MB, 108.18 / 0.00 ms (average mu = 0.820, current mu = 0.050) last resort; GC in old space requested
[2419:0x12c00640000]    16797 ms: Mark-Compact (reduce) 2740.9 (2758.1) -> 2740.9 (2756.8) MB, pooled: 0.0 MB, 100.88 / 0.00 ms (average mu = 0.734, current mu = 0.000) last resort; GC in old space requested

[2419:0601/080108.880365:ERROR:electron/shell/common/node_bindings.cc:185] OOM error in V8: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
[0601/080108.883929:WARNING:third_party/crashpad/crashpad/util/process/process_memory_mac.cc:94] mach_vm_read(0x16b8b4000, 0x8000): (os/kern) invalid address (1)
[0601/080109.039841:WARNING:third_party/crashpad/crashpad/util/numeric/in_range_cast.h:38] value -143893734 out of range
zsh: trace trap  /Applications/Claude.app/Contents/MacOS/Claude
[Claude]$

Steps to Reproduce

Steps to reproduce
Launch the desktop app from Terminal: /Applications/Claude.app/Contents/MacOS/Claude
App launches and renders; Dispatch begins background activity
Within ~15–50s, renderer heap grows to ~2,740 MB and V8 aborts with OOM
Crash is a clean V8 abort, so no .ips is written to ~/Library/Logs/DiagnosticReports/

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version

Last Working Version

Unknown exact version, but a prior desktop install on this same machine ran fine; this started today morning, and I downloaded fresh to try and fix, but still happening after reinstalling & updating today.

Claude Code Version

It is desktop app I downloaded today morning

Platform

Claude Desktop app, not the CLI

Operating System

macOS

Terminal/Shell

iTerm2

Additional Information

_No response_

View original on GitHub ↗

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