Cursor commands hang indefinitely (no terminal attached) on Fish shell

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

In Cursor, commands initiated by Agents/command runner (e.g., running tests) appear to start but then hang in an infinite “running” state. There’s no live terminal session attached/linked, no output streaming, and the command never completes. This blocks all Cursor-driven command execution.

Steps to Reproduce

Open the Cursor agent and let it attempt to run any command. The model doesn’t matter.

Expected Behavior

It should be able to run commands normally like it has in the past. This issue happens intermittently, and I’m not sure how to resolve it. I’ve seen it before.

Screenshots / Screen Recordings

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.3.41
VSCode Version: 1.105.1
Commit: 2ca326e0d1ce10956aea33d54c0e2d8c13c58a30
Date: 2026-01-16T19:14:00.150Z (21 hrs ago)
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 25.2.0

For AI issues: which model did you use?

Composer

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey, thanks for the report. This looks like a known issue with shell integration in 2.3.x, where the agent can’t run commands in the terminal.

Try using Legacy Terminal as a workaround:

  • Settings > Cursor Settings > Agents > Legacy Terminal: turn it on
  • Restart Cursor
  • Try running the command via the agent again

If that doesn’t help, please share:

  • Console logs: Cmd + Shift + P > Developer: Toggle Developer Tools > Console tab (screenshot or error text)
  • Output of echo $SHELL in the terminal
  • The Request ID from the chat (chat menu > Copy Request ID)

In a similar Linux case Cursor doesn't execute the command of agent and stuck, the issue was that Cursor tried to start zsh instead of the configured shell. The logs should show what’s happening on your side.

Thanks @deanrie that resolved the issue for now.

1 Like

@deanrie

I’m still encountering this issue after upgrading to Cursor version 2.4.23. I did some debugging, and here’s what I found.

On non-legacy terminal mode, whenever I start a new agent, I get the following error in the console:

workbench.desktop.main.js:58  
ERR An unknown error occurred. Please consult the log for more details. 
{ errno: -13, code: 'EACCES', syscall: 'spawn /opt/homebrew/share/zsh', path: '/opt/homebrew/share/zsh', spawnargs: Array(4) }

I do have zsh installed; however, it is located at:

$ which zsh
/bin/zsh

$ echo $SHELL
/opt/homebrew/bin/fish

Additionally, my default shell is fish, not zsh. This is configured in both:

  • the $SHELL environment variable, and

  • Cursor settings under Terminal › Integrated › Default Profile: macOS

Despite this, Cursor appears to be attempting to start zsh from /opt/homebrew/share/zsh, which does not exist or is not executable in my setup.