To change the default terminal in VS Code, open the dropdown next to the + button in the terminal panel and select Select Default Profile. Pick any shell installed on your machine and VS Code uses it for every new terminal from then on.
If you need custom shell arguments or environment variables instead of just a different default shell, see how to create and configure terminal profiles.
The quick way: Select Default Profile
The fastest method picks from shells that VS Code has already detected.
Open the terminal dropdown
Click the dropdown arrow next to the + button in the top-right corner of the terminal panel. This opens a list of all detected shell profiles.
Choose Select Default Profile
At the bottom of the list, select Select Default Profile. A Quick Pick menu appears showing every available shell on your system.
Pick your shell
Select the shell you want as the default. Common options include Git Bash, Command Prompt, WSL, zsh, bash, fish, and PowerShell. VS Code saves your choice immediately.
Open a new terminal
Click the + button or press Ctrl+Shift+** (Windows/Linux) or **Cmd+Shift+ (macOS). The new terminal opens with your chosen default shell. Existing terminals are not affected.
The active shell name appears in the terminal tab label. You can confirm the change by running a shell version command like zsh --version or bash --version. For more ways to work with multiple shells at once, see how to split terminals and run multiple terminals.
The settings.json way
If you prefer to configure the default directly in settings, or you need to set a custom shell path that VS Code did not detect, use settings.json.
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and run Preferences: Open User Settings (JSON). Add one of these settings based on your platform:
{
"terminal.integrated.defaultProfile.windows": "Git Bash",
"terminal.integrated.defaultProfile.linux": "zsh",
"terminal.integrated.defaultProfile.osx": "bash"
}Each key takes the exact name of a profile already defined in your settings.
If you type a name that does not match an existing profile, the Settings editor rejects the value. If you enter a mismatched name by editing settings.json directly, opening a new terminal shows an error instead of launching a shell.
What shells VS Code detects automatically
VS Code scans for shells at well-known installation paths and adds them as detected profiles. Here is what it finds by default on each platform:
| Platform | Detected shells |
|---|---|
| Windows | PowerShell, PowerShell 7 (pwsh), Command Prompt, Git Bash, WSL distributions |
| macOS | bash, zsh, fish (if installed at standard paths) |
| Linux | bash, zsh, fish, sh (if installed at standard paths) |
If your shell is installed at a non-standard location, VS Code may not detect it automatically. In that case, create a custom terminal profile with an explicit path.
Set a different default per workspace
You can set one default terminal for all projects and override it for a specific workspace.
Open Settings for the workspace
Open the workspace you want to customize, then open Settings with Ctrl+, (Windows/Linux) or Cmd+, (macOS).
Switch to the Workspace tab
Click the Workspace tab at the top of the Settings editor.
Set the profile
Search for terminal.integrated.defaultProfile and enter the profile name for your current platform.
The workspace setting takes priority over your user setting for that project only. VS Code applies the workspace default whenever you open that folder.
What to do if the new default does not work
If new terminals fail to open after changing the default, the profile name in your setting likely does not match an existing profile.
First, check what profiles are available. Open the Command Palette and run Terminal: Select Default Profile. The list shows the exact names of every available profile. Use one of those names in your settings.json or pick it from the list.
If your preferred shell is not in the list, it was not detected. Create a profile manually in settings.json with a path pointing to the shell executable, as described above.
Rune AI
Key Insights
- Run Terminal: Select Default Profile from the Command Palette to pick a new default.
- VS Code auto-detects PowerShell, Git Bash, WSL, zsh, bash, fish, and more.
- Set terminal.integrated.defaultProfile.{platform} in settings.json for precise control.
- The setting can be User-scoped or Workspace-scoped for per-project defaults.
- Close existing terminals and open new ones to see the change take effect.
Frequently Asked Questions
Why does VS Code keep opening PowerShell when I want Git Bash instead?
How do I set a different default terminal per workspace?
I changed the default but new terminals still open the old shell. What happened?
Conclusion
Changing the default terminal takes one command and a single click. VS Code detects installed shells automatically and remembers your choice. Use Terminal: Select Default Profile for the quickest path, or edit settings.json directly when you need custom arguments.
More in this topic
How to Use VS Code with WSL 2 on Windows
Run VS Code connected to Windows Subsystem for Linux so you can develop in a full Linux environment with native tools, terminals, and debugging, all from Windows.
20 Best VS Code Extensions for Web Developers in 2026
Twenty carefully chosen VS Code extensions every web developer should know. Covers formatting, linting, frameworks, debugging, Git, and developer experience.
How to Install, Disable, Update, and Uninstall VS Code Extensions
Learn how to install, disable, update, and uninstall VS Code extensions from the Marketplace and the command line. Step-by-step instructions for every action.