dakra / ghostel
git clone https://github.com/dakra/ghostel.git
v0.59.0 · 1d ago
🔥 on GitHub Trending today
Terminal emulator powered by libghostty
+3
stars, 24h · #466
+23
stars, 7 days · #1,525
—
stars, 30 days
1.0k
★ total · +2% this week
64
forks · 15 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageEmacs Lisp
LicenseGPL-3.0
Created2026-03-30 (6mo ago)
Last push1d ago
Watchers11
OwnerUser
Seen on GitHub Trending
- 2026-10-20 — #8 daily in emacs-lisp · +3 ★
- 2026-10-20 — #2 weekly in emacs-lisp · +23 ★
Links
- GitHub: github.com/dakra/ghostel
- Releases · Issues · Hacker News mentions
README excerpt
# Ghostel **Ghostel** is a terminal emulator for Emacs powered by libghostty-vt, the VT engine behind the Ghostty terminal. It aims to be featureful, fast, robust and correct. Ghostel's features include synchronized output, true color, the Kitty keyboard and graphics protocols, hyperlinks, desktop notifications, progress reports and a lot more. Shell integration (directory tracking, prompt navigation) all works out of the box for bash, zsh, fish and nushell. Check the documentation for a full list of features or how it compares to vterm or eat. | | | |:--:|:--:| | | | | `btop`: true color and full TUI rendering | `yazi`: inline image preview via the Kitty graphics | ## Quick Start **Requirements:** Emacs 28.1+ with dynamic module support, on macOS, Linux, FreeBSD, Android/Termux, or native Windows. On first use Ghostel **offers to download a prebuilt native module**. No toolchain or build step required. Windows release binaries are built for common native Windows Emacs builds on x86_64 and aarch64. Releases include optional ConPTY support files from Microsoft's redistributable console runtime, which can improve latency and correctness compared with older inbox Windows ConPTY versions. Install from MELPA: [code] Then `M-x ghostel` to open a terminal. That's it. See installation for different installation instructions. ## A fuller example This example shows more features and how you can add custom keybindings or custom functions that interact with the Ghostel buffer. [code] Now you can `C-x m` to open a Ghostel buffer, or you can switch to a project (`C-x p p`) and then press `m` to open a Ghostel buffer in this project. In a project you can press `C-x p M` to get a list of Ghostel buffers running in the current project that you can switch to. ## Extensions These ship with the Ghostel package, no separate install necessary. Just enable what you want: Make `eshell-visual-commands` run in a Ghostel buffer. [code] Run all `compile` commands in a Ghostel buffer. [code] Replace `async-shell-command` with a Ghostel version. [code] Replace comint's built-in `ansi-color-process-output` with Ghostel's VT parser. [code] Add a `ghostel:` Org link type. [code] If you use an Emacs Lisp input method (Korean Hangul, Japanese, Chinese, or any other Quail-based method), add Ghostel support: [code] ## Consult Pick a Ghostel terminal via consult with live preview (and create-on-miss) with the consult-ghostel extension; with a prefix argument the pickers behave like `ghostel` / `ghostel-project` (`C-u` creates a new terminal): [code] `consult-ghostel-history` picks from the shell's own command history and types the selection into the terminal, replacing what's already on the command line. The history is retrieved per shell (bash, zsh, fish, and nushell work out of the box); users of a history manager can point their shell's entry in `ghostel-shell-history-commands` at it, e.g. for atuin: [code] `consult-ghostel-mode` adds a `Ghostel` group to `cons