Skip to content

Terminal > Terminal appearance

Custom Themes

Open in ChatGPT ↗
Ask ChatGPT about this page
Open in Claude ↗
Ask Claude about this page
Copied!

Warp supports Custom Themes which can be created manually or downloaded from our repo.

We have a repository of themes hosted on GitHub.

Each theme has a preview generated in the README.

The main difference between “standard” and “base16” themes is that “standard” themes follow the typical color setup, while “base16” themes follow the framework suggested by @chriskempson.

There are 2 ways to install a theme from this repo.

  1. Download a single file and follow the steps in the section below.
  2. Clone the entire repo into the appropriate location based on your OS below:
Terminal window
mkdir -p $HOME/.warp
cd $HOME/.warp/
git clone https://github.com/warpdotdev/themes.git

Here is a step-by-step YouTube video that goes through these 2 steps for an example theme. Note the location for the files is based on macOS.

  1. To start, create the following directory:
Terminal window
mkdir -p $HOME/.warp/themes/
  1. Add your new custom theme yaml file to this directory:
Terminal window
cp ~/Downloads/my_awesome_theme.yaml {{path_to_your_themes_directory_from_step1}}

Your new theme should now be visible on the list of available themes.

Warp supports creating custom themes using .yaml files.

The format is subject to change, but we do our best to avoid breaking changes and maintain forward compatibility. We also plan to support sharing and creating custom themes directly within Warp.

A custom theme in Warp has the following .yaml structure:

name: Custom Theme # Name for the theme
accent: '#268bd2' # Accent color for UI elements
cursor: '#95D886' # Input cursor color (optional; defaults to accent color if omitted)
background: '#002b36' # Terminal background color
foreground: '#839496' # The foreground color
details: darker # Whether the theme is lighter or darker
terminal_colors: # Ansi escape colors
bright:
black: '#002b36'
blue: '#839496'
cyan: '#93a1a1'
green: '#586e75'
magenta: '#6c71c4'
red: '#cb4b16'
white: '#fdf6e3'
yellow: '#657b83'
normal:
black: '#073642'
blue: '#268bd2'
cyan: '#2aa198'
green: '#859900'
magenta: '#d33682'
red: '#dc322f'
white: '#eee8d5'
yellow: '#b58900'
  • name: Name for the theme, will show up in the Theme picker.
  • accent: Color used for highlights in Warp’s UI
  • cursor: Color for the input cursor (optional; defaults to accent color if omitted)
  • background: Color of background
  • foreground: Color of foreground
  • details: Color used for detailing options
    • darker: Color used for dark theme
    • lighter: Color used for light-mode theme
  • terminal_colors: Collection of normal & bright colors (16 total) known for other terminal themes (ANSI colors)

Automatically create new themes based on a background image. Click the + button in the theme picker Settings > Appearance > Themes or search Open Theme Picker within the Command Palette.

Browse Warp’s theme repository for ready-made themes, or use the in-app theme creator to generate the appropriate RGB values for your custom theme. Once the YAML file is created, you can edit the file to add the background images or gradients.

To add a background image you can use this attribute: background_image: with the name of the image you want to use as the background.

A .yaml config looks like this:

name: Custom Theme
accent: '#268bd2'
cursor: '#95D886'
background: '#002b36'
details: darker
foreground: '#839496'
############################################################### SEE BELOW
background_image:
# the path is relative to ~/.warp/themes/
# the full path to the picture is: ~/.warp/themes/warp.jpg
path: warp.jpg
# the opacity value is required and can range from 0-100
opacity: 60
############################################################### SEE ABOVE
terminal_colors:
bright:
black: '#002b36'
blue: '#839496'
cyan: '#93a1a1'
green: '#586e75'
magenta: '#6c71c4'
red: '#cb4b16'
white: '#fdf6e3'
yellow: '#657b83'
normal:
black: '#073642'
blue: '#268bd2'
cyan: '#2aa198'
green: '#859900'
magenta: '#d33682'
red: '#dc322f'
white: '#eee8d5'
yellow: '#b58900'

To set up a gradient, create a sublevel under accent with two key-value pairs:

  • “left” and “right” or
  • “top” and “bottom”.
accent:
top: '#abcdef'
bottom: '#fedcba'
accent:
left: '#abcdef'
right: '#fedcba'

Warp also supports setting a gradient for the background.

# accent has a gradient
accent:
left: '#474747'
right: '#ffffff'
# background has a gradient
background:
top: '#474747'
bottom: '#ffffff'

Contributions to this repo are greatly appreciated!

  1. Fork the project
  2. Create your branch with git checkout -b theme/AwesomeTheme
  3. Regenerate thumbnails
  4. Commit and open a pull request

Run this script to generate the thumbnails.

Terminal window
# Assuming you're adding the theme to the `standard` directory:
python3 ./scripts/gen_theme_previews.py standard

All other Warp-related things can be discussed, please contact us.

We’d like to call out a few of the open-source themes and repositories that helped bootstrap the set of themes for Warp: