When starting a Cursor agent on macOS, Cursor attempts to execute /opt/homebrew/share/zsh, which is a Homebrew-managed data directory, not an executable shell. This results in an EACCES error and prevents the agent from starting. The path cannot be overridden via any Cursor setting.
Steps to Reproduce
Open the cursor agent and view the debug logs.
Expected Behavior
The agent should use a valid zsh path or the value I set, rather than the zsh data directory. Or spawn a fish shell, as this is my preferred terminal.
Hey, thanks for the detailed report. I can see an EACCES in DevTools for /opt/homebrew/share/zsh. This is a known issue in v2.4.x when fish is set as your default shell.
Cursor detects the shell path incorrectly and tries to launch the Homebrew data directory instead of the real executable. The team is aware (bug is logged), but there’s no fix yet.
Workaround (temporary):
Settings > Cursor Settings > Agents > Legacy Terminal: turn it on and restart Cursor.
This should make the agent use the old terminal logic, which avoids the bad shell path resolution.
If Legacy Terminal doesn’t help, the only option is to roll back to v2.3.34:
@deanrie Thanks for the reply. The legacy terminal also does not work for me. When I switch to this setting, the cursor agent will run a command, and no output is returned. It won’t hang; it will just run the command, which does nothing, and move on. I can send a screenshot if you like.
@deanrie This is my output when using the legacy terminal with Cursor 2.4.31. The command does not hang like in non-legacy mode, but it fails to run and produce any output for me.
If that doesn’t help, rolling back to v2.3.34 is still the only working option. You can download it here: Download · Cursor (pick a specific version). Fully quit Cursor before installing.
The team is aware of this fish and zsh path detection bug. Your report helps us prioritize it. Let me know if the profile setting worked.
Thanks for the reply. When I run this in the legacy shell with the suggested settings, I am still seeing failed and no output. I believe the output it’s giving me is from other cursor tools that do not rely on the terminal.
Thanks for testing the latest workaround and sending the screenshot.
I can see that even with an explicit fish path in the command settings, the commands still fail. This confirms the bug is deeper than just an incorrect shell path. The issue is with how v2.4.x detects and initializes the terminal with a fish/Homebrew setup.
Right now, the only working option is to roll back to v2.3.34.
I know that’s inconvenient, but in v2.3.x the Legacy Terminal worked fine for you (based on your post in the January thread).
Let me know if everything works after the rollback, or if you run into any chat compatibility issues.
I believe that have the same issue (Cursor can’t execute git command) and I am planning to rollback to older version. The caveat you mentioned what does this mean for me?
When rolling back from v2.4.x to v2.3.x, chats that were created in v2.4.x may not open or may display incorrectly in v2.3.x. The storage format changed between versions. This means you’ll lose access to those specific chats, so please export any important chats via the chat menu. Chats created before v2.4.x should work normally.