> For the complete documentation index, see [llms.txt](/llms.txt).
> Markdown versions of each page are available by appending .md to any URL.

# Launch Configurations (Legacy)

Launch Configurations (Legacy) let you save a configuration of windows, tabs, and panes. For new setups, use Tab Configs instead.

Caution

Launch Configurations have been replaced by [Tab Configs](/terminal/windows/tab-configs/). Existing Launch Configurations continue to work, but new features are not being added. For new setups, use [Tab Configs](/terminal/windows/tab-configs/).

## What is it

You can create Launch Configurations in the app or by adding a YAML file.

## Creating a Launch Configuration

### From the UI

1.  Set up the configuration of windows, tabs, and panes you would like to save.
2.  Open the [Command Palette](/terminal/command-palette/), and type in `Save New Launch Configuration`.
3.  Name the configuration file. The name field cannot be empty.
4.  Click the Save configuration button.

Warp saves each tab group’s name, color, collapsed and pinned states, and tab membership.

### With a YAML File

-   Launch Configurations files are generated when you create them with the UI and can also be created or modified manually.
-   See [Launch Configuration YAML file locations, format, and examples](/terminal/sessions/launch-configurations/#launch-configuration-yaml-format).

## Using a Launch Configuration

-   [macOS](#tab-panel-829)
-   [Windows](#tab-panel-830)
-   [Linux](#tab-panel-831)

-   From the [Command Palette](/terminal/command-palette/), enter `Launch Configuration` to open and select Launch Configuration.
-   Right-clicking the new Tab **+** button to open a menu and select saved Launch Configuration.
-   From the macOS menu bar, **File** > **Launch Configurations**, where you can search through and open your saved Launch Configuration.
    -   Single-window launch configs can be launched into the active window from the launch configuration palette using `⌘+Enter` on macOS.

-   From the [Command Palette](/terminal/command-palette/), enter `Launch Configuration` to open and select Launch Configuration.
-   Right-clicking the new Tab **+** button to open a menu and select saved Launch Configuration.
    -   Single-window launch configs can be launched into the active window from the launch configuration palette using `Ctrl+Enter` on Windows.

To open a WSL tab with a Launch Configuration, you must first set WSL as your default shell in Warp:

-   Go to **Settings** > **Features** > **Session** > **Startup shell for new sessions**.
-   Select your desired WSL distribution (e.g., Ubuntu) as the default shell.

After this, any Launch Configuration you open will use WSL as the shell.

-   From the [Command Palette](/terminal/command-palette/), enter `Launch Configuration` to open and select Launch Configuration.
-   Right-clicking the new Tab **+** button to open a menu and select saved Launch Configuration.
    -   Single-window launch configs can be launched into the active window from the launch configuration palette using `Ctrl+Enter` on Linux.

Tip

**Terminal Tip**  
You can open saved Launch Configurations via Alfred Workflow or [Raycast](/terminal/integrations-and-plugins/#raycast) Extension. See Joe Tannenbaum’s guide to [opening Warp Launch Configurations from Raycast and Alfred](https://blog.joe.codes/open-warp-launch-configurations-from-raycast-and-alfred). Credit to [@joetannenbaum](https://twitter.com/joetannenbaum/status/1633538768866009115)

## How it works

## Launch Configuration YAML format

All Launch Configuration yaml files are stored in the following location:

-   [macOS](#tab-panel-832)
-   [Windows](#tab-panel-833)
-   [Linux](#tab-panel-834)

```bash
$HOME/.warp/launch_configurations/
```

```powershell
$env:APPDATA\warp\Warp\data\launch_configurations\
```

```bash
${XDG_DATA_HOME:-$HOME/.local/share}/warp-terminal/launch_configurations/
```

Caution

The `cwd:` value in the yaml code must contain an absolute path or `""`. Note that `~` or empty paths will result in the file not being visible on the list of options for Launch Configurations.

### Windows

Sample configuration that shows how windows are structured in launch configuration files.

```yaml
# Warp Launch Configuration
#
# This configuration has two windows,
# each with one tab in different starting directories.

---
name: Example Windows
windows:
  - tabs:
      - title: Documents
        layout:
          cwd: /Users/warp-user/Documents
        color: blue
  - tabs:
      - title: Warp User
        layout:
          cwd: /Users/warp-user
        color: green
```

### Tabs

Here’s a sample configuration that shows how tabs are structured in launch configuration files.

-   Use the `title` field to set a custom tab name
-   Use the `color` field to set the tab color
    -   We currently support using the terminal colors (ANSI colors):
        
        `Red | Green | Yellow | Blue | Magenta | Cyan`
        
        The actual color values will be automatically derived from your Warp theme
        

```yaml
# Warp Launch Configuration
#
# This configuration has two tabs in the same window.

---
name: Example Tabs
windows:
  - tabs:
      - title: Documents
        layout:
          cwd: /Users/warp-user/Documents
        color: blue
      - title: Warp User
        layout:
          cwd: /Users/warp-user
        color: green
```

### Tab groups

Use `tab_groups` on a window to define groups. Set `group` on each tab to the zero-based position of its group in the `tab_groups` list. Tabs without `group` open outside a group.

Each tab group supports:

-   **`name`** - The group name.
-   **`color`** - One of `black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan`, or `white`.
-   **`collapsed`** - Whether the group opens collapsed. Defaults to `false`.
-   **`pinned`** - Whether the group opens pinned. Defaults to `false`.

```yaml title="grouped-development.yaml"
---
name: Grouped development
windows:
  - tabs:
      - title: API
        layout:
          cwd: /Users/warp-user/Projects/api
        group: 0
      - title: Tests
        layout:
          cwd: /Users/warp-user/Projects/api
          commands:
            - exec: npm test
        group: 0
      - title: Notes
        layout:
          cwd: /Users/warp-user/Documents
    tab_groups:
      - name: Backend
        color: blue
        collapsed: false
        pinned: false
```

Tabs in the same group must be adjacent in the `tabs` list. Warp opens a tab outside a group when its `group` index does not exist or when the same group appears again after a different group or ungrouped tab. Warp does not create groups without member tabs.

### Panes

Launch Configurations support setting split panes in each tab. Note that Warp also supports nesting split panes in launch configuration files.

```yaml
# Warp Launch Configuration
#
# This configuration is two windows, each with split panes.
# The first window contains a vertically split tab with two panes.
# The second window contains a horizontally split tab,
# with a vertically split tab on the right.

---
name: Example Panes
windows:
  - tabs:
      - title: Downloads and Warp User
        layout:
          split_direction: vertical
          panes:
            - cwd: /Users/warp-user/Downloads
            - cwd: /Users/warp-user
        color: blue
  - tabs:
      - title: Desktop, Documents, and Warp User
        layout:
          split_direction: horizontal
          panes:
            - cwd: /Users/warp-user/Desktop
            - split_direction: vertical
              panes:
                - cwd: /Users/warp-user/Documents
                - cwd: /Users/warp-user
        color: green
```

### Active and Focus

Sample configuration that shows how a Window and Tab can be activated with a session in focus.

-   Use the `active_window_index` and `active_tab_index` fields to set your active Window and Tab.
-   Use the `is_focused` field to set which Pane is focused in each tab.

Caution

Note that when you use `- active_tab_index:` the `tabs:` field doesn’t need the `-` prefix, as this can cause syntax issues.

```yaml
# Warp Launch Configuration
#
# This configuration has two tabs, with the second tab active.
# Two vertical split panes in the first tab and the top pane focused.
# Two horizontal split panes in the second tab and the right pane focused.
---
name: Example Active and Focus
active_window_index: 0
windows:
  - active_tab_index: 1
    tabs:
      - title: Tab 1
        layout:
          split_direction: vertical
          panes:
            - cwd: /Users/warp-user/Documents
              is_focused: true
            - cwd: /Users/warp-user/Documents/Projects
      - title: Tab 2
        layout:
          split_direction: horizontal
          panes:
            - cwd: /Users/warp-user/Downloads
            - cwd: /Users/warp-user
              is_focused: true
```

### Commands

Use the `commands` field to define a set of commands to run when a launch configuration is run.

Caution

You may need to use double quotes for commands with special characters. Commands in separate lines are chained together with `&&` when run, as such commands run after `ssh` commands may not execute.

```yaml
# Warp Launch Configuration
#
# This configuration has two windows,
# the first window executes two commands on start,
# the second window has a split pane that executes a command on start.

---
name: Example Commands
windows:
  - tabs:
      - title: Documents
        layout:
          cwd: /Users/warp-user/Documents
          commands:
            - exec: ls
            - exec: code .
        color: blue
  - tabs:
      - title: Downloads
        layout:
          split_direction: vertical
          panes:
            - cwd: /Users/warp-user/Downloads
              commands:
                - exec: curl http://example.com -o my.file
                - exec: cp my.file my.file2
            - cwd: /Users/warp-user
              commands:
                - exec: ssh user@remote.server.com
        color: green
```
