The “Keep All” code action popup is stuck on screen. I cannot click it, dismiss it, or interact with it in any way. It always stays visible and forces focus onto the same file whenever I try to engage with it. The popup does not disappear even when switching files or restarting Cursor.
Steps to Reproduce
Work inside a file where an inline suggestion or code action appears.
At some point the “Keep All” popup becomes stuck and stops responding.
Attempt to click it, close it, or navigate away.
The popup remains on screen and continuously redirects me back to the same file.
Expected Behavior
The “Keep All” popup should be dismissible by clicking elsewhere, closing it, or accepting/rejecting the suggestion. It should not remain fixed on the screen or hijack navigation.
The issue persists across restarts and makes it difficult to continue working. It seems to behave like a frozen code action overlay that cannot be dismissed.
Thanks for reporting. I’d be really interested to know if this problem persists in 2.3. It’s still rolling out, but you can switch your update track (Cursor Settings > Beta) to get it know.
If it does keep happening, I’d suggest the following:
Open Developer Tools: (Help > Toggle Developer Tools)
I’ve completed all the steps you recommended. I’m currently on version 2.3.14. I cleared the console, and I also went to the Application tab to perform a full “Clear site data.” After that, I ran “Developer: Reload Window.” Unfortunately, the issue still persists.
I also noticed that when the console is open and I click the button, the following errors appear.
Please let me know if there is anything else you’d like me to try.
I see an issue about “sail” for laravel boost, but my laravel boost doens’t use sail… So that can not be an issue, here is my boost config:
There’s more errors in there, but maybe you understand them better
workbench.desktop.main.js:55 ERR MainThreadChatAgents2#$updateAgent: No agent with handle 0 registered
error @ workbench.desktop.main.js:55
error @ workbench.desktop.main.js:55
error @ workbench.desktop.main.js:15629
$updateAgent @ workbench.desktop.main.js:12658
await in $updateAgent
_doInvokeHandler @ workbench.desktop.main.js:13634
_invokeHandler @ workbench.desktop.main.js:13634
_receiveRequest @ workbench.desktop.main.js:13634
_receiveOneMessage @ workbench.desktop.main.js:13634
(anonymous) @ workbench.desktop.main.js:13634
_deliver @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:12692
(anonymous) @ workbench.desktop.main.js:15680
workbench.desktop.main.js:55 ERR [Extension Host] Server "laravel-boost" stderr: Sail is not running.
You may Sail using the following commands: './vendor/bin/sail up' or './vendor/bin/sail up -d'
error @ workbench.desktop.main.js:55
...
[repeated stack entries unchanged]
...
workbench.desktop.main.js:55 ERR [Extension Host] Failed to connect to new MCP server laravel-boost: McpError: MCP error -32000: Connection closed
at Oze._onclose (C:\REDACTED_PATH\extensions\node_modules.pnpm\@modelcontextprotocol\sdk\src\shared\protocol.ts:327:19)
at Uze._transport.onclose (C:\REDACTED_PATH\extensions\node_modules.pnpm\@modelcontextprotocol\sdk\src\shared\protocol.ts:292:12)
at ChildProcess. (C:\REDACTED_PATH\extensions\node_modules.pnpm\@modelcontextprotocol\sdk\src\client\stdio.ts:151:21)
at ChildProcess.emit (node:events:519:28)
...
[repeated MCP error blocks redacted similarly]
...
workbench.desktop.main.js:55 ERR [Extension Host] [otel.error] {"stack":"OTLPExporterError: Bad Request
at IncomingMessage. (.../node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.js:52:31)
at IncomingMessage.emit (node:events:531:35)
at endReadableNT (node:internal/streams/readable:1698:12)
at processTicksAndRejections (node:internal/process/task_queues:90:21)",
"message":"Bad Request",
"code":"400",
"name":"OTLPExporterError",
"data":"{\"error\":\"Trace spans collection is disabled for NO_STORAGE privacy mode\"}"}
...
workbench.desktop.main.js:13689 [transport] Connect error in unary AI connect ConnectError: [unauthenticated] You must be a team member to access this resource
at t (workbench.desktop.main.js:12707:476571)
at async Object.getTeamCommands (workbench.desktop.main.js:566:27011)
at async dUo.loadTeamCommands (workbench.desktop.main.js:15683:3633)
{arch: "x64", platform: "win32", channel: "stable", client_version: "2.3.14", error: {...}}
...
workbench.desktop.main.js:12675 [Extension Host] rejected promise not handled within 1 second: Error: Illegal argument: commandLine
workbench.desktop.main.js:12689 [emallin.phpunit] Illegal argument: commandLine
$onExtensionRuntimeError @ workbench.desktop.main.js:12689
workbench.desktop.main.js:12689 Error: Illegal argument: commandLine
at He (file:///C:/Program Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:24:1594)
at new yc (...)
at Object.provideTasks (C:\REDACTED_PATH\extensions\emallin.phpunit-4.16.1\out\extension.js:60:113)
...
workbench.desktop.main.js:55 ERR An unknown error occurred. Please consult the log for more details. {vslsStack: Array(24)}
I also have this issue. But I do not see any errors in the developer console. I also don’t have custom MCP. I can’t work in cursor until I can get the changes resolved and out of my file view.
Had to rename my root folder of app to get cursor back working, was stuck with keep this file and saving a file does nothing , restarting cursor also does not work cause it just shows you the same files again and that you did not save them . -_- hectic bug , i suspect it’s claude cli or codex interfering with something