# Wave

> Open-source terminal that lays out shells, file previews, an editor, web pages and AI chat as blocks in one window.

Stars: 22.6k · Language: Go · License: Apache-2.0 · Platforms: macOS, Linux, Windows

Features: GPU-accelerated, cross-platform, ligatures, inline images, configurable

- Repository: https://github.com/wavetermdev/waveterm
- Page: https://www.trmn.sh/terminals/wave

## Overview

Wave is an open-source terminal for macOS, Linux and Windows that combines terminal sessions with graphical blocks such as editors, file previews, web browsers and an AI assistant, all in one window. It is an Electron app with xterm.js terminals and a Go backend, licensed under Apache-2.0. It is aimed at developers who work across local and remote machines and want files, previews and AI chat next to their shells instead of in separate apps.

The interface is a drag-and-drop layout of blocks inside tabs. Any block can be expanded to full screen and then returned to the multi-block view. Command Blocks isolate and monitor individual commands. Terminal rendering uses WebGL by default, which `term:disablewebgl` turns off. Remote work is a focus: SSH connections are opened with one click, and durable sessions survive network interruptions, network changes and Wave restarts by reconnecting automatically. Remote files open in a built-in editor with syntax highlighting, and the preview system handles Markdown, images, video, PDFs, CSVs and directories.

Wave AI is a terminal assistant that can read terminal output and scrollback and read, write or edit files, with automatic backups and user approval. It works with your own API keys for OpenAI, Claude, Gemini, Azure and other providers, or with local models through Ollama, LM Studio and other OpenAI-compatible servers, and no account is required. The `wsh` helper controls the workspace from the command line: `wsh ai` pipes output or attaches files to the assistant, `wsh file` copies and syncs files between local and remote hosts, and `wsh editconfig` opens the settings. Secrets such as API keys can be stored in the operating system's credential store and used across SSH sessions.

Configuration lives in `~/.config/waveterm/settings.json`, a mostly flat JSON file with colon-separated keys such as `term:fontfamily` and `app:globalhotkey`, and tab themes, terminal styles and background images can also be customized. Requirements are macOS 11 or later, Windows 10 1809 or later (x64), or a Linux system with glibc 2.28 or later. Because it is a full Electron application with many built-in tools, it is a heavier install than a plain terminal emulator.

## Alternatives

- [Windows Terminal](https://www.trmn.sh/terminals/windows-terminal.md): Microsoft's terminal for Windows that hosts PowerShell, cmd and WSL shells in tabs and panes, with GPU text rendering and JSON settings. (Windows, 105.3k stars)
- [Tabby](https://www.trmn.sh/terminals/tabby.md): Cross-platform Electron terminal with a built-in SSH, Telnet and serial client, saved connection profiles and a plugin system. (Linux/macOS/Windows, 75.3k stars)
- [Alacritty](https://www.trmn.sh/terminals/alacritty.md): Cross-platform OpenGL terminal emulator written in Rust, configured with a TOML file and leaving tabs and splits to a multiplexer like tmux. (Linux/macOS/Windows/BSD, 66.1k stars)
- [Warp](https://www.trmn.sh/terminals/warp.md): Terminal written in Rust with an IDE-style command editor, command output grouped into blocks, and built-in AI agents. (macOS/Linux/Windows, 65.8k stars)
- [Termux](https://www.trmn.sh/terminals/termux.md): Android terminal emulator and Linux environment that installs packages through its own apt repository, no root required. (Android, 64.0k stars)
- [Ghostty](https://www.trmn.sh/terminals/ghostty.md): Terminal emulator written in Zig with GPU rendering and a native UI on each platform: Swift/AppKit on macOS, GTK on Linux. (Linux/macOS, 63.3k stars)
- [Hyper](https://www.trmn.sh/terminals/hyper.md): Electron terminal built on HTML, CSS and JavaScript, themed and extended through npm plugins. (Linux/macOS/Windows, 44.8k stars)
- [Kitty](https://www.trmn.sh/terminals/kitty.md): GPU-rendered terminal written in C and Python, with its own graphics protocol, built-in tabs and splits, and scriptable 'kittens'. (Linux/macOS/BSD, 35.5k stars)

## Guides

- [Hyper Alternatives](https://www.trmn.sh/alternatives/hyper): Hyper alternatives: WezTerm, Tabby, Kitty, Ghostty and Alacritty compared by config model, platform support and built-in features.
- [Tabby Alternatives](https://www.trmn.sh/alternatives/tabby): Tabby alternatives: WezTerm, Kitty, Windows Terminal and Wave compared by platform, scripting, SSH handling and plugin support.
- [Best Terminal Emulators for macOS](https://www.trmn.sh/best/terminal-emulators-for-macos): Ranked terminal emulators for macOS: Ghostty, iTerm2, kitty, WezTerm, Alacritty, Warp and more, compared on features, config and trade-offs.
- [Warp vs Wave](https://www.trmn.sh/compare/warp-vs-wave): Warp vs Wave: a Rust terminal with block output and built-in agents against an Electron terminal with previews, editor and AI blocks.

---

Canonical: https://www.trmn.sh/terminals/wave
