In a chat, when agent mode executes commands that take several minutes (e.g. build processes with thousands of compilation steps), the command might be automatically interrupted with a ^C character visible in the agent’s external terminal (not the inline one in the chat), even though the user did not cancel it. The timing of the ^C is variable – sometimes after a few seconds, sometimes after a few minutes.
Steps to Reproduce
Have the agent chat run a bash script that builds for a few minutes. Click on the “Open in external terminal” icon. Watch the agent’s external terminal. A ^C will sometimes appear and the process gets terminated. The issue is intermittent; however, it seems to be very frequent on 2.1.46.
Expected Behavior
No ^C. The process should run to completion.
Operating System
Windows 10/11
Current Cursor Version (Menu → About Cursor → Copy)
The regression occurred in 2.1.39. Not reproducible in: 2.0.77, 2.1.17, 2.1.20, 2.1.25, 2.1.34, 2.1.36. Reproducible in 2.1.39, 2.1.41, 2.1.42, 2.1.44, 2.1.46.
Cursor is running on Windows with a remote connection to an EL8 Linux server. The agent’s terminal is running bash though it happens with zsh too.
Issue is still reproducible after enabling the Legacy Terminal Tool setting.
Asking Cursor chat about it responded with: “Since you’re not sending Ctrl-C, this appears to be a technical issue with the Cursor terminal integration.”
Hey, thanks for the report. It looks like the same Windows terminal regression that started in 2.1.39 (see related thread: Cursor version 2.1.39 has terminal bug)
Ctrl+Shift+P → Terminal: Kill All Terminals, then fully restart Cursor
Can you please attach:
Request ID of the problematic run (chat menu > Copy Request ID)
Screenshot of the external terminal at the moment ^C appears + exact time
Logs: Help > Toggle Developer Tools > Console (errors)
Clarify: Does it only happen after “Open in external terminal” or even without it? What shell on the remote Linux (bash/zsh)? Which SSH extension are you using?
Let me know if Legacy/kill terminals/restart helps.
The Legacy/kill-terminals/restart did not help, at least with 2.1.46. The issue occurred on both bash and zsh.
I’m using the default SSH extension:
Name: Remote - SSH
Id: anysphere.remote-ssh
Description: Open any folder on a remote machine using SSH and take advantage of Cursor’s full feature set.
Version: 1.0.35
Publisher: Anysphere
VS Marketplace Link: Cursor: The best way to code with AI
Using 2.1.46, without the Legacy Terminal Tool setting, I found two behaviors (pass and fail) that seems to be tied to whether the terminal process is running exclusively in the background or not.
For example:
Request ID cb505f83-0747-4548-afe6-fc93d9872b68 was started by the agent in the chat at Dec 4 10:27:59 PST 2025. Progress was being shown in the chat. Shortly after it started, I clicked on the “Open in external terminal” icon. The process then ran with progress showing in both the chat and external terminal. The external terminal suddenly showed a ^C character and the process stopped. The chat window simultaneously showed that the process was canceled, but didn’t specifically show the Ctrl-C. The cancel happened just before Dec 4 10:32:02 PST 2025
However, request ID bc78d4d1-6a90-4bed-8c85-872f276d99bc was prompted by me to only run in an external terminal. The agent started the background process on Dec 4 10:47:47 PST 2025. Progress was being shown in the external terminal. No progress was shown in the chat. The process completed successfully with no premature ^C.
I repeated this process a couple times and the background-only terminal process succeeded, where the inline chat process (with or without the external terminal) would get “canceled”.