Oxide vs. other terminals
How Oxide compares with iTerm2, Ghostty, kitty, WezTerm, Alacritty, and Warp — including the places where one of them is the better choice.
The short version
Oxide is an opinionated macOS terminal for people whose hands already know vim and tmux. The things you'd normally bolt on are built in: a file tree drawer you drive with j/k, workspaces that bring their tabs, splits, directories, and startup commands back after a restart, a powerline prompt compiled from TOML, a vim-style copy mode, and a history of every command run in any pane. All of it is configured in one text file that reloads when you save. There is no account, no AI, and no telemetry — the only thing Oxide ever asks the network is whether GitHub has a newer release.
It is also young, and macOS-only. Pick something else if:
- You need Linux or Windows. Ghostty, kitty, WezTerm, Alacritty, and Warp all run elsewhere. Oxide's Linux port is planned, not written.
- You type with an input method. Oxide doesn't do IME or dead-key composition yet, so CJK input and two-stroke accents don't work. Every other terminal here handles them.
- You want images in the terminal. iTerm2, Ghostty, kitty, WezTerm, and Warp can draw them inline. Oxide can't.
- You want to script your terminal. kitty's kittens and remote control, WezTerm's Lua, and iTerm2's Python API go far beyond what a TOML file can express.
- You want an AI agent in it. That's Warp's whole direction, and deliberately not Oxide's.
At a glance
| Terminal | Runs on | Written in | Licence | Configured with |
|---|---|---|---|---|
| Oxide | macOS | Rust | MIT | one TOML file, reloaded live |
| iTerm2 | macOS | Objective-C, Swift | GPL v2 | a settings window |
| Ghostty | macOS, Linux | Zig | MIT | a key = value text file |
| kitty | macOS, Linux, BSD | C, Python | GPL v3 | kitty.conf |
| WezTerm | macOS, Linux, Windows, BSD | Rust | MIT | a Lua program |
| Alacritty | macOS, Linux, Windows, BSD | Rust | Apache 2.0 / MIT | one TOML file, reloaded live |
| Warp | macOS, Linux, Windows | Rust | AGPL v3 | a settings window |
All seven are free to download. Warp adds paid plans for its AI and team features; the rest have nothing to sell you.
What's built in
| Oxide | iTerm2 | Ghostty | kitty | WezTerm | Alacritty | Warp | |
|---|---|---|---|---|---|---|---|
| Tabs and splits | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| File tree | ✓ | — | — | — | — | — | ✓ |
| Layout restored on relaunch | pinned workspaces | ✓ | macOS only | session files | — | — | ✓ |
| Built-in prompt | ✓ | — | — | — | — | — | ✓ |
| Vim-style copy mode | ✓ | ✓ | — | via a pager | ✓ | ✓ | — |
| Font ligatures | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| Inline images | — | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| IME and dead keys | not yet | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Checked in September 2026 against each project's own documentation. Terminals move quickly — if a cell has gone stale, say so and it'll be fixed.
Oxide vs. iTerm2
iTerm2 has been the default upgrade from Terminal.app for well over a decade, and it has the feature list to show for it: a hotkey window, triggers, a searchable profile database, a password manager, instant replay, inline images, a Python API, and a tmux integration that shows remote tmux windows as native tabs. Its session restoration can keep your jobs running while the app itself restarts, which Oxide can't do.
Choose Oxide if you'd rather keep your terminal in a text file than in a settings window iTerm2 itself describes as having a "mind-boggling number of options". Oxide's whole configuration is one commented TOML file you can read top to bottom, put in your dotfiles repo, and edit with the terminal repainting as you save. It is also built keyboard-first around vim and tmux reflexes — ctrl-w for panes, modeless j/k in the tree — and brings the file tree, prompt, and workspaces panel iTerm2 doesn't have.
Choose iTerm2 for maturity and breadth: if you rely on profiles per host, triggers, its tmux integration, inline images, or an input method, it does all of that today.
Oxide vs. Ghostty
Ghostty is the closest in spirit: fast, GPU-rendered, native UI, configured in a plain text file, MIT licensed. It is rigorous about terminal standards, ships hundreds of themes, supports the kitty graphics protocol, has a drop-down quick terminal on macOS, and runs on Linux as well.
The difference is scope. Ghostty sets out to be an excellent
terminal and stops there; what happens inside it is your shell's
and tmux's business. Oxide puts a workbench around the terminal —
the drawer with its tree and workspaces panel, a prompt, command
history across panes, notifications when a long command in another
tab finishes or fails, a border you can have turn red while you're
ssh'd into production.
Choose Oxide if you want those pieces built in and sharing one config, or if you use a tiling window manager: Ghostty uses native macOS window tabs, while Oxide draws its own tab bar, so tabs behave the same under AeroSpace or yabai.
Choose Ghostty if you want a terminal and nothing else, need Linux, inline images, or IME, or prefer native macOS tabs. It also has a far larger community finding its bugs.
Oxide vs. kitty
kitty is the power user's cross-platform terminal. It originated the graphics and keyboard protocols half this list now implements, has seven window layouts, and is extensible in ways nothing else here matches: kittens are small programs that run inside it, and its remote-control protocol lets a script open windows, change colours, or send text — even over SSH. Session files describe a layout and its startup programs.
Choose Oxide if you'd rather have the features than the toolkit. A kitty session is a file you write; an Oxide workspace is something you arrange, pin, and get back. kitty opens scrollback in a pager; Oxide's copy mode and search run in place. The file tree, prompt, and command history have no kitty equivalent short of writing one.
Choose kitty if you script your terminal, work on Linux too, or want images and the broadest protocol support.
Oxide vs. WezTerm
WezTerm is the other Rust terminal with tabs, panes, a vim-style copy mode, and a command palette, and it runs everywhere including Windows. Its configuration is a Lua program, so anything can be computed or hooked, and its built-in multiplexer can attach to panes on a remote host with native scrollback and mouse support. It speaks the iTerm2, sixel, and kitty image protocols.
Choose Oxide if you want configuration to be data rather than code. A typo gets a toast with a suggestion rather than a debugging session, and the features you'd script in WezTerm — restoring a project's layout, running its dev server on launch — are a pinned workspace with a startup command. Plus the drawer and prompt, which WezTerm leaves to other tools.
Choose WezTerm if you want the same terminal and config on every OS, remote multiplexing, images, or the freedom of Lua.
Oxide vs. Alacritty
These two are relatives. Oxide's PTY handling and VT parsing come
from alacritty_terminal, the engine inside Alacritty,
so escape sequences, colours, and full-screen programs behave the
same in both. Both are Rust, both are configured in live-reloaded
TOML.
Alacritty is minimal on purpose. Its README says you won't find tabs or splits, which are "best left to a window manager or terminal multiplexer". Oxide is what you get if you take that engine and build the multiplexer in — tabs, nested splits with tmux's ctrl-w vocabulary, workspaces — then add the drawer, prompt, themes picker, and ligatures.
Choose Oxide if you run Alacritty mostly as a window for tmux and would like to stop configuring two things.
Choose Alacritty if minimal is the point, you're happy in tmux, or you need it on Linux or Windows.
Oxide vs. Warp
Warp rethinks the terminal rather than refining it. Commands and their output are grouped into blocks, input is an IDE-style editor with completions, and AI agents can write code and run multi-step tasks; it now calls itself an "Agentic Development Environment". Warp Drive shares workflows and notebooks across a team. Like Oxide it has a file tree, a prompt of its own, and session restoration. Login is now optional, and the client is open source.
Choose Oxide if you want a conventional terminal. Your shell's own line editor, your own keybindings, plain scrollback; no agents, no accounts, no cloud, nothing to subscribe to. Oxide understands commands too — duration, exit status, jump to prompt, copy last output — but reads them from standard OSC 133 marks rather than replacing how the shell works.
Choose Warp if AI in the terminal is what you're after, if your team would use shared workflows, or if you need Linux or Windows.
Oxide vs. Terminal.app
The terminal that comes with macOS is fine for the occasional command, and it will always be there. If you spend your day in one, every terminal on this page is an upgrade: GPU rendering, real theming, and configuration you can carry between machines. Oxide is the one that also gives you the file tree, workspaces, and prompt without installing anything else.
Does Oxide replace tmux?
Locally, mostly. Splits and tabs use tmux's vocabulary, workspaces are tmux sessions with a panel to manage them, copy mode covers the scrollback, and pinned workspaces with startup commands do the job of tmuxinator.
What Oxide can't do is keep processes alive. A pinned workspace restores its layout and directories with fresh shells, and re-runs each pane's startup command; it doesn't resurrect what was running. And on a remote machine, detaching from a session and coming back to it tomorrow is still tmux's job. It runs fine inside Oxide.
Try it
Oxide is free and MIT licensed. Install it from the DMG or with Homebrew, and it won't touch your dotfiles — so going back to whatever you use now costs nothing.
brew install --cask bobbycoleman-dev/tap/oxide-terminal