Unable to add a dynamic debug configuration to launch.json

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

When extensions provide dynamic debug configuration using the DebugConfigurationProvider available in the extension API, all the configuration provided are added in the debug menu and visible when running Debug: Select and Start Debugging command.
When running this command and going to the debug configuration selection, a gear button is available on each entry, allowing the user to customize the configuration by writing it in the launch.json
On VS Code/VS Codium this works perfectly, but on Cursor, the button only opens the launch.json and write nothing in the file.
When looking at the developer tools, I can see an exception thrown when clicking on the button.

Here is the exception thrown:

workbench.desktop.main.js:65   ERR Cannot assign to read only property 'configurations' of object '#<Object>': TypeError: Cannot assign to read only property 'configurations' of object '#<Object>'
    at UMh.writeConfiguration (vscode-file://vscode-app/c:/Program%20Files/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:42242:284)
    at Vyr.value (vscode-file://vscode-app/c:/Program%20Files/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:42241:18441) TypeError: Cannot assign to read only property 'configurations' of object '#<Object>'
    at UMh.writeConfiguration (workbench.desktop.main.js:42242:284)
    at Vyr.value (workbench.desktop.main.js:42241:18441)
error @ workbench.desktop.main.js:65
error @ workbench.desktop.main.js:65
error @ workbench.desktop.main.js:43288
handleUnexpectedError @ workbench.desktop.main.js:43282
(anonymous) @ workbench.desktop.main.js:43282
onUnexpectedError @ workbench.desktop.main.js:33
Ul @ workbench.desktop.main.js:28
(anonymous) @ workbench.desktop.main.js:43282

Steps to Reproduce

Open Cursor with any extension that provides dynamic debug configuration (Python for example)
Run Debug: Select and Start Debugging command and select a provider
Click on the gear button on any configuration entry
Notice launch.json opens, but nothing new is written.

Expected Behavior

The configuration should be pasted in the launch.json

Operating System

Windows 10/11

Version Information

Version: 3.3.16 (system setup)
VSCode Version: 1.105.1
Commit: 7f0f522221d0ba220e4edb766bb3c47c08c14ab0
Date: 2026-05-06T20:40:56.501Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.26100

Additional Information

A similar behavior exists for dynamic tasks from TaskProvider extensions with tasks.json, and it works as expected here.

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey there!

Thanks for the report. his is a known upstream VS Code bug (microsoft/vscode#245990) that was fixed via PR #252095. Cursor doesn’t have that fix at the moment. I filed a bug with the team.

Thanks for the answer !

But this raises a question for me.
The bug and pull request you mentioned has been merged on Jun 22, 2025, and it corresponds to the release of VS Code 1.1102. When going to the About modal of Cursor, it says the VS Code version is 1.105.1.
Then how the fix is not present on Cursor, since it is using a VS Code version containing the fix ? Are the merge with upstream not atomic, and made by cherry-picking commits ?

1.105.1 refers to extension compatibility, which we’ve been able to improve without updating the overall VSCode version.

So basically, VS Code Version refers only to Extension API Version. This is clear for me.

Out of curiosity, at which version of the upstream are you currently (without counting the API version) ?

1.99.3