Warp documentation
  • 🚀Getting Started
    • Quickstart Guide
    • What is Warp?
    • Migrate to Warp
    • Using Warp with [zsh|bash|fish|pwsh]
    • Privacy
    • Refer a Friend & Earn Rewards
    • Warp Preview & Alpha Program
    • Changelog
  • 🎨Appearance
    • Themes
    • Custom Themes
    • Prompt
    • Input Position
    • Text, Fonts, & Cursor
    • Size, Opacity, & Blurring
    • Pane Dimming & Focus
    • Blocks Behavior
    • Tabs Behavior
    • App Icons
  • 📕Features
    • Warp AI
      • Active AI
      • Agent Mode
      • Generate
      • Model Context Protocol
      • Voice
      • Rules
    • Command Palette
    • Warp Drive
      • Notebooks
      • Workflows
      • Prompts
      • Environment Variables
      • Warp Drive on the Web
    • Teams
    • Session Sharing
    • Blocks
      • Block Basics
      • Block Actions
      • Block Sharing
      • Block Filtering
      • Background Blocks
      • Sticky Command Header
    • Modern Text Editing
      • Alias Expansion
      • Command Inspector
      • Syntax & Error Highlighting
      • Vim Keybindings
    • Command Entry
      • Command Corrections
      • Command Search
      • Command History
      • Synchronized Inputs
      • YAML Workflows
    • Command Completions
      • Completions
      • Autosuggestions
    • Session Management
      • Launch Configurations
      • Session Navigation
      • Session Restoration
    • Window Management
      • Global Hotkey
      • Tabs
      • Split Panes
    • Warpify
      • Subshells
      • SSH
    • Accessibility
    • Find
    • Files, Links, & Scripts
    • Markdown Viewer
    • Working Directory
    • Smart-Select
    • Full-screen Apps
    • Keyboard Shortcuts
    • Notifications & Audible Bell
    • Settings Sync (Beta)
    • Quit Warning
    • Integrations
    • URI Scheme
    • Network Log
    • Secret Redaction
    • Linux
  • 📊How Does Warp Compare?
    • Performance
    • Terminal features
  • ❓Help
    • Sending Feedback & Logs
    • Plans, Subscriptions & Pricing
    • Updating Warp
    • Using Warp Offline
    • Logging out & Uninstalling
    • Known Issues
    • Troubleshooting Login Issues
    • Open Source Licenses
Powered by GitBook
On this page
  • Warp default shell
  • Changing what shell Warp uses
  • Customizing Your Shell Environment
  • Customize Your zsh Shell Environment
  • Customize Your Bash Shell Environment
  • Customize Your Fish Shell Environment
  • Customize Your PowerShell Shell Environment
  • Additional shell guidance for macOS
  • Using fish shell with Warp on macOS
  • Using PowerShell (pwsh) with Warp on macOS
  • Using Warp with shells on Windows

Was this helpful?

  1. Getting Started

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.

PreviousMigrate to WarpNextPrivacy

Last updated 2 months ago

Was this helpful?

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 .

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 .

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

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:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Additional shell guidance for macOS

Setting up zsh on Warp

$ 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 -

  1. With Homebrew: If you already have homebrew installed, you can simply type brew install fish, and follow the instructions.

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:

echo $(which fish) | sudo tee -a /etc/shells
chsh -s $(which fish)

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 -

  1. With Homebrew: If you already have homebrew installed, you can simply type brew install powershell/tap/powershell, and follow the instructions.

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.

echo $(which pwsh) | sudo tee -a /etc/shells
chsh -s $(which pwsh)

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

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 .

By default, macOS ships with 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:

Download the installer at

Download from the .

Windows Command Prompt (cmd.exe) is not currently supported. For more information and updates about cmd.exe support, please see .

🚀
Configuring and debugging your RC files
prompt
prompt
zsh
fishshell.com
official Microsoft website
this GitHub issue