Product definition

What is WezTerm?

WezTerm is a terminal emulator that also does the job of a terminal multiplexer, so splitting a window into panes, opening tabs and attaching to a session that survives disconnection are all built in rather than delegated to a separate program. It renders through the GPU, is written in Rust, and runs on Linux, macOS, Windows, FreeBSD and NetBSD. The multiplexer can be reached over SSH or over TLS on TCP/IP, which means a session can be started on one machine and joined from another. It is configured through a Lua file that reloads without restarting, and it implements the iTerm2 and Kitty image protocols plus experimental Sixel graphics. It is free, MIT-licensed, and suits people who live in a terminal and want one program instead of two.

Verified product facts

Type
terminal emulatorEditorially reviewed
Platform
macOS
Apple Silicon
YesDerived
Pricing
Open sourceDeveloper-stated
Open source
Yes
Developer
Wez FurlongDeveloper-stated
Relationship to Nuanyue
Third-party product — not published by NuanyueEditorially reviewed
Licence
MIT
Current version
20240203-110809Developer-stated
Official website
wezterm.org/

Last updated . Facts marked developer-stated come from the developer and are not independently confirmed; editorially reviewed marks a Nuanyue judgement.

Key features

What WezTerm does at a glance.

  • Runs on Linux, macOS, Windows 10, FreeBSD and NetBSD

  • Multiplexes panes, tabs and windows

    On local and remote hosts, with native mouse and scrollback

  • Ligatures, colour emoji and font fallback

    With true colour and dynamic colour schemes

  • Hyperlinks

    In terminal output

  • Searchable scrollback, reachable

    With the mouse wheel or a keyboard shortcut

  • Renders underline, double underline, italic, bold and strikethrough

  • Configuration file

    With hot reloading, so changes apply without a restart

  • Multiple windows, horizontal and vertical splits, and tabs

  • Built-in SSH client

    With native tabs

  • Connects to serial ports

    For embedded and Arduino work

  • Connects to a local multiplexer server

    Over unix domain sockets

  • Connects to a remote multiplexer

    Over SSH, or over TLS on TCP/IP

  • iTerm2-compatible image protocol and a built-in imgcat command

  • Kitty graphics protocol support

  • Sixel graphics support, described

    By the project as experimental

Common tasks

What you can use WezTerm for

  • Splitting one window into panes without installing tmux
  • Starting a session on a remote machine and reattaching to it from somewhere else
  • Working with a serial console on embedded hardware from the same terminal
  • Displaying images inline in the terminal rather than opening a viewer
Audience

Who is WezTerm for?

  • Developers who want terminal multiplexing and emulation in a single program
  • People who want their terminal configured in a real programming language with live reload
Not a fit

Who is WezTerm not for?

  • Anyone who wants a Mac-native terminal that follows Apple's conventions — WezTerm is a cross-platform application with its own interface
  • Users who need a frequent release cadence, since the project publishes releases infrequently

Limitations

  • The minimum macOS version is not stated in the sources Nuanyue tracks
  • The project's releases are infrequent; the current release dates from February 2024, so features land in the repository before they reach a download
  • The macOS build is distributed as a zip from GitHub releases rather than through the Mac App Store
  • Sixel graphics support is described by the project itself as experimental
  • Configuration is written in Lua, which is a real language to learn rather than a settings screen

Strengths and trade-offs

What WezTerm does well, and what to weigh before choosing it. Points marked developer-stated come from the developer’s own material and have not been independently confirmed.

Strengths

  • Multiplexes panes, tabs and windows across local and remote hosts, so a separate multiplexer is not needed.Developer-stated
  • The multiplexer can be reached over SSH, or over TLS on TCP/IP, so a session can be started on one machine and joined from another.Developer-stated
  • Configuration lives in a file that hot-reloads, so changes apply without restarting the terminal.Developer-stated
  • Implements the iTerm2 image protocol with a built-in imgcat command, plus Kitty graphics support.Developer-stated
  • Renders more text attributes than most terminals, including underline, double underline, italic, bold and strikethrough.Developer-stated
  • Free and open source under the MIT licence, so the implementation can be read and the software rebuilt.
  • Ships a built-in SSH client with native tabs, and can talk to serial ports for embedded work.Developer-stated

Trade-offs

  • Releases are infrequent: the current published release dates from February 2024, so newer work only exists in the repository.
  • Configuration is a Lua file rather than a settings interface, which is powerful but has to be learned.Derived
  • The macOS build arrives as a zip from GitHub releases, so installing and updating it is a manual step.Derived
  • The project describes its Sixel graphics support as experimental, so that feature should not be relied on.

First-use experience

What the app asks of you when you set it up. Only established facts appear here; anything we could not confirm is left out rather than guessed at.

Installation
Downloaded as a zip archive from the project's GitHub releases — a single macOS archive rather than separate Intel and Apple silicon builds — and unpacked by hand.
First launch Derived
No account or licence is involved. The application starts with defaults and reads a Lua configuration file once you create one.
System integration Developer-stated
Can register as the default terminal, and provides its own multiplexer that may run as a local server reachable over a unix domain socket.
Apple Silicon Derived
Supported

What it does

A terminal emulator draws text and takes keystrokes; a multiplexer splits one window into panes and lets a session outlive the window it started in. WezTerm does both, which is the main reason to choose it: there is no separate tmux or screen to install and configure, and no boundary between the emulator and the thing managing your panes. The multiplexer is not limited to the local machine — it can be connected to over SSH, or over TLS on TCP/IP, so a session started on a server can be picked up from a laptop somewhere else. A local multiplexer server is also reachable over a unix domain socket.

Rendering goes through the GPU. The project describes itself as a powerful cross-platform terminal emulator and multiplexer written by Wez Furlong and implemented in Rust, and it runs on Linux, macOS, Windows 10, FreeBSD and NetBSD from the same codebase.

Text, fonts and images

The emulator side is more thorough about text than most. It supports ligatures, colour emoji and font fallback with true colour and dynamic colour schemes, and it renders underline, double underline, italic, bold and strikethrough — a longer list of attributes than most terminals manage. Scrollback is searchable, output can carry hyperlinks, and SGR-style mouse reporting works in programs such as vim and tmux. For images it implements the iTerm2 protocol with a built-in imgcat command, supports the Kitty graphics protocol, and offers Sixel graphics that the project itself labels experimental.

Configuration, and the release cadence

Configuration is a Lua file rather than a settings window, and it hot-reloads: you edit the file and the running terminal picks the change up. The project publishes a full configuration and Lua reference alongside a CLI reference. That is a genuine trade: more expressive than a preferences pane, but something you have to learn.

The one thing to check before adopting WezTerm is its release cadence. The current published release is 20240203-110809, from February 2024; the repository is active, but new work reaches the repository long before it reaches a downloadable build. The macOS download is a single zip archive from GitHub releases — one build for both Intel and Apple silicon Macs — which has to be unpacked and installed by hand.

Questions about WezTerm

Does WezTerm need tmux?

No. Multiplexing is built in: the project describes it as multiplexing terminal panes, tabs and windows on local and remote hosts with native mouse and scrollback. The multiplexer can be connected to over SSH, or over TLS on TCP/IP, and a local multiplexer server is reachable over a unix domain socket.Developer-stated

How is WezTerm configured?

Through a configuration file that supports hot reloading, so edits take effect without restarting the application. The project publishes a full configuration and Lua reference rather than offering a graphical settings screen.Developer-stated

Can WezTerm display images in the terminal?

Yes. It implements the iTerm2 image protocol and ships a built-in imgcat command, supports the Kitty graphics protocol, and offers Sixel graphics support that the project describes as experimental.Developer-stated

Is WezTerm still actively released?

The repository is active but releases are infrequent: the current published release is 20240203-110809, dated February 2024. Newer work appears in the repository before it appears in a downloadable build.

What platforms does WezTerm run on?

Linux, macOS, Windows 10, FreeBSD and NetBSD, from a single project written in Rust.Developer-stated

Competitors

Direct competitors: overlapping features aimed at the same users.

  • kitty

    GPU-accelerated terminal emulator that pioneered the graphics protocol.

    Both are GPU-accelerated terminals that implement graphics protocols and remote control, but WezTerm folds multiplexing in and is configured in Lua, while kitty keeps the multiplexer as a separate command and is extended with Python kittens.

    • Developer Tools
    • Open Source
    • v0.49.2
  • iTerm2 app icon

    iTerm2

    Terminal emulator with split panes, search and shell integration.

    Both are feature-rich terminals with tabs, panes and inline image support, but iTerm2 is a Mac-only application with a graphical preferences window while WezTerm is cross-platform and configured through a file.

    • Developer Tools
    • Open Source
    • v3.7.3

Similar apps

Related in purpose, but not a straight swap.

  • Alacritty

    Minimal GPU-accelerated terminal emulator, still in beta.

    Both are GPU-accelerated cross-platform terminals written in Rust, but Alacritty deliberately omits tabs and splits while WezTerm includes them.

    • Developer Tools
    • Open Source
    • v0.17.0
Get it

Sources

Facts on this page are checked against the sources below. Last updated .

How Nuanyue grades sources →