canido.dev
Projects/ghostty-org / ghostty

Ghostty

A terminal emulator with native apps for macOS and Linux

Get it on GitHub
Unclaimed

Built by @ghostty-org on GitHub. This page was written by @iluxav from public sources, last updated for v1.3.1 (2026-03-13), and may lag behind new releases.

Maintain Ghostty? Claim it
v1.3.1 / 2026-03-1316 things you can do6 changes to know before upgradingFollow (Atom feed)

Run a GPU-rendered terminal with native windows, tabs and splits on macOS and Linux, set up in a plain-text config file with built-in themes and shell integration.

What you can do with it

Run a terminal emulator with a native app on macOS (SwiftUI, Metal) and Linux (GTK, OpenGL).

Good to know

No Windows version; the README roadmap lists Windows terminals as not started.

Since v1.0.1

Open several windows, tabs and splits in one terminal app.

Since v1.0.1

Set fonts, colors, keybindings and window behavior in a plain-text config file.

Since v1.0.1

Switch the color scheme to a built-in theme, or one of your own in ~/.config/ghostty/themes, with the theme option.

Since v1.0.1

Get new tabs and splits that open in the current directory, prompt jumping and no close prompt at an idle shell, through automatic shell integration.

Good to know

Detected automatically for bash, elvish, fish and zsh; other shells need manual setup.

Since v1.0.1

Bind keys to Ghostty actions, including global shortcuts that work when Ghostty is not focused.

Good to know

Global keybinds do not work in every environment.

Since v1.0.1

Toggle a quick terminal that slides in from a screen edge or appears in the center.

Good to know

No default keybind. On Linux it needs a Wayland compositor that supports wlr-layer-shell.

Since v1.0.1

Choose server-side, client-side or no window decorations on Linux with window-decoration.

Good to know

Server-side decorations need a compositor that supports them.

Since v1.1.0
Show all 16

Run any keybind action by name from a command palette.

Since v1.2.0

Show an image behind the terminal text with background-image, with options for opacity, position, fit and repeat.

Since v1.2.0

See a native progress bar when a program reports progress with the OSC 9;4 sequence.

Since v1.2.0

Undo closing a window, tab or split within a set time.

Good to know

macOS; the time is set with undo-timeout.

Since v1.2.0

Search the scrollback from a search bar and step through the matches.

Since v1.3.1

Get a notification when a long command finishes, with notify-on-command-finish.

Good to know

Relies on shell integration to know when a command ends.

Since v1.3.1

Show a native scrollbar, set with the scrollbar option.

Since v1.3.1

Control Ghostty from AppleScript on macOS.

Good to know

macOS only; can be turned off with macos-applescript.

Since v1.3.1

Before you upgrade

Newest first
v1.3.12026-03-13

The default copy action now puts formatted text (plain plus rich) on the clipboard instead of plain text only.

Behavior changed
Read the evidence
v1.2.02025-09-15

Keybinds now use W3C key codes and the physical: prefix is removed; rewrite those keybinds with the W3C key code names.

Action requiredInferredAffects: Configs with keybinds that use the physical: prefix
Read the evidence
Show 3 older
Release history 6
v1.3.12026-03-13

Search the scrollback from a search bar.

Details

Scrollback search (Cmd+F on macOS, Ctrl+Shift+F on Linux); native scrollbars (scrollbar option); notifications when a command finishes; key tables for modal keybinds; click to move the cursor in prompts; AppleScript on macOS. Copying now puts formatted text on the clipboard by default, and Linux font hinting defaults to light. Groups v1.3.0 and v1.3.1.

Also: tab-inherit-working-directory and split-inherit-working-directory; set_tab_title and set_surface_title keybind actions; Unicode 17.

v1.3.1. Linux needs GTK 4.14 and libadwaita 1.5.

Added: Search the scrollback from a search bar and step th…Added / inferred: Get a notification when a long command finishes, wi…Added: Show a native scrollbar, set with the scrollbar opt…Improved: Bind keys to Ghostty actions, including global shor…Improved / inferred: Get new tabs and splits that open in the current di…Added: Control Ghostty from AppleScript on macOS.Behavior changed: Run a terminal emulator with a native app on macOS…Behavior changed: Set fonts, colors, keybindings and window behavior…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.2.32025-10-23

Keep Ghostty responsive when a program sends many color change or color query sequences.

Details

Fixes a deadlock that froze Ghostty on all platforms when programs emitted many color change or query operations.

v1.2.3.

Now works: Run a terminal emulator with a native app on macOS…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.2.22025-10-08

Keep the ghostty command reachable from your shell even when your shell config resets PATH.

Details

Shell integration adds GHOSTTY_BIN_DIR to PATH; mouse-scroll-multiplier takes separate values for precision (trackpad) and discrete (wheel) scrolling. Groups v1.2.1 and v1.2.2.

v1.2.2.

Improved: Get new tabs and splits that open in the current di…Improved: Set fonts, colors, keybindings and window behavior…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.2.02025-09-15

Run any keybind action by name from a command palette.

Details

Command palette (Ctrl+Shift+P on Linux, Cmd+Shift+P on macOS); background-image options; native progress bars for OSC 9;4; quick-terminal-size; the quick terminal on Wayland; global keybinds on GTK; FreeBSD support. Keybinds use W3C key codes and the physical: prefix is gone; libadwaita is required on Linux.

Also: Renamed options that still load: adw-toolbar-style is gtk-toolbar-style, gtk-tabs-location=hidden is window-show-tab-bar=never, selection/cursor-invert-fg-bg map to cell-foreground/cell-background colors, bold-is-bright maps to bold-color. Commands accept direct: and shell: prefixes.

v1.2.0. Linux needs libadwaita and OpenGL 4.3.

Added: Run any keybind action by name from a command palet…Added: Show an image behind the terminal text with backgro…Added: See a native progress bar when a program reports pr…Added: Undo closing a window, tab or split within a set ti…Improved: Toggle a quick terminal that slides in from a scree…Improved: Bind keys to Ghostty actions, including global shor…Action required / inferred: Bind keys to Ghostty actions, including global shor…Improved / inferred: Get new tabs and splits that open in the current di…Improved: Run a terminal emulator with a native app on macOS…Action required / inferred: Run a terminal emulator with a native app on macOS…Behavior changed: Set fonts, colors, keybindings and window behavior…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.1.02025-01-30

Let a Wayland compositor draw Ghostty's window borders and title bar on Linux.

Details

window-decoration accepts auto, server, client and none, and Ghostty follows the compositor's preference on Wayland. Keybinds can use the performable: prefix; macOS gets the alpha-blending option. background-blur-radius was renamed to background-blur (the old name still works).

Also: split-divider-color, gtk-custom-css, window-position-x/-y on macOS.

v1.1.0.

Added: Choose server-side, client-side or no window decora…Improved: Bind keys to Ghostty actions, including global shor…Behavior changed: Run a terminal emulator with a native app on macOS…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.0.12024-12-31
First release

Use a GPU-rendered terminal with native windows, tabs and splits on macOS and Linux.

Details

First public release (v1.0.0, with the v1.0.1 fixes): a SwiftUI app with a Metal renderer on macOS and a GTK app with OpenGL on Linux, configured in a plain-text config file.

Download from ghostty.org or distribution packages; macOS and Linux.

Added: Run a terminal emulator with a native app on macOS…Added: Open several windows, tabs and splits in one termin…Added: Set fonts, colors, keybindings and window behavior…Added: Switch the color scheme to a built-in theme, or one…Added: Get new tabs and splits that open in the current di…Added: Bind keys to Ghostty actions, including global shor…Added / inferred: Toggle a quick terminal that slides in from a scree…

Seeded by @iluxav with Claude Code (canido)

Read the evidence