Describe the Bug
For some time now, the ‘Restart’ debug command in Cursor hasn’t been working correctly after I launch my Go server.
When I run my Go server (I’ve tested this with both Fiber and WebSocket servers), the ‘Stop’ button terminates the process as expected. However, when I press the ‘Restart’ button, the process hangs instead of terminating, and it continues to occupy the port. If I then send a kill signal to the hung process from an external terminal, the restart operation proceeds.
A strange thing is that if I press the ‘Restart’ button multiple times while it’s hung, a corresponding number of “exiting…” messages appear all at once after the process is finally killed.
I suspect that when I press the ‘Restart’ button, the signal isn’t being delivered to the process correctly, perhaps due to a lock. When an external kill signal releases this lock, all the queued restart signals seem to be delivered at once.
I’m not sure if this is a problem with Go’s Delve debugger (dlv) or with Cursor itself. I’ve reproduced the same issue on a secondary computer with a fresh install of Cursor and a simple test case.
Steps to Reproduce
- start golang process
- press restart button
Expected Behavior
process don’t be terminated
Operating System
MacOS
Current Cursor Version (Menu → About Cursor → Copy)
Version: 1.2.4 (Universal)
VSCode Version: 1.99.3
Commit: a8e95743c5268be73767c46944a71f4465d05c90
Date: 2025-07-10T16:55:16.443Z
Electron: 34.5.1
Chromium: 132.0.6834.210
Node.js: 20.19.0
V8: 13.2.152.41-electron.0
OS: Darwin arm64 24.5.0