Variable: ghostel-term

ghostel-term is a customizable variable defined in ghostel.el.

Value

"xterm-ghostty"

Documentation

Value of the TERM environment variable for ghostel processes.

The default "xterm-ghostty" advertises ghostel's capability set via the bundled terminfo entry: synchronized output (DEC 2026), Kitty keyboard protocol, true color, colored underlines, focus reporting, and more. Apps that key off these capabilities — Claude Code, modern TUIs, neovim, tmux — will use their fast paths. Notably, synchronized output eliminates choppy partial-redraw effects when Claude Code or similar TUIs repaint over a large scrollback.

OSC 52 clipboard is supported (ghostel-enable-osc52, off by default) but intentionally NOT advertised in the bundled terminfo, to avoid silent yank drops when the option is disabled.

Set to "xterm-256color" to fall back to a generic terminal. When ghostel-term is not "xterm-ghostty", the bundled terminfo and TERM_PROGRAM=ghostty are not advertised, so nothing claims to be Ghostty. This is also the right setting if outbound ssh from a ghostel buffer trips up on remote hosts that lack the xterm-ghostty terminfo entry.

Source Code

;; Defined in /nix/store/1252krff0gb2kisjcpp45m50cpdskfrl-emacs-packages-deps/share/emacs/site-lisp/ghostel.el
(defcustom ghostel-term "xterm-ghostty"
  "Value of the TERM environment variable for ghostel processes.

The default \"xterm-ghostty\" advertises ghostel's capability set via
the bundled terminfo entry: synchronized output (DEC 2026), Kitty
keyboard protocol, true color, colored underlines, focus reporting,
and more.  Apps that key off these capabilities — Claude Code, modern
TUIs, neovim, tmux — will use their fast paths.  Notably,
synchronized output eliminates choppy partial-redraw effects when
Claude Code or similar TUIs repaint over a large scrollback.

OSC 52 clipboard is supported (`ghostel-enable-osc52', off by
default) but intentionally NOT advertised in the bundled terminfo,
to avoid silent yank drops when the option is disabled.

Set to \"xterm-256color\" to fall back to a generic terminal.  When
`ghostel-term' is not \"xterm-ghostty\", the bundled terminfo and
`TERM_PROGRAM=ghostty' are not advertised, so nothing claims to be
Ghostty.  This is also the right setting if outbound `ssh' from a
ghostel buffer trips up on remote hosts that lack the xterm-ghostty
terminfo entry."
  :type '(choice (const :tag "Ghostty (recommended)" "xterm-ghostty")
                 (const :tag "Generic xterm-256color" "xterm-256color")
                 (string :tag "Other")))