Using Warp with [zsh|bash|fish|pwsh]
Warp supports popular shells across macOS, Windows, and Linux. On macOS and Linux, this includes bash, zsh, fish, and PowerShell (pwsh). On Windows, this includes PowerShell 5 & 7, WSL2, and Git Bash.
Warp default shell
Warp tries to load your login shell by default. Currently, Warp supports bash, fish, zsh, and PowerShell (pwsh). If your login shell is set to something else (e.g. Nushell) Warp will show a banner indicating it's not supported and load the default shells listed below:
On macOS, zsh is the default shell.
On Windows, PowerShell (pwsh) is the default shell.
On Linux, bash is the the default shell.
If you run into issues configuring your RC files (~/.bashrc
, ~/.zshrc
, config.fish
, Microsoft.PowerShell_profile.ps1
) with Warp, please see Configuring and debugging your RC files.
Changing what shell Warp uses
To change the default shell, e recommend you choose a shell in Warp by going to Settings > Features
and scrolling to the Session
section, then select the "Startup shell for new sessions"
The changes to your shell will only take effect when you start a new session.
Customizing Your Shell Environment
Customize Your zsh Shell Environment
Zsh can be customized via the ~/.zshrc
file, which runs whenever a new session starts (window, tab, or pane). Use it to set environment variables, aliases, and customize the prompt.
Editing the .zshrc File
Edit ~/.zshrc
using nano ~/.zshrc
or vi ~/.zshrc
.
Files starting with a dot (.
) are hidden by default. Check your file explorer’s settings to show hidden files.
Reloading the zshrc File
Apply changes by running source ~/.zshrc
or restarting Warp/opening a new session.
Customize Your Bash Shell Environment
Bash is pre-installed on macOS and can be customized using ~/.bashrc
(for non-login shells) or ~/.bash_profile
(for login shells). Use these files to set environment variables, aliases, and customize the prompt.
Editing the .bashrc File
Edit ~/.bashrc
using nano ~/.bashrc
or vi ~/.bashrc
.
Reloading the bashrc File
Apply changes by running source ~/.bashrc
or restarting Warp/opening a new session.
Files starting with a dot (.
) are hidden by default. Check your file explorer’s settings to show hidden files.
Customize Your Fish Shell Environment
Fish is a user-friendly shell with autosuggestions and syntax highlighting. Its configuration file is ~/.config/fish/config.fish
.
Editing the config.fish File
Edit ~/.config/fish/config.fish
using nano ~/.config/fish
. Use it to set environment variables, aliases, and functions.
Reloading the config.fish File
Apply changes by running source ~/.config/fish
or restarting Warp/opening a new session.
Unlike Bash and Zsh, Fish does not use export VAR=value
. Use set -Ux VAR value
for persistent environment variables.
Customize Your PowerShell Shell Environment
PowerShell can be customized via its profile script, located at $PROFILE
. Check if it exists with Test-Path $PROFILE
, and create it if needed with New-Item -Path $PROFILE -ItemType File -Force
.
Editing the PowerShell Profile
Edit the profile using code $PROFILE
, and use it to set environment variables, aliases, custom prompts, and scripts.
Reloading the PowerShell Profile
Apply changes by restarting Warp or opening a new session.
PowerShell’s execution policy may block scripts. Enable profile execution with:
Additional shell guidance for macOS
Setting up zsh on Warp
By default, macOS ships with zsh located in /bin/zsh
. You can confirm this location by typing which zsh
in your Warp terminal. You can also check the version of zsh installed on your system by simply typing the following:
$ zsh --version
Using fish shell with Warp on macOS
Step 1: Install fish
While bash, and zsh come pre-installed on macOS systems, fish shell does not. So before using fish with Warp, you will need to install it. Install fish 3.6 or above using one of the methods listed below -
With Homebrew: If you already have homebrew installed, you can simply type
brew install fish
, and follow the instructions.Download the installer at fishshell.com
Step 2: Switch to fish as the default shell
Once you’ve installed fish on your computer, you can set it as your default shell, so Warp will use it every time a new tab, pane, or window is opened. You can either make fish the default shell for only Warp, from the session settings (Settings > Features > Session
), or for your user account. To change your account's default shell, you need to run two commands.
If you used Homebrew to install fish on a macOS or if you used the Mac installer available on fishshell.com to install fish, type the following two commands in Warp:
If you prefer, you can also manually edit the /etc/shells
file using the editor of your choice (you may need sudo privileges).
Why the different locations? The location of fish depends on how it was installed. Homebrew installs programs under /usr/local
on Macs running Intel processors, but under /opt/homebrew
for Macs running Apple Silicon. So, if you used Homebrew to install fish on a Mac with Apple Silicon, the location of the executable is - /opt/homebrew/bin/fish
.
You can identify where fish is installed by running which fish
.
Using PowerShell (pwsh) with Warp on macOS
Step 1: Install PowerShell
While bash, and zsh come pre-installed on macOS systems, PowerShell shell does not. So before using PowerShell with Warp, you will need to install it. Install PowerShell 7.0 or above using one of the methods listed below -
With Homebrew: If you already have homebrew installed, you can simply type
brew install powershell/tap/powershell
, and follow the instructions.Download from the official Microsoft website.
Step 2: Switch to pwsh as the default shell
Once you’ve installed PowerShell on your computer, you can set it as your default shell, so Warp will use it every time a new tab, pane, or window is opened. You can either make pwsh the default shell for only Warp, from the session settings (Settings > Features > Session
), or for your user account. To change your account's default shell, you need to run two commands.
If you prefer, you can also manually edit the /etc/shells
file using the editor of your choice (you may need sudo privileges).
Why the different locations? The location of pwsh depends on how it was installed. Homebrew installs programs under /usr/local
on Macs running Intel processors, but under /opt/homebrew
for Macs running Apple Silicon. So, if you used Homebrew to install pwsh on a Mac with Apple Silicon, the location of the executable is - /opt/homebrew/bin/pwsh
.
You can identify where pwsh is installed by running which pwsh
.
Using Warp with shells on Windows
On Windows, Warp's default shell is PowerShell 7 (pwsh). Warp for Windows supports several shells:
PowerShell 7 (default)
PowerShell 5
Windows Subsystem for Linux (WSL2)
Git Bash
Windows Command Prompt (cmd.exe) is not currently supported. For more information and updates about cmd.exe support, please see this GitHub issue.
Last updated
Was this helpful?