Variable: claude-code-ide-ghostel-evil-escape

claude-code-ide-ghostel-evil-escape is a customizable variable defined in claude-code-ide.el.

Value

evil

Documentation

How insert-state ESC is routed in the ghostel backend's Claude buffers.

Applied per buffer via evil-ghostel--escape-mode, so it overrides the global evil-ghostel-escape default for Claude Code sessions only.

Claude Code runs as a full-screen TUI (alt-screen / DECSET 1049), so evil-ghostel-escapes default auto routes ESC to the terminal and never enters evil normal state. The default here is evil so ESC switches to normal state for editing the prompt; note that Claude then no longer receives ESC as its interrupt key.

Valid values match evil-ghostel-escape: auto, terminal, evil. Set to nil to leave the buffer at the global evil-ghostel-escape default. Has no effect unless the evil-ghostel package is loaded and the terminal backend is ghostel.

Source Code

;; Defined in /nix/store/yjvbhwl7p6zrbw9xlnni7y4hra8sa3pl-emacs-packages-deps/share/emacs/site-lisp/claude-code-ide.el
(defcustom claude-code-ide-ghostel-evil-escape 'evil
  "How insert-state ESC is routed in the ghostel backend's Claude buffers.
Applied per buffer via `evil-ghostel--escape-mode', so it overrides the
global `evil-ghostel-escape' default for Claude Code sessions only.

Claude Code runs as a full-screen TUI (alt-screen / DECSET 1049), so
`evil-ghostel-escape's default `auto' routes ESC to the terminal and
never enters evil normal state.  The default here is `evil' so ESC
switches to normal state for editing the prompt; note that Claude then
no longer receives ESC as its interrupt key.

Valid values match `evil-ghostel-escape': `auto', `terminal', `evil'.
Set to nil to leave the buffer at the global `evil-ghostel-escape'
default.  Has no effect unless the `evil-ghostel' package is loaded and
the terminal backend is `ghostel'."
  :type '(choice (const :tag "Evil (ESC enters normal state)" evil)
                 (const :tag "Terminal (ESC sent to Claude)" terminal)
                 (const :tag "Auto (alt-screen heuristic)" auto)
                 (const :tag "Leave global default" nil))
  :group 'claude-code-ide)