Terminal support
The Vibe CLI runs in any modern terminal emulator, but terminals don't all support the same features. When a terminal lacks a feature, Vibe keeps working and falls back to a simpler behavior. This page lists what Vibe uses, which terminals we recommend, and how to work around missing features.
Recommended terminals
We test Vibe most on these terminals and support them best, so we recommend them:
| Operating system | Terminal |
|---|---|
| macOS | Ghostty, Kitty |
| Linux | Ghostty, Kitty |
| Windows | Windows Terminal |
This isn't a full compatibility list. Vibe can work very well in other terminals too, but some features may behave differently. See Notes by environment for known differences.
Terminal features Vibe uses
| Feature | What Vibe uses it for | Without it |
|---|---|---|
| Enhanced keyboard reporting (Kitty keyboard protocol) | Tells Shift+Enter, Cmd shortcuts, and other modified keys apart from plain keys. | Shift+Enter submits instead of inserting a new line. Use Ctrl+J. |
| Mouse reporting | Clicking options and links, scrolling the chat, dragging the scrollbar, and selecting text. | Use the keyboard to navigate and Shift+Up or Shift+Down to scroll. |
| Clipboard access | Copying selections and /copy output. Vibe uses pbcopy on macOS, clip on Windows, and wl-copy, xclip, or xsel on Linux. Over SSH, it uses the OSC 52 escape sequence instead. | Copy fails. Select text with your terminal's native selection instead (see Select and copy text). |
| Focus reporting | Ringing the bell and updating the terminal title only when the terminal isn't focused. Pausing the cursor blink while unfocused. | Vibe can't tell when you switch away, so it doesn't send bell notifications. |
| Background color query (OSC 11) | Picking a light or dark theme when theme = "auto". | Vibe uses your OS light or dark setting. Pick a theme with /theme. |
| 24-bit color | Rendering themes and syntax highlighting in full color. Vibe enables it when COLORTERM is truecolor or 24bit, and always on Windows. | Vibe falls back to the 256-color palette. |
| Bracketed paste | Pasting multiline text as one message. | Each pasted line can be sent as a separate message. On Windows, where this feature isn't available, Vibe groups fast keystrokes into one paste instead. |
Notes by environment
macOS Terminal and iTerm2
- Neither terminal enables enhanced keyboard reporting, so
Shift+Entersubmits the message. PressCtrl+Jto insert a new line. - In iTerm2, hold
Optionwhile dragging to use iTerm2's own selection instead of Vibe's.
WezTerm
WezTerm doesn't enable enhanced keyboard reporting by default, so Shift+Enter submits the message. Press Ctrl+J to insert a new line.
GNOME Terminal and other VTE-based terminals
- Install
wl-copy(Wayland),xclip, orxselso Vibe can copy to the clipboard. - These terminals ignore OSC 52, so copying from Vibe over SSH doesn't reach your local clipboard. Use
Shiftand drag to select with the terminal instead.
Windows
- Run Vibe in Windows Terminal. Other Windows consoles, such as Git Bash's default window (mintty), may not handle every key.
- Image paste and
/paste-imageare macOS only.
tmux, screen, and Zellij
- Vibe runs in the alternate screen, so the multiplexer's scrollback and copy mode don't contain the conversation. Scroll inside Vibe with the mouse wheel or
Shift+UpandShift+Down. - Vibe skips background color detection inside a multiplexer and uses your OS setting. Pick a theme with
/themeif it doesn't match. - To copy to your local clipboard from tmux, especially over SSH, enable OSC 52 forwarding with
set -g set-clipboard onin~/.tmux.conf. - tmux may not forward
COLORTERM. If colors look washed out, setCOLORTERM=truecolorbefore running Vibe. - Some modified keys don't pass through every multiplexer. Use the alternative shortcuts in Commands and shortcuts, such as
Ctrl+Jfor a new line.
SSH sessions
Over SSH, Vibe copies through OSC 52 instead of a local clipboard tool. Your local terminal must support OSC 52 for copied text to reach your clipboard.
IDE terminals
Terminals built into VS Code, Cursor, and JetBrains IDEs can keep some shortcuts for the editor, so the key never reaches Vibe. Use the alternative shortcuts in Commands and shortcuts, or change the IDE's terminal keybindings.
Select and copy text
Vibe captures the mouse, so dragging selects text in Vibe and copies it when you release the button. Set autocopy_to_clipboard = false to turn off automatic copying.
To use your terminal's native selection instead, hold a modifier while dragging:
Shiftin most terminals, including Ghostty, Kitty, WezTerm, GNOME Terminal, and Windows Terminal.Optionin iTerm2.
Right-click paste may not work while Vibe captures the mouse. Paste with your terminal's keyboard shortcut instead, such as Cmd+V or Ctrl+Shift+V.
See Commands and shortcuts for the full list of shortcuts, and the Configuration reference for the settings mentioned on this page.
Report a terminal issue
If a key or display problem persists, open an issue and include:
- The terminal name and version.
- Your operating system.
- Whether you run Vibe inside tmux, screen, Zellij, an SSH session, or an IDE terminal.
- The output of
vibe --version.