[BUG] Cowork — virtiofs FUSE read lock deadlock on workspace mounts with large pre-existing directories
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?
Product: Claude Cowork (desktop agent)
Severity: High — blocks all file operations in affected workspace sessions
Description:
When a workspace folder containing a large number of pre-existing files is mounted via virtiofs FUSE passthrough, the container enters a read lock deadlock. All file operations on the mounted path hang indefinitely. The session becomes non-functional for any task involving that directory.
What works: bindfs-based FUSE mounts operate normally in the same session, which isolates the issue to the direct virtiofs passthrough path specifically.
What doesn't work: Any read or write operation against the virtiofs-mounted workspace directory.
Root cause hypothesis: The virtiofs FUSE mount is not pre-warming inode/metadata cache before the container gains access. On directories with many existing files, the first traversal triggers a kernel-level read lock that is never released — no userspace workaround is possible from inside the container.
Reproduction condition: Mount a workspace folder with a large number of pre-existing files (exact threshold unknown) via Cowork. Attempt any file operation on the mounted path.
Environment: Claude Cowork, virtiofs FUSE passthrough, workspace folder mount
Requested fix:
Pre-warm the virtiofs mount before container exposure, or
Switch large workspace mounts to bindfs overlay (confirmed working), or
Add a timeout/retry on FUSE read lock acquisition
What Should Happen?
Proper possibility of file reads in mount.
Error Messages/Logs
Steps to Reproduce
Open Claude Desktop and launch a new Cowork session
Connect a workspace folder that contains a large number of pre-existing files (in this case, a project directory with hundreds of files across nested subdirectories)
Ask Claude to perform any file operation on the mounted workspace — e.g., "list the files in this folder" or "read this file"
Observe that the operation hangs indefinitely with no output or error returned
Note that Claude reports no access to /dev/fuse, cannot remount, and cannot reach the virtiofs root from inside the container
Confirm the deadlock is specific to the virtiofs-mounted workspace path — operations on /home/claude and /mnt/user-data/outputs continue to work normally in the same session
Additional context: bindfs-based FUSE mounts in the same session are unaffected, which isolates the issue to the direct virtiofs passthrough path used for workspace folder mounts.
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
Claude 1.569.0 (49894a) 2026-04-02T20:01:42.000Z
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗