[BUG] Cowork Linux: VM fails with vhost-user-fs "Read 0 instead of 12" under cowork-linux-helper, but identical qemu+virtiofsd boots standalone (Debian, QEMU 11.0.3)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The bundled virtiofsd 1.14.0 + system qemu-system-x86_64 11.0.3, invoked by hand with the same sandbox flags, memfd backend, and devices as cowork-linux-helper, boots the VM to a login prompt against the real shared folder — but the helper's own launch fails at vhost-user-fs … Read 0 instead of 12. The fault is in the helper's runtime context, not the host." Attach the working manual command + the failing helper log.
What Should Happen?
Cowork's workspace VM should boot successfully. The bundled virtiofsd (1.14.0) and
system qemu-system-x86_64 (11.0.3) are compatible: launched by hand with the same
-sandbox flags, memory-backend-memfd,share=on, kernel/initrd/rootfs, and the real
shared directory, the VM boots all the way to a login prompt and virtiofsd logs
"Client connected, servicing requests".
When cowork-linux-helper launches the same binaries, QEMU instead exits at startup:
qemu-system-x86_64: -device vhost-user-fs-pci,chardev=virtiofs0,tag=claudeshared:
Failed to read msg header. Read 0 instead of 12. Original request 0.
vhost_backend_init failed: Protocol error
-> qemu exited at startup: exit status 1 (all 3 retry attempts)
Since the identical invocation succeeds standalone, the fault appears to be in the
helper's runtime context (sandbox/rlimits/groups/env around the QEMU child), not the
host, the folder, or the binaries. Expected: the helper-launched VM should boot to the
same point the manual invocation reaches.
Error Messages/Logs
648:2026-08-17 08:32:48 [error] [VM:start] Startup failed: Error: qemu exited at startup: exit status 1
651: [message]: 'qemu exited at startup: exit status 1',
656:2026-08-17 08:38:01 [info] [VM:start] Beginning startup, bundlePath=/home/tortho/.config/Claude/vm_bundles/claudevm.bundle
677:2026-08-17 08:38:01 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:01.651704 [virtiofsd] [2026-08-17T06:38:01Z INFO virtiofsd] Client connected, servicing requests
679:2026-08-17 08:38:01 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:01.692302 [qemu] qemu-system-x86_64: -device vhost-user-fs-pci,chardev=virtiofs0,tag=claudeshared,bus=pcie.0,addr=0x6: Fail.
681:2026-08-17 08:38:01 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:01.720617 [vm] qemu exited at startup: exit status 1 (attempt 1)
693:2026-08-17 08:38:01 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:01.785604 [virtiofsd] [2026-08-17T06:38:01Z INFO virtiofsd] Client connected, servicing requests
694:2026-08-17 08:38:01 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:01.830060 [qemu] qemu-system-x86_64: -device vhost-user-fs-pci,chardev=virtiofs0,tag=claudeshared,bus=pcie.0,addr=0x6: Fail.
696:2026-08-17 08:38:01 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:01.908747 [vm] qemu exited at startup: exit status 1 (attempt 2)
708:2026-08-17 08:38:01 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:01.975334 [virtiofsd] [2026-08-17T06:38:01Z INFO virtiofsd] Client connected, servicing requests
709:2026-08-17 08:38:02 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:02.025922 [qemu] qemu-system-x86_64: -device vhost-user-fs-pci,chardev=virtiofs0,tag=claudeshared,bus=pcie.0,addr=0x6: Fail.
711:2026-08-17 08:38:02 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:02.052647 [vm] qemu exited at startup: exit status 1 (attempt 3)
712:2026-08-17 08:38:02 [error] [VM:start] VM boot failed: qemu exited at startup: exit status 1
713:2026-08-17 08:38:02 [info] Dispatching startup error: qemu exited at startup: exit status 1
714:2026-08-17 08:38:02 [error] [VM:start] Startup failed: Error: qemu exited at startup: exit status 1
717: [message]: 'qemu exited at startup: exit status 1',
722:2026-08-17 08:38:45 [info] [VM:start] Beginning startup, bundlePath=/home/tortho/.config/Claude/vm_bundles/claudevm.bundle
743:2026-08-17 08:38:45 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:45.974034 [virtiofsd] [2026-08-17T06:38:45Z INFO virtiofsd] Client connected, servicing requests
744:2026-08-17 08:38:46 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:46.022914 [qemu] qemu-system-x86_64: -device vhost-user-fs-pci,chardev=virtiofs0,tag=claudeshared,bus=pcie.0,addr=0x6: Fail.
746:2026-08-17 08:38:46 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:46.104659 [vm] qemu exited at startup: exit status 1 (attempt 1)
758:2026-08-17 08:38:46 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:46.169942 [virtiofsd] [2026-08-17T06:38:46Z INFO virtiofsd] Client connected, servicing requests
759:2026-08-17 08:38:46 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:46.217938 [qemu] qemu-system-x86_64: -device vhost-user-fs-pci,chardev=virtiofs0,tag=claudeshared,bus=pcie.0,addr=0x6: Fail.
761:2026-08-17 08:38:46 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:46.244687 [vm] qemu exited at startup: exit status 1 (attempt 2)
773:2026-08-17 08:38:46 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:46.310184 [virtiofsd] [2026-08-17T06:38:46Z INFO virtiofsd] Client connected, servicing requests
774:2026-08-17 08:38:46 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:46.357025 [qemu] qemu-system-x86_64: -device vhost-user-fs-pci,chardev=virtiofs0,tag=claudeshared,bus=pcie.0,addr=0x6: Fail.
776:2026-08-17 08:38:46 [info] [linux-vm-helper] [cowork-linux-helper] 2026/08/17 08:38:46.376764 [vm] qemu exited at startup: exit status 1 (attempt 3)
777:2026-08-17 08:38:46 [error] [VM:start] VM boot failed: qemu exited at startup: exit status 1
778:2026-08-17 08:38:46 [info] Dispatching startup error: qemu exited at startup: exit status 1
779:2026-08-17 08:38:46 [error] [VM:start] Startup failed: Error: qemu exited at startup: exit status 1
782: [message]: 'qemu exited at startup: exit status 1',
Steps to Reproduce
- On a Debian/Ubuntu-family host with a working KVM stack (KVM enabled,
vhost_vsock loaded, user in the kvm group), install the official Claude
Desktop Linux .deb. Host QEMU is qemu-system-x86_64 11.0.3 (Debian
1:11.0.3+ds-2); bundled virtiofsd is 1.14.0.
- Open the Cowork tab and start any task (e.g. "list the files in this folder").
The helper downloads the VM bundle, then tries to boot the workspace VM.
- RESULT: the VM fails to start. cowork_vm_node.log shows, on all 3 retry
attempts:
virtiofsd: "Client connected, servicing requests"
qemu-system-x86_64: -device vhost-user-fs-pci,...,tag=claudeshared:
Failed to read msg header. Read 0 instead of 12. Original request 0.
vhost_backend_init failed: Protocol error
-> qemu exited at startup: exit status 1
The UI shows "Failed to start Claude's workspace / qemu exited at startup:
exit status 1". (The agent then falls back to reading files directly.)
- CONTROL / KEY REPRO: launch the SAME bundled virtiofsd and system qemu by
hand, with the same flags the helper uses
(-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny;
-machine q35,accel=kvm,memory-backend=mem0;
-object memory-backend-memfd,id=mem0,size=4096M,share=on;
-device vhost-user-fs-pci,chardev=virtiofs0,tag=claudeshared),
pointing virtiofsd (--sandbox none) at the same shared folder and using the
bundle's vmlinuz/initrd/rootfs.img.
- RESULT of step 4: the VM boots all the way to a login prompt
("Ubuntu 22.04.5 LTS claude ttyS0 / claude login:"), and virtiofsd logs
"servicing requests" normally. vhost-user works fine.
CONCLUSION: identical binaries + flags + shared folder succeed standalone but
fail under cowork-linux-helper, so the failure is in the helper's runtime
context around the QEMU child (sandbox/rlimits/groups/env), not the host,
the folder, or the binaries.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
1.30096.5
Platform
Other
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
NOTE: This is not a Claude Code / terminal issue. It's the Claude Desktop
Linux app (.deb) Cowork feature — the bundled cowork-linux-helper failing to
boot its QEMU workspace VM. The "terminal" field doesn't apply; I'm using the
GUI desktop app.