📈 GH Trending Explorer 🎲 Surprise me

← all repos

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

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