Cowork VM networking conflicts with gvisor-tap-vsock (CRC/Podman) on vsock port 1024
Bug Description
Cowork's VNet host-side network bridge hardcodes Hyper-V vsock port 1024 (service GUID 00000400-facb-11e6-bd58-64006a7986d3). This is the same port used by gvisor-tap-vsock, which is the standard VM networking backend for:
- Red Hat OpenShift Local (CRC)
- Podman Desktop (on Windows)
- Docker Desktop (Hyper-V backend)
When any of these tools are installed and running, CoworkVMService fails to bind port 1024 and the Cowork VM has no network connectivity.
Symptoms
- Claude Desktop: "Failed to start Claude's workspace / Can't reach the Claude API from Claude's workspace"
cowork-service.log:
````
[VM] Warning: failed to start virtual network: failed to listen on vsock port 1024:
failed to listen: Only one usage of each socket address (protocol/network address/port)
is normally permitted.
coworkd.log(guest side): The VM connects to the wrong listener (gvisor-tap-vsock's HTTP API) instead of Cowork's VNet bridge:
```
[tapvsock] bridge error: invalid frame size: 1213486160
1213486160
( = 0x48545450` = ASCII "HTTP" — the guest receives HTTP instead of raw Ethernet frames)
Root Cause
Both Cowork and gvisor-tap-vsock register/bind the same Hyper-V vsock service GUID:
HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\GuestCommunicationServices\00000400-facb-11e6-bd58-64006a7986d3
The 00000400 prefix = port 1024 in hex. Whoever binds first wins; the other fails silently (Cowork logs a warning but still boots the VM without networking).
Environment
- OS: Windows 11 Pro 10.0.26200
- Claude Desktop: v1.1.4498.0 (MSIX package)
- Conflicting software: Red Hat OpenShift Local (CRC) with
crcAdminHelperservice +crcDaemonscheduled task
Current Workaround
Stop all CRC/gvisor-tap-vsock processes and services before starting Cowork. They cannot run simultaneously.
Suggested Fix
Use a different vsock port for Cowork's VNet bridge — e.g., port 1025 (00000401-...) or any port that doesn't collide with gvisor-tap-vsock's well-known port 1024. Ideally make it configurable.
Port 1024 is established as the default for gvisor-tap-vsock across the container ecosystem (CRC, Podman, Docker), so Cowork should be the one to change.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗