Update to Ghostty 1.4 on macOS today, and on Linux once your system meets the new GTK requirement. The surprise: the project dropped its plan for a Windows app, so Windows users should stop waiting.
The short answer
- Released: October 27, 2026, after seven months of work by 172 contributors and 2,889 commits. It landed a month later than planned. Ghostty 1.5 is planned for March 2027.
- Update? Yes on macOS. Yes on Linux if you have GTK 4.18 and libadwaita 1.7. Not applicable on Windows, because there is no Ghostty app.
- Biggest gains: far less memory for idle scrollback, much faster parsing, and a ghostty +ssh wrapper.
- Security: the release fixes a paste-protection flaw, Kitty graphics bugs and more. Older versions carry them.
- Windows: the GUI roadmap is gone. The libghostty library still supports Windows.
- License: MIT.
Should you update?
| Platform | Verdict | Why |
|---|---|---|
| macOS | Update | You get every gain, including the hidden-tab GPU savings and faster launch. Check two settings first: copy on select and the cmd+arrow shortcuts. macOS 13 is still the minimum, and macOS 27 is supported. |
| Linux | Update if GTK 4.18 and libadwaita 1.7 are installed | 1.3 needed GTK 4.14 and libadwaita 1.5. Ubuntu 24.04 LTS falls short of the new bar. Use the Flatpak package or stay on an older Ghostty. |
| Windows | Nothing to install | There is no Ghostty app for Windows, and the project will not build one. |
The three gains that matter
1. Idle scrollback takes much less memory
Ghostty now compresses scrollback you are not looking at. Resident memory for typical text-heavy history drops 70% to 90% on macOS and 64-bit Linux. Virtual memory does not drop. The default scrollback limit also rose from 10 MB to 50 MB per terminal, so you can keep more history. Turn compression off with scrollback-compression if you want.
Tabs benefit too. On macOS, one visible tab plus 20 hidden ones cut GPU memory from about 385 MiB to 18 MiB. A new empty terminal needs about 16 KiB of page memory, down from 128 KiB in 1.3.1.
2. Output floods render faster
Plain ASCII parsing went from 128 MB/s to 725 MB/s, which is 5.7 times faster. CJK text is 3.4 times faster. A 150 MB cat dropped from 1.5 seconds to 566 milliseconds. On macOS, pty throughput rose 25% to 55% on an M4 Max, and launch is about 15% faster to a window. Kitty image parsing is about 16 times faster in a 64 MiB test on x86_64 Linux.
All of these figures are the project’s own measurements on specific hardware and workloads. The 70% to 90% figure covers idle scrollback only, not the whole app.
3. SSH sessions work without terminfo errors
Run ghostty +ssh in place of ssh. It installs Ghostty’s terminfo on the remote host so TERM=xterm-ghostty works, then runs the real ssh with your arguments unchanged. If the install fails, for example because tic is missing, it falls back to xterm-256color. It also forwards COLORTERM, TERM_PROGRAM and TERM_PROGRAM_VERSION.
To use it every time, add alias ssh=’ghostty +ssh –‘. Switch parts off with –terminfo=false or –forward-env=false, and add –verbose to see what it does.
The security fixes in plain words
- Paste protection missed carriage returns. A pasted text could run a command with no confirmation. You had to copy and paste the text yourself.
- Malicious Kitty graphics commands. They could crash or hang Ghostty, force huge allocations, or in limited cases read or delete files.
- Two tmux control mode crashes. Hostile output or a bad pane layout could close every window. Versions 1.3.0 and 1.3.1 were affected.
- Crafted directory names. With zsh shell integration, such a name could send arbitrary escape sequences, such as replacing your clipboard. bash was affected more narrowly.
- Screen clearing. Clearing into scrollback could corrupt memory, mainly with a small scrollback-limit.
- macOS only. Cmd-clicking a crafted link could open unsafe files or URL schemes. Dragged text could bypass paste protection. A file name with control characters could run a different command than the confirmation dialog showed.
The maintainer requested CVE numbers, but GitHub has not assigned them yet.
Breaking changes and the one-line fix
- Linux, GTK 4.18 and libadwaita 1.7 required. Fix: install the Flatpak package or keep an older Ghostty. The OpenGL minimum stays at 4.3.
- Copy on select takes new values: none, primary, clipboard or both. On macOS the default changed from true to none. Fix: set copy-on-select = primary to get 1.3 behavior back.
- macOS: cmd+arrow up and down run jump to prompt again. Fix: bind them to scroll_to_top and scroll_to_bottom. The cmd+home and cmd+end keys already scroll to the top and bottom.
- Linux: ctrl+shift+page up and page down now move tabs, and jump to prompt moved to ctrl+shift+arrow up and down. Fix: use =unbind to hand those keys back to your programs.
- scrollback-limit is now scrollback-limit-bytes. Fix: rename it when convenient. The old name still works for now. There is also a new scrollback-limit-lines; if you set both, the first limit reached applies.
Is there a Windows version of Ghostty?
No, and the project will not build one. The release notes say the team dropped any roadmap for Windows support in the Ghostty GUI.
What remains is libghostty, a library for building terminals. Its libghostty-vt part builds on macOS, Linux, Windows (MSVC and GNU), FreeBSD, Android, iOS and WebAssembly, and continuous integration tests each target. The notes tell downstream projects to use libghostty on Windows.
A library is not an app. The repository lists the Ghostty app for macOS (SwiftUI, Metal) and Linux (GTK, OpenGL). The libghostty C API is still work in progress and may break before a tagged release, though a 1.0 tag is expected soon. On Windows, pick a terminal built on libghostty or choose a different terminal.
Questions and answers
Will my copy-on-select behavior change?
On macOS, yes. The default moved from true to none, so selecting text no longer copies it. An explicit true now copies to the system clipboard. On Linux, true maps to primary, so it behaves as before. The value clipboard now means the system clipboard only; use both for the old two-target behavior.
Does Ubuntu 24.04 work?
Not with the native build. The notes say Ubuntu 24.04 LTS does not meet the GTK 4.18 and libadwaita 1.7 requirement. Install the Flatpak package or stay on an older Ghostty.
How do I run ssh with it?
Type ghostty +ssh user@host, or add alias ssh=’ghostty +ssh –‘ to your shell. Ghostty installs its terminfo on the remote host once per host and port, and reinstalls it after Ghostty updates.
Will my old scrollback-limit setting break?
No. The old name still works through a compatibility layer, though it is deprecated. Rename it to scrollback-limit-bytes at your leisure.
Can I use libghostty to build a Windows terminal?
Yes, that is the project’s advice for Windows. The libghostty-vt part builds for Windows with MSVC and GNU toolchains and is tested in CI. Expect API changes until the tagged release.
Terms in plain language
- Scrollback: the history of lines you can scroll up to.
- Resident memory: the RAM a program actually holds right now.
- Terminfo: a file that tells programs what a terminal supports.
- libghostty: a library that lets other apps embed Ghostty’s terminal engine.
- KiB and MiB: units of 1,024 bytes and 1,024 KiB. They are close to KB and MB but not identical.
- GHSA advisory: a published GitHub security notice about a bug.
Sources
- Ghostty 1.4.0 release notes (October 27, 2026)
- Ghostty repository on GitHub (license and supported platforms)
Facts read on 29 October 2026



