V8 out-of-memory crashes (SIGABRT) freeze/kill the TUI during long sessions on macOS
Environment
- macOS 26.5 (Apple Silicon, M-series, 32 GB RAM)
- Claude Code 2.1.158
- Terminal: VS Code integrated terminal (
TERM_PROGRAM=vscode)
Summary
During extended sessions the Claude Code TUI repeatedly freezes and/or the process dies. It happens on most long-running sessions, not on short ones.
Evidence
Multiple Node crash reports under ~/Library/Logs/DiagnosticReports/ (three from a single day) all share the same signature:
abort() called
node::OOMErrorHandler(char const*, v8::OOMDetails const&)
v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, ...)
v8::internal::Heap::FatalProcessOutOfMemory(char const*)
v8::internal::Heap::RecomputeLimits(...)
v8::internal::Heap::CollectGarbage(...)
EXC_CRASH / SIGABRT. There are no OS-level Jetsam / memory-pressure events around the crash times, and 32 GB is not system-exhausted — consistent with an application-level V8 heap leak in the Node process that grows across a session until GC can no longer recover, rather than system memory pressure. Several concurrent V8 worker/GC threads are active at crash time.
Workaround triedexport NODE_OPTIONS="--max-old-space-size=8192" delays the crash but does not prevent it — the heap still grows across a long session.
Possibly related issues
- #18011 — "Memory leak causing V8 OOM crashes (SIGABRT) on extended sessions" (same crash signature)
- #56960 — "Severe memory leak — claude/node process reaches 108GB on M-series macOS" (open)
- #31194 — "Persistent TUI render lag: entire-screen React model conflicts with keystroke responsiveness"
Happy to provide a sanitized crash report or run with extra diagnostics if that would help triage.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗