AI features broken/unreliable over virtual filesystem (vscode.FileSystemProvider)

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

We are developing a Cursor extension for internal use that uses a vscode.FileSystemProvider derived class as the core mechanism for accessing code from an internal platform.

We have noticed that AI features either do not work or are unreliable at best with files that are in a FileSystemProvider virtual file system (VFS). The issues happen regardless of file extension or file type. The specific issues are:

  1. Cursor Tab - Cursor tab does not want to activate when in a VFS file.
    • When starting in a VFS file, not amount of typing or moving around code will result in any code suggestions.
    • If we move to a file on a regular file system, Cursor Tab will activate as normal
    • If we move back to the file in the VFS, Cursor Tab is active and will make suggestions. But it stops quickly if we reject suggestions or pause for too long.
  2. Agent - Referencing Files - Many ways of referencing files do not work if the file is in a VFS
    • Not working - Via the active tab
    • Not working - Via an @reference (symbols within the file do get picked up though)
    • Not working - Via it’s URI (eg. memfs:/fileSystemProvider.ts)
    • Working - Via a direct name reference (no @)
    • Working - @reference - but drag an drop the tab.

Also should be noted that Cursor seems unable to list the contents of the memfs:/ virtual directory - but can read files from it if guided to the name. This seems to work better if the VFS is first in the workspace folders - so there may be an issue with folders other than the first.

Steps to Reproduce

Using Microsoft’s sample FileSystemProvider, this can be easily reproduced:

Note that for this to work for Cursor, the minimum vscode version in package.json should be changed from 1.100.0 to 1.99.0.

Steps (Cursor Tab):

  1. Compile and set up fsprovider-sample (memfs) as per the Microsoft instructions.
  2. Create a new workspace with a memfs virtual folder. Add a file of a supported type (I used TypeScript in my example).
  3. Add a second (real filesystem) workspace folder
  4. Test Cursor Tab (won’t activate)
  5. Test Cursor Tab on a real file (should activate)
  6. Test Cursor Tab on the VFS file (should work… for a little bit)

Steps (Agent)

  1. As above, set up the memfs workspace
  2. Ask the agent about the workspace - it may be able to get the file name of files in the VFS (but not reliably)
  3. Try to reference VFS files via @ (can’t)
  4. Try to reference VFS files by name (usually works, but will often search very deep in the real filesystem before it tries to read the file directly from the VFS
  5. Try to reference the file by it’s URI scheme (eg. memfs:myfile.txt) - won’t be recognized.

Additionally:

  1. Adding a second workspace folder (real folder) is required for some of these tests. Otherwise the Cursor agent often hangs (another issue entirely - see Compatibility with "SSH FS" extension )
  2. Test with the MemFS folder as both the first and second workspace folder - the Agent behaves a little differently (better if it’s first - but ideally shouldn’t matter).

Expected Behavior

  1. Cursor Tab should work
  2. Agent should be able to see / reference files in the VFS
  3. Agent should be able to iterate / search VFS directories
  4. Agent should be able to read VFS files given a full URI

Screenshots / Screen Recordings

Operating System

Windows 10/11

Current Cursor Version (Menu → About Cursor → Copy)

Version: 1.6.27 (user setup)
VSCode Version: 1.99.3
Commit: d750e54bba5cffada6d7b3d18e5688ba5e944ad0
Date: 2025-09-17T20:21:17.042Z
Electron: 34.5.8
Chromium: 132.0.6834.210
Node.js: 20.19.1
V8: 13.2.152.41-electron.0
OS: Windows_NT x64 10.0.22631

For AI issues: which model did you use?

Sonnet 4

For AI issues: add Request ID with privacy disabled

Cannot disable privacy as per enterprise policies

Additional Information

This is preventing us from launching a tool that will allow ~500+ developers to use Cursor as part of their daily workflow.

Does this stop you from using Cursor

Yes - Cursor is unusable

1 Like

Second recording with the agent issues - since the bug report only allowed one: