claude-code - 💡(How to fix) Fix [Desktop][macOS 26] Code tab crashes — rootfs.img redownload loop saturates disk writes [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#51913Fetched 2026-04-23 07:41:33
View on GitHub
Comments
0
Participants
1
Timeline
6
Reactions
0
Participants
Timeline (top)
labeled ×6

Opening the Code tab in Claude Desktop causes the app to be terminated by macOS within ~6 minutes due to exceeding the system disk-writes resource limit. Reproducible whenever any MCP connector is enabled. Disabling all connectors prevents the crash.

Error Message

  1. Add a download-attempt counter with backoff + user-visible error instead of infinite retry that silently exhausts the jetsam budget.

Root Cause

Root cause — infinite rootfs.img re-download loop

File: ~/Library/Logs/Claude/cowork_vm_node.log. Every ~9 seconds, indefinitely:

Fix Action

Fix / Workaround

Trigger / workaround

  • With any MCP connector enabled → crash within minutes of opening Code tab.
  • With all connectors disabled → app stays stable, Code tab works.

Code Example

thread_start → _pthread_start → uv_cancel → write (libsystem_kernel)

---

[info] [Bundle:status] rootfs.img missing
[info] [warm] No warm file found for rootfs.img at current version
[info] [cache] No cached compressed file for rootfs.img
[info] rootfs.img not found, downloading...
[info] Downloading rootfs.img...
[info] [VM] Loading @ant/claude-swift module...
[info] [VM] Module loaded successfully
[info] [Bundle:status] rootfs.img missing   ← file marked missing again
[info] Downloading rootfs.img...            ← restarts download
...
RAW_BUFFERClick to expand / collapse

Claude Desktop — Code tab crashes on macOS 26 due to rootfs.img redownload loop

Summary

Opening the Code tab in Claude Desktop causes the app to be terminated by macOS within ~6 minutes due to exceeding the system disk-writes resource limit. Reproducible whenever any MCP connector is enabled. Disabling all connectors prevents the crash.

Environment

  • Claude Desktop: 1.3883.0
  • macOS: 26.5 beta, build 25F5053d (developer seed)
  • Hardware: MacBook Air M-series, Mac16,13, 16 GB RAM, arm64
  • Locale: es-ES

Symptom

App process killed by macOS (jetsam / disk-writes limit). User-facing: the Claude app window disappears seconds to minutes after opening the Code tab. Repeats every time the tab is opened while any connector is enabled.

Evidence — crash reports

6 terminations logged between 2026-04-14 and 2026-04-22. Representative incident:

  • Path: /Library/Logs/DiagnosticReports/Claude_2026-04-22-114157_*.diag
  • Incident ID: A949AA11-08EC-4E7E-9ABF-16EF0AABCDEE
  • Event: disk writes
  • Writes: 8589.95 MB of file backed memory dirtied over 394 seconds (21.81 MB/s average), exceeding limit of 99.42 KB/s over 86400s
  • Writes limit: 8589.93 MB → process terminated the moment the limit is hit
  • Heaviest stack:
    thread_start → _pthread_start → uv_cancel → write (libsystem_kernel)
    libuv synchronous write loop inside Electron Framework.

Root cause — infinite rootfs.img re-download loop

File: ~/Library/Logs/Claude/cowork_vm_node.log. Every ~9 seconds, indefinitely:

[info] [Bundle:status] rootfs.img missing
[info] [warm] No warm file found for rootfs.img at current version
[info] [cache] No cached compressed file for rootfs.img
[info] rootfs.img not found, downloading...
[info] Downloading rootfs.img...
[info] [VM] Loading @ant/claude-swift module...
[info] [VM] Module loaded successfully
[info] [Bundle:status] rootfs.img missing   ← file marked missing again
[info] Downloading rootfs.img...            ← restarts download
...

Something post-download invalidates rootfs.img (likely hash/version check), so the VM layer re-downloads it forever. Each pass writes the full image to disk, saturating the per-process write quota and triggering termination.

Side effect: ~/Library/Application Support/Claude/vm_bundles/claudevm.bundle/ grew to 8.8 GB of partial/duplicate fragments.

Trigger / workaround

  • With any MCP connector enabled → crash within minutes of opening Code tab.
  • With all connectors disabled → app stays stable, Code tab works.

Pattern suggests connector init inside the VM races with / invalidates the rootfs.img integrity check.

Suggested investigation paths

  1. Why is rootfs.img re-marked missing after a successful download? Inspect the hash/version validator in cowork_vm_node.
  2. Why does enabling a connector re-trigger the validator? Is the connector writing inside the bundle directory?
  3. Add a download-attempt counter with backoff + user-visible error instead of infinite retry that silently exhausts the jetsam budget.
  4. Validate on macOS 26 beta — Virtualization.framework behavior changed in this cycle.

Reproduction

  1. macOS 26.5 beta + Claude Desktop 1.3883.0.
  2. Enable at least one MCP connector.
  3. Open the Code tab.
  4. Within ~6 min the app is killed by the OS with "disk writes exceeded".
  5. Disable all connectors → issue gone.

extent analysis

TL;DR

Disable MCP connectors or implement a download-attempt counter with backoff to prevent the infinite rootfs.img re-download loop that causes the app to crash due to exceeding the system disk-writes resource limit.

Guidance

  • Investigate why rootfs.img is re-marked as missing after a successful download by inspecting the hash/version validator in cowork_vm_node.
  • Check if enabling a connector writes inside the bundle directory, triggering the validator and causing the re-download loop.
  • Implement a download-attempt counter with backoff and display a user-visible error message instead of silently retrying and exhausting the jetsam budget.
  • Validate the issue on macOS 26 beta, considering changes in Virtualization.framework behavior.

Example

No code snippet is provided as the issue does not contain sufficient information to create a specific code example. However, the cowork_vm_node.log file suggests that modifying the download and validation logic for rootfs.img could help resolve the issue.

Notes

The issue is specific to macOS 26.5 beta and Claude Desktop 1.3883.0, and the behavior may change with future updates. The Virtualization.framework changes in macOS 26 beta may also impact the issue.

Recommendation

Apply a workaround by disabling MCP connectors or implementing a download-attempt counter with backoff to prevent the infinite re-download loop, as upgrading to a fixed version is not currently an option. This will help prevent the app from crashing due to exceeding the system disk-writes resource limit.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING