Lumina Terminal

Lumina Terminal 0.4.2

A modern, cross-platform terminal emulator built with Tauri, React, and Xterm.js.

  • By iewnfod
  • Open Source
  • Updated Sep 25, 2026
Download for Windows

About Lumina Terminal

Lumina Terminal is a modern, cross-platform terminal emulator built with Tauri, React, and Xterm.js, featuring a sleek UI, a command palette, and customizable profiles. Each tab runs a real shell process with multi-tab support, tear-off tabs, find-in-terminal, configurable shells (PowerShell, WSL, Git Bash, or any executable), an optional WebGL renderer, and session save and restore.

What's new in 0.4.2

🐛 Bug Fixes
- Terminal stability under load — A blocked PTY write no longer holds the shared terminals-map lock, so one slow tab can't stall or panic the others; dead-PTY (EIO) writes and resizes now degrade to warnings instead of panicking, kill_terminal runs outside the lock, and a re-check under the insert lock stops concurrent starts from orphaning a PTY
- zsh exit-code tracking — The zsh hook now captures $? before user precmd hooks and prepends its own, so theme frameworks no longer corrupt every per-command exit code shown in tab subtitles and MCP output
- Shell completion fixes — OSC 1337 payloads above 32 KiB are no longer truncated (TAB completion works with large candidate sets), emitted candidates are capped at 200 so ls /usr/bin no longer builds a multi-hundred-KB payload, and PageUp no longer computes a negative selection index
- Key bindings — Modifiers now match exactly: Ctrl+Alt+T no longer fires a plain ctrl+t binding. The held-key set is also cleared on window blur so a key released outside the window doesn't stay "stuck"
- Config hot reload & session — Stale config snapshots no longer overwrite live tabs, updateConfig writes are drained/awaited so a stale merge can't win on disk, window-geometry persistence is debounced, and the session save dialog got a duplicate-close guard
- System proxy — macOS scutil ExceptionsList entries lose their N : index prefix, the env-pair lookup implements the documented lowercase-wins two-pass, and failed env-file writes retry on the next poll instead of busy-looping
- Windows launchers — .lnk arguments now quote per token, so launchers with spaced titles work again; the rpm miss heuristic no longer rejects noto-* packages
- MCP server token — Regenerated only when missing/empty, so a transient read error no longer silently breaks already-configured client URLs
- Misc hardening — xterm/WebGL contexts are disposed on unmount (StrictMode-safe), write_atomic uses a pid-suffixed temp name so two Lumina processes can't interleave, and macOS file-manager launches surface non-zero exits
🎨 Polish
- Moved the update modal's scrollbar inside the card so it reads as part of the surface
🔧 Chores
- Release-note generation in scripts/release.sh now runs through opencode with DeepSeek V4.1 Flash instead of the claude CLI, with output discipline that keeps stdout to the note alone …

Full release notes »

Technical details

Publisheriewnfod
AuthorIewnfod
Version0.4.2
Release date2026-09-25
LicenseMPL-2.0
Installer typenullsoft, wix
Architecturex64
Package IDIewnfod.LuminaTerminal

Links & install command

Install Lumina Terminal from the command line with Windows Package Manager (winget):

winget install --id=Iewnfod.LuminaTerminal -e

consoleshellterminal

Older versions

  • 0.4.1
  • 0.4.0
  • 0.3.2
  • 0.3.1
  • 0.3.0
  • 0.2.5
  • 0.2.4
  • 0.2.3
  • 0.2.2