Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
When the ~/.cursor-server directory is deleted on a remote SSH machine (e.g., to do a clean reinstall), Cursor re-deploys the server binary on reconnect but fails to create the extensions/extensions.json file. This causes all extension installations to fail with an unhandled “file not found” error. The server code assumes this file always exists rather than initializing it when missing.
Steps to Reproduce
- Have a working Cursor remote SSH session with extensions installed.
- On the remote machine, delete the ~/.cursor-server directory:
rm -rf ~/.cursor-server - Reconnect to the remote server from Cursor.
- Cursor re-deploys the server binary automatically.
- Try to install any extension (e.g., GitLens, C/C++ Tools, GitHub Actions).
Expected Behavior
Extensions should install successfully. If ~/.cursor-server/extensions/extensions.json does not exist, the server should automatically create it with default content (e.g., an empty JSON array ) and proceed normally.
Operating System
Linux
Version Information
Version: 2.6.11 (user setup)
VSCode Version: 1.105.1
Commit: 8c95649f251a168cc4bb34c89531fae7db4bd990
Date: 2026-03-03T18:57:48.001Z
Build Type: Stable
Release Track: Default
Electron: 39.6.0
Chromium: 142.0.7444.265
Node.js: 22.22.0
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.26100
Additional Information
OS: Linux 6.19.0+
Connection type: Remote SSH
Server binary hash: 8c95649f251a168cc4bb34c89531fae7db4bd990
Error from renderer log:
[error] [Window] Error: Unable to read file ‘/home//.cursor-server/extensions/extensions.json’(Error: Unable to resolve nonexistent file ‘/home//.cursor-server/extensions/extensions.json’) at Object.factory (file:///…/out/server-main.js:54:27644)
Some extensions also hit a network timeout before falling back to local download, which also fails due to the same missing file:
[error] [Window] Error while installing ‘anysphere.csharp’ extension in the remote server. AggregateError [ETIMEDOUT]:[info] [Window] Downloading the ‘anysphere.csharp’ extension locally and install[error] [Window] Error: Unable to read file ‘/home//.cursor-server/extensions/extensions.json’
Workaround: Manually create the missing file:
mkdir -p ~/.cursor-server/extensionsecho ‘’ > ~/.cursor-server/extensions/extensions.json
After this, extensions install normally.
Suggested fix: The file read path in server-main.js should handle the missing file gracefully — either by creating it with a default empty array on first access, or by catching the “not found” error and treating it as an empty extension list.
Does this stop you from using Cursor
Yes - Cursor is unusable