WezTerm app icon

System tools

WezTerm

Free GPU-accelerated terminal emulator for Windows with multiplexing, tabs, panes, tabs over SSH and a fully scriptable Lua configuration.

WindowsmacOSLinuxMIT

WezTerm: a terminal you configure with Lua

What it does

WezTerm is a terminal emulator written in Rust that renders through the GPU and doubles as a terminal multiplexer. On Windows it installs from a signed setup executable and provides both the graphical terminal and a command-line client that can attach to a running multiplexer session. Its feature list is unusually broad for a terminal: tabs, splits, copy mode with vi-style navigation, a command palette, searchable scrollback, hyperlink handling, inline image protocol support, and a built-in SSH client that can serve panes remotely. The multiplexer runs as a background server, so sessions survive closing the window and can be reattached from another machine.

The workflow

The installer adds the executable to the PATH, and the terminal can be launched from the Start menu, from the Explorer context menu, or from any shell. Configuration is a Lua script rather than a static settings file, which means colours, fonts, key tables, launch menus, status bars and workspace layouts can all be computed programmatically. Common entry points are setting a default shell, choosing a font with fallback chains, defining leader-key bindings for pane management, and enabling the multiplexer domain so that new tabs or windows attach to the persistent server. The command-line client is useful in scripts: it can spawn a new tab in an existing window, list panes, or run a command in a specific pane.

Practical settings and limits

Lua configuration is the feature and the obstacle: it is far more capable than an INI file, but users who want a checkbox-driven settings dialog will not find one. Windows-specific notes include the default shell selection, path translation for WSL distributions, and the fact that the newest builds are published as nightly artifacts rather than tagged releases, so version numbers seen in the wild vary widely. Font ligature support and complex-script shaping depend on the chosen font and rendering backend and can look inconsistent between machines. Memory use is higher than in minimal terminals because of the multiplexer and GPU renderer.

Who should choose something else

Windows Terminal is the simpler choice for users who want tabs, panes and a graphical settings editor maintained by the operating system vendor. Alacritty is preferable when the goal is the smallest, fastest possible emulator and layout work is delegated to an external multiplexer. For remote-only work, a plain SSH client plus the default console may be entirely sufficient.

Best for
Users who want one scriptable terminal across operating systems with persistent multiplexed sessions.
Good to know
Configuration is Lua; a graphical settings dialog does not exist, and recent builds ship as nightly artifacts.

WezTerm combines a GPU-rendered terminal with a multiplexer, so tabs and panes survive closing the window and can be reattached later. It installs like a normal application and adds a command-line client for scripting new tabs.

How to get started

  1. Download the Windows setup executable from the official WezTerm release page.
  2. Run the installer; the executable is added to the PATH.
  3. Launch WezTerm once so it creates its configuration directory.
  4. Create a wezterm.lua file in your user profile to set the default shell, font and colours.
  5. Bind a leader key for pane and tab actions, then enable the multiplexer so sessions persist.

Questions & answers

Where does the configuration live?

In a Lua file named wezterm.lua in your user profile. It runs at startup, so settings and key tables can be generated in code.

Can I reconnect to a session after closing the window?

Yes, with the multiplexer enabled. The background server keeps panes alive and the client can list, attach to and detach from them.

Which shell does it use by default?

It prefers PowerShell and falls back to the command processor. The default program list, including WSL distributions, is configurable.

How actively is it released?

Development is continuous, but tagged releases are sparse, so many users track nightly builds. Check the release page for the current artifact name.

More in system tools

View category