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")))