iTerm2, on Windows, macOS, and Linux. All of it.
A native terminal for Windows, macOS, and Linux, written in Rust, that aims at full 1:1 parity with iTerm2: the same settings, the same menus, the same mouse, the same tmux integration, the same Python API.
Why Termurion · Features · Screenshots · How it compares · Architecture · Download · Building · Credits
Termurion 1.0.5 is the current stable release. It runs on Windows 10 and 11, on macOS (Apple Silicon), and on Linux (x86_64), from one code base.
If you live in iTerm2 on a Mac, every Windows terminal feels like a step down. Some have tabs and splits. A few have a drop-down window. None of them has tmux control mode, triggers, the toolbelt, Instant Replay, or iTerm2's mouse.
Termurion does not borrow iTerm2's look. It ports iTerm2's behavior. Every profile setting, global
setting, menu item, and feature in iTerm2 is a row in a parity inventory, and each milestone closes
rows until they read have. Where iTerm2 has a quirk, Termurion keeps it and writes it down.
- Your Mac settings, as they are. Termurion reads iTerm2's own plist. Profiles, colors, keys, triggers, and arrangements come across without a conversion step.
- Your scripts, unchanged. The stock
iterm2pip package connects to Termurion and works. - Your muscle memory. iTerm2's menu bar, key actions, and pointer actions, with Ctrl+Shift in place of Cmd on Windows and Linux (or Ctrl+Alt, your pick), and the real Cmd key on macOS. No shortcut uses the Win key.
|
|
|
|
|
|
|
|
The render test, scripts/acid.py: 24-bit color, half-block pixels, every text
style and underline kind, box drawing, braille, wide and combining characters, and links. Run it
with python scripts/acid.py (add --loop to repeat). Full-size video.
Render plugins: the 13 built-in cursor effects from
ghostty-cursor-fx, each with its own Enter and
done look on Claude Code's input box (at any font, size and box height), and nothing to install
on the host. Drawn by Termurion's own renderer
(render_demo_video in src/render.rs). Full-size video,
how to turn them on.
![]() |
![]() |
![]() |
![]() |
iTerm2's menu bar, settings window and key bindings, shown on Windows. The Shortcut Key (iTerm2's Cmd) is Ctrl+Shift by default on Windows and Linux. On macOS it is Cmd.
tmux over ssh, with Claude Code in the pane and a busy custom header and status line: 256 colors, bold, and box and block glyphs drawn cell for cell.
Termurion is the only Windows terminal we found that has the full iTerm2 set. The deciding feature is native tmux control mode, which no other Windows terminal ships.
| Hotkey window | Shell integration | Triggers | tmux -CC |
Reads iTerm2 settings | |
|---|---|---|---|---|---|
| Windows Terminal | Yes | Yes | No | No | No |
| WezTerm | With Lua | Yes | Partial | No | No |
| Tabby | Yes | Partial | No | No | No |
| Warp | Yes | Yes | No | No | No |
| Termurion | Yes | Yes | Yes | Yes | Yes |
flowchart LR
subgraph Host["termurion-host.exe"]
CP["ConPTY<br/>(OpenConsole)"] --> SH["Shells: pwsh, cmd, WSL, ssh"]
end
subgraph App["termurion.exe"]
PTY["Own ConPTY layer"] --> EMU["alacritty_terminal<br/>(patched core)"]
EMU --> R["wgpu renderer<br/>(glyphon text)"]
UI["iTerm2 UI<br/>menus, toolbelt, status bar"] --> R
TMUX["tmux gateway"] --> EMU
API["Python API server<br/>:1912 loopback"] --> UI
WV["WebView2<br/>browser pane"] --> UI
end
Host <--> PTY
PL["iTerm2 plist"] --> UI
Scripts["iterm2 pip package"] <--> API
- Core.
alacritty_terminal0.26 parses and stores the grid. Termurion carries a small set of patches for marks, row time, folds, image tiles, and blocks. Each patch is listed incrates/alacritty_terminal/TERMURION-PATCHES.md. - ConPTY. Termurion has its own ConPTY code. The shipped
conpty.dllandOpenConsole.exeload from beside the exe, never from the inbox console host by accident. - Unix. macOS and Linux share one Unix layer under
src/platform/. A feature that has no Unix backend yet says " is not available on yet". The list is indocs/port/unix-test-gaps.md. - Safety. Every program links the C runtime statically and loads its imports from System32 only. Downloads, imports, and escape sequences that can act go through trust gates first.
Termurion 1.0.5 is the current stable release. Get it from Releases (the 1.0.5 release is marked Latest). There is one file for each system. Installing has the steps in full. Report bugs in Issues.
Windows 10 or 11 (x64)
Termurion-1.0.5-win64-installer.exeinstalls for your user (no admin prompt), adds Start Menu entries, and upgrades earlier betas in place.Termurion-1.0.5-win64-portable.zipis the portable build. Unzip it anywhere and runtermurion.exe. Keep all the files together.- The files are not code-signed yet. If SmartScreen says they are unrecognized, choose More info, then Run anyway.
macOS (Apple Silicon)
Termurion-1.0.5-macos-arm64.zipholdsTermurion.app. Unzip it and move the app to Applications.- The app is ad hoc signed and not notarized, so the first open is blocked. Open System Settings > Privacy & Security, choose Open Anyway, then open the app again.
Linux (x86_64)
Termurion-1.0.5-linux-x86_64.AppImage. Runchmod +xon it, then run it. The first run adds Termurion to the app launcher with its icon.- It needs FUSE (
fusermount3), which most desktops have. Where FUSE is missing, start it with--appimage-extract-and-run. - Tested on Ubuntu 26.04 with GNOME on Wayland. X11 also works. System-wide hotkeys work on X11 only.
Termurion builds on Windows with the MSVC Rust toolchain. The steps below are for Windows.
# 1. Fetch the pinned ConPTY package (checked by SHA-256)
.\scripts\fetch-conpty.ps1
# 2. Build
cargo build --release
# 3. Run
.\target\release\termurion.exeThe build copies conpty.dll and OpenConsole.exe next to the exe. The browser pane needs the
WebView2 runtime, which Windows 10 and 11 normally have.
On macOS and Linux, cargo build --release builds the same programs. scripts/linux-appimage makes the Linux AppImage (it writes target/linux/Termurion-<version>-x86_64.AppImage).
.cargo/config.toml sets +crt-static. The build stops if that flag is missing.
| Path | What it holds |
|---|---|
src/ |
The app, about 560 top-level modules |
src/bin/ |
termurion, termurion-host, termurion-utils, termurion-git, cc-status, and the probes |
crates/ |
Patched copies of alacritty_terminal, vte, and glyphon |
resources/ |
Shell integration, color presets, tab icons, terminfo, and AI prompts |
proto/, schema/ |
iTerm2's API protocol and the settings schema |
docs/parity/ |
The parity inventory: 1,797 rows across profile, global, and feature settings |
docs/acceptance/ |
One hands-on checklist per milestone |
docs/superpowers/ |
Specs, plans, and rulings for each milestone |
tests/ |
Integration tests and fixtures |
Termurion is free software under the GNU General Public License v3 or later. See LICENSE.
Termurion stands on these projects:
- iTerm2 by George Nachman, the reference for every
behavior. Files copied from iTerm2 (color presets, script templates, AI prompts, tips, and the
utilities) are used under iTerm2's GPL v2 or later. See
resources/LICENSE. - alacritty_terminal, vte,
and glyphon, under their own licenses in
crates/. - Windows Terminal for ConPTY and OpenConsole.
The notices are in
resources/conpty/. - ghostty-cursor-fx by AONIR, the 13 built-in
cursor effects, and its
cursor-fx signalidea for the Enter and done effects, under the MIT license. Seeresources/render_plugins/LICENSE. - Ghostty by Mitchell Hashimoto and the Ghostty
contributors: render plugins use the uniforms of Ghostty's custom shaders, and Termurion's
shader prefix is adapted from Ghostty's, under the MIT license. See
resources/render_plugins/LICENSE-ghostty.
Termurion shows every bundled license at runtime, gathered at build time into one list.







