Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
The Dev Container connection fails over remote docker because the automatic installation of the Cursor Server uses an incorrect and incomplete download URL, resulting in a 403 Forbidden error.
The URL generation process is failing to include the detected machine architecture (x64), likely due to an issue parsing the operating system details inside the container.
Evidence from the Log:
- Failed detection of machine architecture:
[uname -m]: Command completed with exit code 0
- Failed detection of OS details (/etc/os-release is empty):
[install-server] os-release:
- Malformed download URL (Missing the x64 path component and filename suffix):
curl: (22) The requested URL returned error: 403
... 'https://downloads.cursor.com/production/9675251a06b1314d50ff34b0cbe5109b78f848cd/linux//cursor-reh-linux-.tar.gz'
- Subsequent file copy failure because the download failed:
[error] Failed to copy file to container: Error: [docker copy file] Command failed with exit code 1
Steps to Reproduce
Execute @command:remote-containers.attachToRunningContainer
2025-10-17 20:18:54.470 [info] No remote exec server found for authority: dev-container+7b2273657474696e6754797065223a22636f6e7461696e6572222c22636f6e7461696e65724964223a22666234356133623462343635227d; using local
2025-10-17 20:18:54.470 [info] Resolving dev container authority 'dev-container+7b2273657474696e6754797065223a22636f6e7461696e6572222c22636f6e7461696e65724964223a22666234356133623462343635227d' (attempt #1) container '{"settingType":"container","containerId":"fb45a3b4b465"}'
2025-10-17 20:18:54.470 [info] Starting Dev Containers dev-container+7b2273657474696e6754797065223a22636f6e7461696e6572222c22636f6e7461696e65724964223a22666234356133623462343635227d
2025-10-17 20:18:54.471 [info] Spawned process 7368: 'docker' 'info'
2025-10-17 20:18:54.471 [info] [docker info]: Running command: docker
2025-10-17 20:18:54.860 [info] [docker info]: Command completed with exit code 0
2025-10-17 20:18:54.860 [info] docker version: Client:
Version: 28.4.0
Context: docker-tower
Debug Mode: false
Server:
Containers: 16
Running: 9
Paused: 0
Stopped: 7
Images: 49
Server Version: 28.4.0
Storage Driver: overlayfs
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Discovered Devices:
cdi: docker.com/gpu=webgpu
Swarm: inactive
Runtimes: io.containerd.runc.v2 nvidia runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 05044ec0a9a75232cad458027ca83437aae3f4da
runc version: v1.2.5-0-g59923ef
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.6.87.1-microsoft-standard-WSL2
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 10
Total Memory: 35.24GiB
Name: docker-desktop
ID: 1ada170d-fcb9-4e17-be8b-2be6a4d645d9
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Labels:
com.docker.desktop.address=unix:///var/run/docker-cli.sock
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
::1/128
127.0.0.0/8
Live Restore Enabled: false
2025-10-17 20:18:54.869 [info] Inspecting docker container fb45a3b4b465 (fallback name: teamculture-frontend_devcontainer-tc-frontend-1)
2025-10-17 20:18:54.869 [info] Spawned process 11116: 'docker' 'inspect' 'fb45a3b4b465'
2025-10-17 20:18:54.870 [info] [docker inspect]: Running command: docker
2025-10-17 20:18:55.024 [info] [docker inspect]: Command completed with exit code 0
2025-10-17 20:18:55.032 [info] Getting config for image vsc-teamculture-frontend-ef84a3fff9a897c4afc8b0e57f7751761761effd3247a8141bb54f01a11b721f-uid from vscode-userdata:/c%3A/Users/cloud/AppData/Roaming/Cursor/User/globalStorage/anysphere.remote-containers/imageConfigs/vsc-teamculture-frontend-ef84a3fff9a897c4afc8b0e57f7751761761effd3247a8141bb54f01a11b721f-uid.json
2025-10-17 20:18:55.037 [info] No container configuration file found for image vscode-userdata:/c%3A/Users/cloud/AppData/Roaming/Cursor/User/globalStorage/anysphere.remote-containers/imageConfigs/vsc-teamculture-frontend-ef84a3fff9a897c4afc8b0e57f7751761761effd3247a8141bb54f01a11b721f-uid.json NĂŁo Ă© possĂvel ler o arquivo 'vscode-userdata:/c:/Users/cloud/AppData/Roaming/Cursor/User/globalStorage/anysphere.remote-containers/imageConfigs/vsc-teamculture-frontend-ef84a3fff9a897c4afc8b0e57f7751761761effd3247a8141bb54f01a11b721f-uid.json' (Error: NĂŁo Ă© possĂvel resolver o arquivo inexistente 'vscode-userdata:/c:/Users/cloud/AppData/Roaming/Cursor/User/globalStorage/anysphere.remote-containers/imageConfigs/vsc-teamculture-frontend-ef84a3fff9a897c4afc8b0e57f7751761761effd3247a8141bb54f01a11b721f-uid.json')
2025-10-17 20:18:55.040 [info] Getting config for container teamculture-frontend_devcontainer-tc-frontend-1 from vscode-userdata:/c%3A/Users/cloud/AppData/Roaming/Cursor/User/globalStorage/anysphere.remote-containers/nameConfigs/teamculture-frontend_devcontainer-tc-frontend-1.json
2025-10-17 20:18:55.042 [info] No container configuration file found for container teamculture-frontend_devcontainer-tc-frontend-1 NĂŁo Ă© possĂvel ler o arquivo 'vscode-userdata:/c:/Users/cloud/AppData/Roaming/Cursor/User/globalStorage/anysphere.remote-containers/nameConfigs/teamculture-frontend_devcontainer-tc-frontend-1.json' (Error: NĂŁo Ă© possĂvel resolver o arquivo inexistente 'vscode-userdata:/c:/Users/cloud/AppData/Roaming/Cursor/User/globalStorage/anysphere.remote-containers/nameConfigs/teamculture-frontend_devcontainer-tc-frontend-1.json')
2025-10-17 20:18:55.042 [info] Returning config: {}
2025-10-17 20:18:55.042 [info] Found attached container configuration: {}
2025-10-17 20:18:55.043 [info] Installing remote server in container...
2025-10-17 20:18:55.043 [info] Reading .gitconfig from C:\Users\cloud\.gitconfig
2025-10-17 20:18:55.044 [info] Stat: {
"type": 1,
"size": 2052,
"ctime": 1757975711549.934,
"mtime": 1713454130752.1577
}
2025-10-17 20:18:55.045 [info] Reading known hosts from C:\Users\cloud\.ssh\known_hosts
2025-10-17 20:18:55.046 [info] Stat: {
"type": 1,
"size": 2633,
"ctime": 1748944257420.3765,
"mtime": 1748944257420.3765
}
2025-10-17 20:18:55.047 [info] Final extension list:
2025-10-17 20:18:55.054 [info] Install options: {
"id": "21e001e9f609759c31caf7cd",
"commit": "9675251a06b1314d50ff34b0cbe5109b78f848c0",
"line": "production",
"extensionIds": [],
"envVariables": [],
"serverApplicationName": "cursor-server",
"forceReinstall": false,
"killRunningServers": false,
"realCommit": "9675251a06b1314d50ff34b0cbe5109b78f848cd",
"serverDataFolderName": ".cursor-server",
"cursorVersion": "1.7.52",
"spin": false,
"settings": {},
}
2025-10-17 20:18:55.054 [info] Spawned process 10904: 'docker' 'exec' '-u' 'developer' '-i' 'fb45a3b4b4659a8cb9c53f24d93885f7c18d02ba7eced6865ff961f0e29ac532' 'bash' '-c' 'cat | (base64 -d 2>/dev/null || base64 -D || true) | bash'
2025-10-17 20:18:55.055 [info] Installing server...
2025-10-17 20:18:55.373 [info] [server install]: exit
2025-10-17 20:18:55.373 [info] Finished installing remote server in container. Parsing output...
2025-10-17 20:18:55.373 [info] Result map: undefined
2025-10-17 20:18:55.373 [error] Failed to install remote server in container: Error: Failed to install the Cursor Server. Please check the logs for more details.
2025-10-17 20:18:55.380 [info] Downloading cursor server locally and copying into container
2025-10-17 20:18:55.381 [info] Spawned process 10484: 'docker' 'exec' '-u' 'developer' 'fb45a3b4b4659a8cb9c53f24d93885f7c18d02ba7eced6865ff961f0e29ac532' 'uname' '-m'
2025-10-17 20:18:55.381 [info] [uname -m]: Running command: docker
2025-10-17 20:18:55.726 [info] [uname -m]: Command completed with exit code 0
2025-10-17 20:18:55.734 [info] Spawned process 10736: 'docker' 'exec' '-u' 'developer' 'fb45a3b4b4659a8cb9c53f24d93885f7c18d02ba7eced6865ff961f0e29ac532' 'cat' '/etc/os-release'
2025-10-17 20:18:55.734 [info] [cat /etc/os-release]: Running command: docker
2025-10-17 20:18:55.994 [info] [cat /etc/os-release]: Command completed with exit code 0
2025-10-17 20:18:55.995 [info] [install-server] os-release:
2025-10-17 20:18:56.352 [info] Spawned process 6128: 'curl' '--retry' '3' '--fail' '--connect-timeout' '10' '--location' '--show-error' '--silent' '--output' 'C:\Users\cloud\AppData\Local\Temp\cursor-server-e3d44178-dc15-41fa-a0d1-c378d26103ee.tar.gz' 'https://downloads.cursor.com/production/9675251a06b1314d50ff34b0cbe5109b78f848cd/linux//cursor-reh-linux-.tar.gz'
2025-10-17 20:18:57.104 [info] [downloadFile][stderr]: curl: (22) The requested URL returned error: 403
2025-10-17 20:18:57.119 [info] Downloaded server onto intermediate server at C:\Users\cloud\AppData\Local\Temp\cursor-server-e3d44178-dc15-41fa-a0d1-c378d26103ee.tar.gz
2025-10-17 20:18:57.119 [info] Copying file from C:\Users\cloud\AppData\Local\Temp\cursor-server-e3d44178-dc15-41fa-a0d1-c378d26103ee.tar.gz to container fb45a3b4b4659a8cb9c53f24d93885f7c18d02ba7eced6865ff961f0e29ac532:/tmp/cursor-server-15c97d37-4688-4bc1-acf5-63ab11d55601.tar.gz
2025-10-17 20:18:57.119 [info] Spawned process 8276: 'C:\Users\cloud\AppData\Local\Programs\cursor\Cursor.exe' '-e' 'const fs = require('fs');
const { spawn } = require('child_process');
const sourceFile = "C:\\Users\\cloud\\AppData\\Local\\Temp\\cursor-server-e3d44178-dc15-41fa-a0d1-c378d26103ee.tar.gz";
const dockerPath = "docker";
const containerId = "fb45a3b4b4659a8cb9c53f24d93885f7c18d02ba7eced6865ff961f0e29ac532";
const destinationPath = "/tmp/cursor-server-15c97d37-4688-4bc1-acf5-63ab11d55601.tar.gz";
const remoteUser = "developer";
// Build docker exec command
const dockerArgs = ['exec'];
if (remoteUser) {
dockerArgs.push('-u', remoteUser);
}
dockerArgs.push('-i', containerId, '/bin/sh', '-c', `cat > "${destinationPath}"`);
// Set up environment
const env = { ...process.env };
// Spawn docker exec process
const dockerProcess = spawn(dockerPath, dockerArgs, { env });
// Handle errors
dockerProcess.on('error', (err) => {
console.error('Failed to start docker exec:', err);
process.exit(1);
});
dockerProcess.on('exit', (code) => {
if (code !== 0) {
console.error('Docker exec failed with exit code:', code);
process.exit(code || 1);
}
process.exit(0);
});
// Pipe file content to docker exec
const readStream = fs.createReadStream(sourceFile);
readStream.on('error', (err) => {
console.error('Failed to read source file:', err);
process.exit(1);
});
readStream.pipe(dockerProcess.stdin);'
2025-10-17 20:18:57.231 [info] [docker copy file][stderr]: Failed to read source file: [Error: ENOENT: no such file or directory, open 'C:\Users\cloud\AppData\Local\Temp\cursor-server-e3d44178-dc15-41fa-a0d1-c378d26103ee.tar.gz'] {
2025-10-17 20:18:57.231 [info] [docker copy file][stderr]: errno: -4058,
2025-10-17 20:18:57.232 [info] [docker copy file][stderr]: code: 'ENOENT',
2025-10-17 20:18:57.232 [info] [docker copy file][stderr]: syscall: 'open',
2025-10-17 20:18:57.232 [info] [docker copy file][stderr]: path: 'C:\\Users\\cloud\\AppData\\Local\\Temp\\cursor-server-e3d44178-dc15-41fa-a0d1-c378d26103ee.tar.gz'
2025-10-17 20:18:57.232 [info] [docker copy file][stderr]: }
2025-10-17 20:18:57.244 [error] Failed to copy file to container: Error: [docker copy file] Command failed with exit code 1
2025-10-17 20:18:57.245 [error] Failed to install remote server in container: Error: [docker copy file] Command failed with exit code 1
2025-10-17 20:18:57.246 [error] Error resolving dev container authority [docker copy file] Command failed with exit code 1
Operating System
Windows 10/11
Current Cursor Version (Menu → About Cursor → Copy)
VersĂŁo: 1.7.52 (system setup)
Confirmar: 1.99.3
Data: 9675251a06b1314d50ff34b0cbe5109b78f848c0
Electron: 2025-10-17T01:41:03.967Z
ElectronBuildId: 34.5.8
Chromium: undefined
Node.js: 132.0.6834.210
V8: 20.19.1
SO: 13.2.152.41-electron.0
Does this stop you from using Cursor
No - Cursor works, but with this issue