Cursor is ignoring my default profile in settings.json. It’s not using my system’s default shell. It’s not using my user’s shell. If Fish shell is somehow installed on my system, no matter what I do, it will use it.
If I uninstall fish entirely, then I can set the shell to anything else in my settings.json and it will actually honor it. I tried a fresh system with a virtual machine and could reproduce consistently. It’s driving me mad.
Steps to Reproduce
Using Linux, use cursor, echo $fish_pid from an agent prompt. It will return nothing as expected (using bash or whatever is your configured shell).
Then install Fish (with apt or something) so it is in the path, in /usr/bin/fish.
Restart Cursor, ask it to echo $fish_pid again. This time it will be running Fish and you will get the process id of the shell in the terminal, regardless of your default shell in Cursor or on the system
Expected Behavior
As per the documentation, Cursor to always honor the default terminal profile in settings.json.
I’m not ruling out user error here or some weird scenario I got myself into, but I feel like I tried everything at this point.
Operating System
Linux
Current Cursor Version (Menu → About Cursor → Copy)
Without changing anything on default shells, just installing fish causes Cursor to pick it up to run commmands.
Can be replicated by simply asking Cursor “what shell am I running” and seeing that the terminal it opens is running Fish even though the default is Bash.
When opening a terminal manually it does correctly open Bash.
Restarting Cursor doesn’t help, only removing Fish (and restarting Cursor) fixes the issue.
It’s really annoying because I want to use Fish for my own terminals but I want Cursor to use Bash as it’s simpler and Fish in Cursor’s automations has a number of quirks that really get in the way of productivity…
Please fix asap. It’s bad enough to make me consider moving away from Cursor…
I’m seeing this too. It doesn’t matter what my vscode settings are, the moment fish becomes an available command, it will start using it. I’m using Ubuntu under WSL2. This is really unfortunate because I like fish as my default shell but it doesn’t work well with cursor WSL.