---
title: "Terminal Compatibility"
description: "Supported terminals and recommendations for the best Devin CLI experience"
icon: "display"
---

Devin CLI works across a wide range of terminal emulators, but some terminals offer a better experience than others. This page covers compatibility levels, recommendations, and configuration tips.

---

## Compatibility Overview

Terminals are grouped into three tiers based on their feature support:

### Fully Supported (all features work)

These terminals support the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/), which enables reliable detection of key combinations like `Shift+Enter` for multi-line input.

| Terminal | Platform | Notes |
| --- | --- | --- |
| [Kitty](https://sw.kovidgoyal.net/kitty/) | macOS†, Linux | Recommended for power users. Used by the developers of Devin CLI. |
| [Ghostty](https://ghostty.org/) | macOS†, Linux | Recommended for power users. Used by the developers of Devin CLI. |
| [WezTerm](https://wezfurlong.org/wezterm/) | macOS†, Linux, Windows | Recommended for power users. |
| [iTerm2](https://iterm2.com/) | macOS† | Recommended for most users. Version 3.5\+ required for best support. |
| [Windows Terminal](https://aka.ms/terminal) | Windows | Recommended for most users. 1.25 or higher required for best support. |

### Supported (some features limited)

These terminals work with Devin CLI but are not ideal because they do not support the Kitty keyboard protocol. For example, `Shift+Enter` will not insert a newline — use `Alt+Enter` or `Ctrl+J` instead.

| Terminal | Platform | Notes |
| --- | --- | --- |
| [Terminal.app](https://support.apple.com/guide/terminal/welcome/mac) | macOS† | Built-in macOS terminal. Requires [Option-as-Meta configuration](#configuring-option-as-meta-on-macos) for `Alt` shortcuts. |
| Git Bash | Windows | Included with [Git for Windows](https://git-scm.com/download/win). |
| DEC VT100 | Various | Set terminal mode to `legacy` in `/config`. |
| Generic ANSI terminals | Various | Any terminal with basic ANSI escape code support. |
| [Alacritty](https://alacritty.org/) | macOS†, Linux, Windows | Strongly discouraged / not recommended for best performance. |

† On macOS, we recommend [configuring Option as Meta](#configuring-option-as-meta-on-macos) for the best experience with `Alt`-based shortcuts.

<Note>
  On macOS terminals that have not been configured for Option-as-Meta, `Alt` (Option) shortcuts like `Alt+Enter` for multi-line input won't work. See [Configuring Option-as-Meta on macOS](#configuring-option-as-meta-on-macos) below.
</Note>

### Unsupported

These terminals are not supported and may exhibit significant issues. We highly recommend switching to a supported terminal.

| Terminal | Platform | Notes |
| --- | --- | --- |
| cmd.exe (conhost) | Windows | Legacy Windows command prompt. Use [Windows Terminal](https://aka.ms/terminal) instead. |

---

## Recommendations

| Platform | Recommendation |
| --- | --- |
| **Windows** | [Windows Terminal](https://aka.ms/terminal) 1.25 or higher |
| **macOS** (general) | [iTerm2](https://iterm2.com/) |
| **macOS / Linux** (power users) | [Kitty](https://sw.kovidgoyal.net/kitty/), [Ghostty](https://ghostty.org/), or [WezTerm](https://wezfurlong.org/wezterm/) |

---

## Configuring Option-as-Meta on macOS

On macOS, the Option key is used as a compose key by default in most terminals, which means `Alt`-based shortcuts (like `Alt+Enter` for multi-line input or `Alt+T` for cycling thinking level) won't work until you configure the terminal to treat Option as Meta/Alt.

<AccordionGroup>
  <Accordion title="iTerm2">
    1. Open **iTerm2 \> Settings** (or press `Cmd+,`)
    2. Go to **Profiles \> Keys \> General**
    3. Set **Left Option Key** to **Esc\+**
    4. Optionally set **Right Option Key** to **Esc\+** as well

    [iTerm2 documentation](https://iterm2.com/documentation-preferences-profiles-keys.html)
  </Accordion>

  <Accordion title="Terminal.app">
    1. Open **Terminal \> Settings** (or press `Cmd+,`)
    2. Go to **Profiles** and select your active profile
    3. Click the **Keyboard** tab
    4. Check **Use Option as Meta Key**

    [Apple documentation](https://support.apple.com/guide/terminal/change-profiles-keyboard-settings-trmlkbrd/mac)
  </Accordion>

  <Accordion title="Alacritty">
    Add the following to your `alacritty.toml` configuration file:

    ```toml
    [keyboard]
    option_as_alt = "Both"
    ```

    [Alacritty configuration reference](https://alacritty.org/config-alacritty.html)
  </Accordion>

  <Accordion title="Kitty">
    Add the following to your `kitty.conf` configuration file:

    ```text
    macos_option_as_alt yes
    ```

    Restart Kitty after making this change.

    [Kitty documentation](https://sw.kovidgoyal.net/kitty/conf/#opt-kitty.macos_option_as_alt)
  </Accordion>

  <Accordion title="Ghostty">
    Add the following to your Ghostty configuration file:

    ```text
    macos-option-as-alt = true
    ```

    Restart Ghostty after making this change.

    [Ghostty documentation](https://ghostty.org/docs/config/reference#macos-option-as-alt)
  </Accordion>

  <Accordion title="WezTerm">
    Add the following to your `~/.wezterm.lua` configuration file:

    ```lua
    config.send_composed_key_when_left_alt_is_pressed = false
    config.send_composed_key_when_right_alt_is_pressed = false
    ```

    [WezTerm documentation](https://wezfurlong.org/wezterm/config/lua/config/send_composed_key_when_left_alt_is_pressed.html)
  </Accordion>
</AccordionGroup>
