I noticed Cowork spins up a VM but the Claude code doesn't, so I opened it up to find out why
这条记录涉及编程工具或代码能力更新,适合开发者评估工作流变化和可复用价值。
一位用户发现 Claude 应用会启动一个虚拟机,而非直接运行代码。经过对 Claude 应用支持文件夹中一个 10GB 虚拟机捆绑包的分析,发现该虚拟机是一个完整的 Ubuntu ARM64 云镜像,通过 Apple 的 Virtualization.framework 启动,而非容器或沙盒。…
Found a 10GB VM bundle in Claude's app-support folder and spent the weekend taking it apart read-only.
Notes:
- Full Ubuntu ARM64 cloud image booted via Apple's Virtualization.framework, not a container or Seatbelt sandbox. The machineIdentifier bplist is the giveaway.
- Control plane is a daemon (coworkd, internally sdk-daemon) speaking vsock RPC to the host. Runs as root with systemd hardening deliberately off, because the VM itself is the boundary.
- Network egress runs through gVisor's userspace netstack, separate from the control channel.
- Disk model: compressed golden image plus a disposable per-session overlay, so it resets clean each boot.
Full write-up with: https://open.substack.com/pub/thefirstderivative/p/the-machine-inside-the-machine?r=820hh&utm\_medium=web