A high performance multi-tab, multi-workspace terminal & agent application.
- 100% native. No Electron. No WebView.
- Feature-rich terminal inspired by rioterm
- High performance VT parser with libghostty-vt and its Rust binding
- GPU-accelerated UI with Zed editor's GPUI
- UI components backed by gpui-kit
- Agent integrations including Claude Code, Codex and DeepSeek Harness.
Windows and macOS (Apple silicon) are supported.
Install Rust through rustup; the repository's rust-toolchain.toml selects the required toolchain.
libghostty-vt is written in Zig, and most machines do not have a Zig toolchain installed.
This repository bundles prebuilt static libraries for Windows (x86_64-pc-windows-msvc) and macOS (aarch64-apple-darwin)
under third_party/libghostty-vt-sys/prebuilt/. Using them is opt-in: set the NMT_USE_PREBUILT_LIBGHOSTTY
environment variable to 1 to link the prebuilt library instead of building libghostty-vt from source.
The prebuilt libraries are optimized, so debug builds that use them also get a fast VT parser.
To build libghostty-vt from source instead, install Zig 0.16.0 and add zig to your PATH; the first build
then clones the pinned Ghostty sources and compiles them.
After updating the pinned Ghostty commit or its patches, regenerate the prebuilt libraries with
scripts/update-libghostty-prebuilt.ps1 on Windows and scripts/update-libghostty-prebuilt-macos.sh on macOS.
# PowerShell
$env:NMT_USE_PREBUILT_LIBGHOSTTY="1"
cargo run --bin NiumaTermIf you want to build libghostty-vt on your machine:
- Install Zig toolchain
v0.16.0(https://ziglang.org/download/) and add zig compiler to your PATH environment variable. - Perform a normal
cargo run --bin NiumaTerm.
Use an Apple silicon Mac with Xcode and its Metal Toolchain installed. Select the full Xcode installation as the active developer directory. In Xcode, open Settings → Components and install Metal Toolchain if it is missing.
Zig is only needed to build libghostty-vt from source; with the prebuilt library, export NMT_USE_PREBUILT_LIBGHOSTTY=1 first:
export NMT_USE_PREBUILT_LIBGHOSTTY=1Build from the repository root, then create an application bundle so macOS can display the app icon and provide application services:
cargo build --locked
scripts/bundle-macos.sh --profile debug --out target/macos
open target/macos/NiumaTerm.app --args --testingThe bundle includes the icon at standard and Retina resolutions and is signed for local use. For an optimized build, use cargo build --locked --release and pass --profile release to the bundle script. If you set CARGO_TARGET_DIR, pass the resulting executable path with --binary.
Setup git hooks before committing anything:
git config core.hooksPath .githooks
Licensed under the MIT License.