WSL extensions broken in 2.5.0-pre.16.patch.1 - 'must be of file-scheme' error

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Cursor Bug Report: WSL Extension Loading Failure

Summary

Cursor 2.5.0-pre.16.patch.1 fails to load built-in extensions (including Git Base, Emmet, JSON Language Features, and others) when connected to WSL. The extension host receives vscode-remote:// URIs instead of file:// paths, causing all affected extensions to fail activation.

Environment

  • Cursor Version: 2.5.0-pre.16.patch.1
  • OS: Windows (connecting to WSL)
  • WSL Distro: Ubuntu
  • Architecture: x64

Related Issue

During initial WSL connection attempts, Cursor failed to patch the launcher script because it was looking for code and code.cmd files that no longer exist:

2026-01-29 09:48:37.599 [error] Failed to patch code.sh launcher: Error: ENOENT: no such file or directory, open 'c:\Users\<user>\AppData\Local\Programs\cursor\resources\app\bin\code'

The resources\app\bin\ directory only contains cursor, cursor.cmd, cursor-tunnel.exe, and code-tunnel.exe β€” the code and code.cmd files are missing. Creating symlinks (code β†’ cursor, code.cmd β†’ cursor.cmd) resolved the WSL connection issue but did not fix extension loading.

Primary Error

Multiple built-in extensions fail to activate with the same root cause β€” the extension loader receives vscode-remote:// URIs when it requires file:// scheme paths:

Activating extension 'vscode.git-base' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/git-base/dist/extension.js', must be of file-scheme.

Cascade Failures

Because Git Base fails to load, dependent extensions also fail:

Cannot activate the 'Git' extension because its dependency 'Git Base' failed to activate
Cannot activate the 'GitHub' extension because its dependency 'Git Base' failed to activate
Cannot activate the 'anysphere.cursor-retrieval' extension because its dependency 'Git' failed to activate
Cannot activate the 'anysphere.cursor-agent-exec' extension because its dependency 'Git' failed to activate

Full List of Affected Extensions

All of these fail with the same β€œmust be of file-scheme” error:

  • vscode.git-base
  • vscode.emmet
  • vscode.extension-editing
  • vscode.markdown-language-features
  • vscode.configuration-editing
  • vscode.json-language-features
  • vscode.npm
  • vscode.debug-auto-launch
  • vscode.merge-conflict
  • anysphere.cursor-agent
  • anysphere.cursor-polyfills-remote
  • anysphere.cursor-mcp
  • anysphere.cursor-shadow-workspace

Steps to Reproduce

  1. Install Cursor 2.5.0-pre.16.patch.1 on Windows
  2. Connect to WSL (Ubuntu)
  3. Open Developer Tools (Ctrl+Shift+I) β†’ Console tab
  4. Observe extension activation errors

Expected Behavior

Extensions should load successfully when connected to WSL. The extension host should resolve vscode-remote:// URIs to local file:// paths before attempting to load extension entry points.

Workaround Attempted

  • Created symlinks for missing code and code.cmd files (resolved WSL connection, not extension loading)
  • Removed and reinstalled ~/.cursor-server in WSL (no effect)
  • Disabled/re-enabled extensions (no effect)
  • Full uninstall/reinstall of Cursor (issue persists)

Root Cause Analysis

The WSL remote extension host appears to be passing unresolved vscode-remote://wsl%2Bubuntu/... URIs to the extension loader instead of first resolving them to local filesystem paths (file:///home/<user>/.cursor-server/...). This suggests a regression in the URI resolution layer of the remote extension host.

Console Log Excerpt

workbench.desktop.main.js:38661 Activating extension 'anysphere.cursor-agent' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/cursor-agent/dist/main', must be of file-scheme.

workbench.desktop.main.js:38661 Activating extension 'vscode.git-base' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/git-base/dist/extension.js', must be of file-scheme.

workbench.desktop.main.js:38661 Cannot activate the 'Git' extension because its dependency 'Git Base' failed to activate

workbench.desktop.main.js:38661 Cannot activate the 'GitHub' extension because its dependency 'Git Base' failed to activate

workbench.desktop.main.js:38661 Cannot activate the 'anysphere.cursor-retrieval' extension because its dependency 'Git' failed to activate

workbench.desktop.main.js:38661 Cannot activate the 'anysphere.cursor-agent-exec' extension because its dependency 'Git' failed to activate

workbench.desktop.main.js:38661 Activating extension 'anysphere.cursor-polyfills-remote' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/cursor-polyfills-remote/dist/main', must be of file-scheme.

workbench.desktop.main.js:38661 Activating extension 'vscode.emmet' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/emmet/dist/node/emmetNodeMain', must be of file-scheme.

workbench.desktop.main.js:38661 Activating extension 'vscode.extension-editing' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/extension-editing/dist/extensionEditingMain', must be of file-scheme.

workbench.desktop.main.js:38661 Activating extension 'vscode.markdown-language-features' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/markdown-language-features/dist/extension', must be of file-scheme.

workbench.desktop.main.js:38661 Activating extension 'vscode.configuration-editing' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/configuration-editing/dist/configurationEditingMain', must be of file-scheme.

workbench.desktop.main.js:38661 Activating extension 'vscode.json-language-features' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/json-language-features/client/dist/node/jsonClientMain', must be of file-scheme.

workbench.desktop.main.js:38661 Activating extension 'vscode.npm' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/npm/dist/npmMain', must be of file-scheme.

workbench.desktop.main.js:41441 Cannot activate the 'Git' extension because it depends on the 'Git Base' extension, which is not loaded. Would you like to reload the window to load the extension?

workbench.desktop.main.js:38661 Activating extension 'anysphere.cursor-mcp' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/cursor-mcp/dist/main', must be of file-scheme.

workbench.desktop.main.js:38661 Activating extension 'anysphere.cursor-shadow-workspace' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/cursor-shadow-workspace/dist/extension', must be of file-scheme.

workbench.desktop.main.js:38661 Activating extension 'vscode.debug-auto-launch' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/debug-auto-launch/dist/extension', must be of file-scheme.

workbench.desktop.main.js:38661 Activating extension 'vscode.merge-conflict' failed: Cannot load URI: 'vscode-remote://wsl%2Bubuntu/home/<user>/.cursor-server/bin/6a660d2ce321a7b8cb168c733bb17a388c2b8660/extensions/merge-conflict/dist/mergeConflictMain', must be of file-scheme.

workbench.desktop.main.js:41441 Cannot activate the 'GitHub' extension because it depends on the 'Git Base' extension, which is not loaded. Would you like to reload the window to load the extension?

### Steps to Reproduce
Install Cursor 2.5.0-pre.16.patch.1 on Windows
Open PowerShell as Administrator and create symlinks (required to connect to WSL at all):

powershell   cd "C:\Users\<user>\AppData\Local\Programs\cursor\resources\app\bin\"
   New-Item -ItemType SymbolicLink -Path "code" -Target "cursor"
   New-Item -ItemType SymbolicLink -Path "code.cmd" -Target "cursor.cmd"

Open Cursor and connect to WSL (Ubuntu)
Open Developer Tools: Ctrl+Shift+I β†’ Console tab
Observe "must be of file-scheme" errors for multiple extensions





### Operating System
Windows 10/11

### Version Information
Cursor 2.5.0-pre.16.patch.1 on Windows







### Does this stop you from using Cursor
Yes - Cursor is unusable

Hey, thanks for the report. This is a known issue with URI scheme handling in the WSL remote extension host, the team is aware.

The issue is that extensions are getting unresolved vscode-remote:// URIs instead of file:// paths. This is a regression in this pre-release version.

Temporary workaround: Roll back to the stable version (2.4.x) until a fix is out. Your symlink fix for code.cmd was correct for connecting to WSL, but the main URI resolution issue needs a patch on our side.

Your report with logs and the root cause analysis is super helpful, thanks. Let me know if rolling back to stable helps.

Thanks for the quick response Dean. I rolled back to 2.4.22 and back up and running!

1 Like