C# debugging: send launch before configurationDone (or improve netcoredbg compatibility) to fix 0x80004005

Summary

When debugging C# / .NET in Cursor (with Anysphere C#, DotRush, or netcoredbg via pipeTransport), the debug session often fails with:

Failed command ‘configurationDone’ : 0x80004005

Cause

Samsung’s netcoredbg (and possibly other CoreCLR debuggers) expect the DAP launch request to be sent before the configurationDone request. The netcoredbg issue #9 documents this: if the client sends configurationDone first, netcoredbg returns 0x80004005.

VS Code sends launch first, then breakpoints, then configurationDone, so debugging works there. In Cursor, the sequence appears to follow the strict DAP order (configurationDone before launch), which triggers this failure.

Request

Please consider either:

  1. Change the debug adapter protocol order for coreclr (and similar) debug types so that launch is sent before configurationDone, to match the order VS Code uses and to improve compatibility with netcoredbg and other adapters that rely on it, or
  2. Document or add a setting for C#/.NET debugging that allows “launch before configurationDone” or “netcoredbg-compatible” mode.

Environment

  • Cursor (latest)
  • Windows / macOS / Linux (as applicable)
  • Extensions: Anysphere C#, or DotRush, or netcoredbg via pipeTransport in launch.json

Workaround

Currently using Visual Studio for breakpoint debugging and Cursor for editing, or using dotnet run without the debugger in Cursor.

Thank you.