Claude app causes macOS to terminate all sessions due to excessive VM disk writes (34 GB in one day)

Resolved 💬 1 comment Opened May 14, 2026 by mikelitman Closed Jun 12, 2026

Environment

  • macOS 26.3.1 (Build 25D2128), arm64e
  • Hardware: Mac15,12 (MacBook Air M3, 16 GB RAM)
  • Claude desktop: 1.7196.0
  • Claude Code: 2.1.138

What happened

The Claude desktop app (PID 74115) was terminated by macOS three times on 2026-05-13 for exceeding the OS disk write budget. All three reports are the same process instance, accumulating writes across the day:

| Time | Writes | Duration | Avg rate |
|---|---|---|---|
| 10:13–10:20 AM | 2.19 GB | 404 sec | 5,428 KB/sec |
| 10:20–11:13 AM | 8.59 GB | 3,184 sec | 2,698 KB/sec |
| 11:34 AM–2:30 PM | 34.36 GB | 10,599 sec | 3,242 KB/sec |

macOS event type: disk writes — file backed memory dirtied. On each termination, every open claude-code session lost its IPC connection and showed API Error: Unable to connect to API (ConnectionRefused).

Root cause (as diagnosed)

Claude Code runs inside a Linux VM with two 10 GB memory-mapped sparse disk images:

~/Library/Application Support/Claude/vm_bundles/claudevm.bundle/rootfs.img       10 GB
~/Library/Application Support/Claude/vm_bundles/claudevm.bundle/sessiondata.img  10 GB

Every bash tool call in a claude-code session writes to these memory-mapped images. macOS counts cumulative dirty pages against a 24-hour rolling write budget. With multiple concurrent sessions running bash-heavy work (file edits, git, npm, shell scripts), the write rate sustained 2,700–5,400 KB/sec continuously -- well above macOS's allowed average.

The heaviest call stack from the diagnostic report ends at write + 8 (libsystem_kernel.dylib) via V8 ArrayBuffer operations, suggesting conversation context or tool output is being serialised to the VM disk at a high rate, not just from actual file operations inside the VM.

Expected behaviour

Normal agentic coding sessions with 2-3 concurrent sessions should not generate tens of gigabytes of disk writes per day. The write rate appears disproportionate to actual work being done.

Workaround

Restarting the Claude desktop app resets the macOS write counter (new process = fresh budget). A mid-day restart prevents accumulation from triggering termination.

Request

Please investigate whether V8/Electron is unnecessarily persisting conversation context, tool output, or streaming buffers to the VM disk images at high frequency. A sustained 3,000+ KB/sec write rate from regular agentic sessions suggests something is being written far more aggressively than necessary.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗