# Alacritty: no tabs by design, and a clipboard dependency pinned to a fork

> Alacritty is a cross-platform OpenGL terminal emulator in Rust that refuses to grow tabs, splits or a GUI editor, and its README is unusually candid about the one benchmark its speed claim rests on. The build files add two facts an adopter should know: the x11-clipboard dependency is patched to an unmerged fork commit, and the newest tag is v0.17.0 from April while master moved in August.

**alacritty/alacritty** — A cross-platform, OpenGL terminal emulator. Alacritty - A fast, cross-platform, OpenGL terminal emulator About Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration.

- Repository: https://github.com/alacritty/alacritty
- Website: https://alacritty.org
- Stars: 65,820 · Forks: 3,625
- Language: Rust
- License: Apache-2.0
- Published: 2026-08-08 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/alacritty-alacritty

## The speed claim covers text throughput and nothing else

The FAQ answers the question it expects, and the answer is narrower than the marketing. Benchmarking terminal emulators is complicated, so Alacritty uses vtebench to quantify throughput and says it consistently scores better than the competition with that tool. Latency, framerate and frame consistency are described as more difficult to quantify, and the README adds that some terminal emulators intentionally slow down to save resources, which might be preferred by some users. What that leaves is a benchmark that measures how fast text scrolls, and a user who lives in a full-screen TUI, scrolls a million lines of log, or watches a progress bar redraw is measuring something the number does not cover. The README's own conclusion is the right one: test terminal emulators with your specific use cases.

## No tabs, no splits, no GUI config editor, and that is the answer

Ask why a feature is missing and the README has a prepared paragraph. Alacritty has many features but not every feature from every other terminal, sometimes because it is not a good fit, and you will not find tabs or splits, which are best left to a window manager or a terminal multiplexer such as tmux, nor niceties like a GUI config editor. That is a defensible scope decision and it has a direct consequence for anyone arriving from a terminal that ships tabs: the work does not disappear, it moves to another program, and session restore, window layout and scrollback of long-running jobs become tmux's job. A user who wants one window to do everything has to change what they expect from the terminal, and the version number does not change that.

## Five config paths, and Alacritty will not create the file

Alacritty does not create the config file for you, so the first thing you do to change anything is write a TOML file. It looks in five locations, in this order: $XDG_CONFIG_HOME/alacritty/alacritty.toml, $XDG_CONFIG_HOME/alacritty.toml, $HOME/.config/alacritty/alacritty.toml, $HOME/.alacritty.toml, and /etc/alacritty/alacritty.toml. On Windows the search is %APPDATA%\alacritty\alacritty.toml. The last entry is the machine-wide path, which means a machine administrator can set defaults below every user's home directory, and a packaged system install that drops a file there changes behaviour for everyone without touching a dotfile. The documentation for the keys lives in the man page, man 5 alacritty, with the same content on the project website, so an install that skipped the man pages leaves you reading the web copy.

## OpenGL ES 2.0 and ConPTY are the requirements that matter

Two requirements decide whether the thing runs, and neither is about your package manager. The first is at least OpenGL ES 2.0, which is a rendering requirement answered by the graphics stack rather than by the build, so the machines that decide this are the ones with a software or absent GL path, not the ones with a missing library in the manifest. The second is Windows specific: ConPTY support, meaning Windows 10 version 1809 or higher. That floor matters for anyone with a corporate image or a lab machine pinned below it, because the failure appears as an emulator that will not start rather than as an install error, and the supported platform list of BSD, Linux, macOS and Windows says nothing about versions. Plan the check before the rollout, not after the first machine refuses to launch.

## v0.17.0 is from April and master moved in August

The release record and the commit record are months apart. Published releases are v0.17.0 on 2026-04-06, after v0.17.0-rc2 on 2026-04-02 and v0.17.0-rc1 on 2026-03-21, and the last push to the repository was on 2026-08-31 with the project not archived. So roughly five months of work exist on master that no tag covers, and a distribution package built from the newest tag is running different code from anyone who clones and builds. The version number adds its own signal: 0.17.0 is a pre-1.0 number, and the README describes the software as being at a beta level of readiness with a few missing features and bugs to be fixed, while also noting it is already used by many as a daily driver. Both statements are true at once, and the practical reading is that upgrades may change behaviour.

## x11-clipboard is patched to a fork commit with a TODO on it

One line in Cargo.toml deserves a second look:

```toml
[patch.crates-io]
x11-clipboard = { git = "https://github.com/quininer/x11-clipboard.git", rev = "19ab2163cf0bd0db607e827a5214571990307866" }
```

The comment above it says the patch exists to validate a fix for issue 6978 and should be removed before the next release in favour of the released x11-clipboard crate. Until then, every build of this tree resolves the clipboard library from a git repository at a fixed commit rather than from crates.io, which has three consequences: a vendored or offline build needs access to that repository, a lock file alone does not reproduce the build, and clipboard behaviour on X11 depends on code that upstream has not released. It is also a reminder of what this component is for, since the X11 clipboard path is Linux specific and Wayland sessions take a different route.

## The Makefile is the packaging spec, man pages included

The build file spells out what a distribution has to ship, and documentation is part of it. Man pages are generated from extra/man for alacritty, alacritty-msg, the configuration section alacritty.5, alacritty-bindings.5 and alacritty-escapes.7, terminfo lives in extra/alacritty.info, and shell completions are assembled for zsh through _alacritty plus alacritty.bash and alacritty.fish. The macOS path builds Alacritty.app and Alacritty.dmg, including a universal binary produced with lipo from an x86_64-apple-darwin build and an aarch64-apple-darwin build, each compiled with:

```bash
MACOSX_DEPLOYMENT_TARGET="10.12" cargo build --release
```

That deployment target is why a current build still runs on old macOS releases, and it is a deliberate choice rather than an accident of the toolchain. The consequence for packagers is that a minimal install which drops the binary and skips extra/ loses the configuration reference, the escape sequences page and the completions along with it.

## Four crates, thin LTO, and debug info kept in release

The workspace is four members, alacritty, alacritty_terminal, alacritty_config and alacritty_config_derive, with edition 2024 and rust-version 1.85.0 as the floor for building from source. The config derive crate is how a typed TOML configuration is produced, which is why the config file is TOML with a generated schema rather than free-form key values. The release profile is where the interesting trade sits: lto = "thin", debug = 1 and incremental = false. Keeping debug = 1 in a release build costs binary size and buys readable backtraces, so a crash report from a packaged build can name the source line. Turning incremental compilation off slows local rebuilds, which is a cost contributors pay and users never see. CI lives in a .builds directory, with Cargo.lock committed at the top level, and dependencies are just toml and toml_edit at the workspace level.

## Conclusion

Adopt Alacritty if you want a terminal that renders through OpenGL, composes with tmux or a window manager instead of duplicating them, and can live with a 0.x version labelled beta. Do not expect tabs, splits, a GUI editor, or a speed claim that covers latency and frame consistency, because the README limits the benchmark to text throughput. Before you build from source, note that Cargo.toml patches x11-clipboard to a specific fork commit pending validation of issue 6978, and that the newest release is v0.17.0 from 2026-04-06 while the last push was 2026-08-31, so master and any packaged build differ.

## FAQ

### What is Alacritty used for?

Alacritty is a cross-platform OpenGL terminal emulator for BSD, Linux, macOS and Windows, and it integrates with other applications rather than reimplementing them. Tabs and splits are deliberately absent, so the README points to a window manager or a terminal multiplexer such as tmux for those.

### Is Alacritty deprecated?

The repository is not archived, the last push was on 2026-08-31, and the newest release is v0.17.0 from 2026-04-06 after two release candidates. The README still describes the software as being at a beta level of readiness, with a few missing features and bugs to be fixed.

### How do I install Alacritty on mac?

Prebuilt binaries for macOS are available from the GitHub releases page, and Alacritty can also be installed through a package manager, with detailed instructions in INSTALL.md for everyone else. The requirement is at least OpenGL ES 2.0, and the Makefile builds a universal binary with a macOS deployment target of 10.12.

### How do I install alacritty on windows?

Prebuilt binaries for Windows are on the GitHub releases page, and package managers are also supported. Windows additionally requires ConPTY support, which the README pins to Windows 10 version 1809 or higher, and the config file on that platform is looked for at %APPDATA%\alacritty\alacritty.toml.

### How do I access alacritty settings?

Alacritty does not create a config file for you, and it looks for alacritty.toml in five places, from $XDG_CONFIG_HOME/alacritty/alacritty.toml and $HOME/.alacritty.toml through the machine-wide /etc/alacritty/alacritty.toml. The key reference ships as the man page man 5 alacritty, and the same text is on the project website.

## Sources

- [Official documentation](https://alacritty.org)
- [Official README](https://github.com/alacritty/alacritty#readme)
- [Project repository](https://github.com/alacritty/alacritty)
- [Release notes](https://github.com/alacritty/alacritty/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/alacritty-alacritty
