Cowork (Windows desktop): ~66-75x write-speed penalty through the mounted folder bridge (virtiofs+bindfs)

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 1, 2026

Summary

Writes to a connected Windows folder from the Cowork sandbox run at ~4 MB/s
while the same sandbox writes ~300 MB/s to its native filesystem — a
consistent 66-75x penalty measured 9 weeks apart (2026-05-29 and
2026-08-01). The bottleneck is isolated to the mount bridge itself: the
disk is a healthy SATA SSD, and a Windows Defender A/B test shows no
antivirus contribution. This is the same layer implicated in two
already-filed correctness bugs (#55206 unlink denied, #70414 silent
truncation/NUL-padding), so a fix here likely pays down all three.

Environment

  • Windows laptop: Intel i5-7300U, 32 GB host RAM; sandbox VM sees 2 cores / ~3.8 GB
  • Disk: TEAM TM8PS7512G, 512 GB SATA SSD (healthy; Get-PhysicalDisk MediaType=SSD)
  • Connected folder: C:\Archive\Claude Storage/sessions/<name>/mnt/Claude Storage/
  • Claude desktop app, Cowork mode

Reproduction

From the Cowork sandbox shell:

# mount (connected Windows folder)
dd if=/dev/zero of="/sessions/<name>/mnt/<folder>/.iobench.tmp" bs=1M count=64 conv=fdatasync
# native sandbox fs
dd if=/dev/zero of=/tmp/.iobench.tmp bs=1M count=64 conv=fdatasync

Measurements

| Date | Mount write | Native write | Penalty |
|---|---|---|---|
| 2026-05-29 | 4.5 MB/s | 297 MB/s | ~66x |
| 2026-08-01 | 4.1 MB/s | 309 MB/s | ~75x |

Caveat stated up front: conv=fdatasync forces a durable sync and
exaggerates FUSE overhead vs buffered writes; buffered mount writes are
faster than 4 MB/s but remain far below native. The relative gap is the
point, not the absolute number.

Ruled out

  • Antivirus: Defender A/B on the same command — folder excluded:

4.5 MB/s; folder scanned: 4.3 MB/s. Noise-level delta; exclusion removed
again after the test.

  • Disk: SSD confirmed healthy; native-side 297-309 MB/s through the same

VM shows the VM's I/O path is fine until the bridge.

Impact

Every file operation against the user's real files pays this tax. Practical
consequences observed over ~3 months of daily use: multi-second single-file
writes, session workflows redesigned around "stage in /tmp, copy once at the
end", and scripted full-folder scans (e.g. a ~200-file digest pass) running
40+ seconds instead of sub-second. Combined with the correctness defects in
the same layer (#55206, #70414 — the latter with on-disk proof), the mount
bridge is currently the least reliable and slowest component of an otherwise
solid product.

Incidental corroboration while re-measuring for this report: the benchmark
file written to the mount could not be deleted from the sandbox afterward —
the exact #55206 unlink defect, reproduced in the same run.

Ask

Profile the virtiofs+bindfs write path on Windows. Even a partial
improvement (e.g. batching/buffering FUSE writes) would compound across
every Cowork session on Windows.

View original on GitHub ↗