# [[Cursor-VSCode Terminal shell fix]] _Created: 2025-12-06_ | #editor/cursor #editor/vscode | [[020 Programming MOC|Programming]] ## Problem Cursor (and VS Code) integrated terminals default to `/bin/bash` (on my Mac, version 3.2.57) instead of respecting the user's configured default shell, even when: - `$SHELL` is set to a different shell (e.g., `/opt/homebrew/bin/bash`) - The shell is properly configured via `chsh -s` - The shell is listed in `/etc/shells` ### Symptoms - `echo $BASH_VERSINFO` shows `3` instead of `5+` - Bash completions from Homebrew `bash-completion@2` don't work (requires bash 4.2+) ### Why This Happens - VS Code/Cursor don't automatically read from macOS user database or `$SHELL` - Particularly common where user uses modern Homebrew shells in `/opt/homebrew` instead of `/usr/local` ## Solution Add to Cursor/VS Code settings (`settings.json`): ```json "terminal.integrated.defaultProfile.osx": "bash", "terminal.integrated.profiles.osx": { "bash": { "path": "/opt/homebrew/bin/bash", "args": ["-l"] } } ``` **NOTE**: Replace `/opt/homebrew/bin/bash` with your desired shell path (e.g., `/opt/homebrew/bin/zsh`, `/bin/zsh`, etc.) After Applying Fix in a new editor terminal verify that `echo $BASH_VERSINFO` should show correct version. ## Related Issues - https://github.com/microsoft/vscode/issues/145233 - Integrated terminal does not honour system `$SHELL` on macOS