[BUG] VS Code Extension hangs indefinitely on NFS-mounted $HOME due to SQLite WAL locks and log I/O latency

Status Open
Reported on v2.1.278
Maintainer reply None cached
Activity 0 comments · opened Sep 22, 2026

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?

When running Claude Code via the VS Code extension on a remote Linux server where $HOME is hosted on a shared network filesystem (NFS), the extension hangs indefinitely (spinning indicator) after sending a prompt.

Process inspection revealed two compounding bottlenecks:

  1. SQLite WAL contention over NFS: Claude Code writes session states and caches under ~/.claude/ using SQLite in WAL mode (.sqlite-wal and .sqlite-shm). NFS is notorious for poor POSIX locking support and high latency for shared memory/locks, causing processes to hang in futex_wait_queue or ep_poll.
  1. VS Code Extension Host CPU Freeze: The extension host process (extensionHost) spikes to ~100% CPU usage due to blocked event loops while attempting high-frequency IPC stream communication and concurrent log writes under ~/.vscode-server/data/logs/ across the congested NFS mount.

What Should Happen?

The extension should reliably stream responses without freezing. File locks and cache updates should not block the primary IPC communication, and disk I/O should fail gracefully with timeouts or provide configurable options to place databases/caches onto local scratch/NVMe storage rather than default to $HOME.

Error Messages/Logs

Steps to Reproduce

Connect to a remote Linux machine via VS Code Remote - SSH where /home/$USER is mounted over NFS.

Install and launch the Claude Code extension (anthropic.claude-code-2.1.278-linux-x64).

Open any repository residing in /home/$USER/....

Send any prompt in the Claude Code panel.

The request hangs indefinitely with a loading spinner; extensionHost processes peg CPU cores at ~100%, and the native binary gets stuck in ep_poll or futex_wait_queue.

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.278

Platform

Other

Operating System

Ubuntu/Debian Linux

Terminal/Shell

WSL (Windows Subsystem for Linux)

Additional Information

_No response_

View original on GitHub ↗