otter-term is Otter Shell’s built-in terminal emulator. It uses libghostty-vt for terminal emulation and Otter libraries for Wayland windowing, PTY handling, input, rendering, configuration, and clipboard. Tabs, horizontal and vertical splits, shell integration via OSC sequences, and IME support. No X11 dependency.
Launching
Pass a directory path to open there, or use-e to run a command instead of your default shell.
Features
Tabs
Multiple terminal tabs in one window. Close buttons appear per tab and hide when only one tab remains.
Split Panes
Split any tab horizontally or vertically. Each pane has its own focus, resizes independently, and closes without affecting the others.
Shell Integration
OSC 7 tracks the current working directory so new tabs and splits open in the right place. OSC 133 captures command output for the context menu.
URL Handling
http://, https://, and www. URLs are detected, underlined on hover, and opened with a configurable command (default: xdg-open).IME Support
Full
zwp_text_input_v3 support with preedit text display and candidate-window positioning at the terminal cursor.Clipboard
Copy with Ctrl+Shift+C and paste with Ctrl+Shift+V. Primary selection and a right-click context menu are also supported.
Scrollback
Configurable scrollback. Idle panes compress history so big buffers cost less memory.
Configuration
otter-term reads ~/.config/otter-shell/otter-term.conf. The file loads on startup and hot-reloads whenever you save it. Font, padding, and grid size update without restarting the terminal.
Shared colors in theme.conf hot-reload too. otter-theme-gen and otter-settings write that file; saving it updates open terminal panes.
general_shell = "" uses $SHELL, falling back to /bin/sh if unset. The default general_term value xterm-256color works best for remote hosts over SSH. Only set it to xterm-ghostty when the target host has that terminfo entry installed.Color Palette
The color palette usescolors_* keys in otter-term.conf, or inherits from theme.conf when those keys are unset. Palette changes hot-reload on save. Per-app keys in otter-term.conf override the shared theme.

