macOS · Apple Silicon & Intel

Oxide

A native macOS terminal emulator, written entirely in Rust. GPU-rendered on GPUI, with a file-tree drawer you drive like vim and a status bar that knows where your shell is.

// Rust is iron oxide. It's a whole thing.

Loading latest release…
  Free · Developer ID signed & notarized ·

The drawer, the terminal, and a git-aware status bar — in the built-in oxide theme.

What it does

A real terminal

Full VT emulation via Alacritty's parser: truecolor, wide glyphs and combining marks, bracketed paste, SGR mouse reporting, alternate-screen scrolling, OSC 8 hyperlinks, OSC 52 clipboard. vim, htop, and tmux just work.

File tree drawer

Modeless vim navigation (j/k/gg/G, nvim-tree style h/l), type-to-filter with /, and file operations: a add, r rename, d delete to Trash. Respects .gitignore, watches the filesystem, and follows the shell's cd automatically.

Scrollback search

cmd-f for live, case-insensitive search; and ⇧⏎ walk the matches. And cmd-↑/cmd-↓ hop between previous prompts in scrollback.

Git-aware status bar

Current working directory plus branch, dirty state, and ahead/behind — rendered natively, not shelled out to on every prompt.

Configurable prompt

Compile a powerline prompt from TOML segments — cwd, git, exit_status, time, duration — injected without touching your dotfiles, with OSC 133 semantic markers. Or set prompt.enabled = false and keep starship or p10k exactly as it is.

Themes

catppuccin-mocha, catppuccin-latte, gruvbox-dark, tokyonight, dracula, nord, solarized-dark, and oxide (rust-toned, naturally). Any color individually overridable. Config reloads live.

Native tabs

cmd-t uses real macOS window tabbing. New tabs start in the current directory or ~/, your call via window.new_tab_directory.

Updates itself

Installed copies check for new releases on launch and every six hours, download in the background, and swap themselves in on one click. Every build is Developer ID signed, notarized, and stapled.

The details

Window size and position persistence, cmd-click to open URLs, copy-on-select, font size at runtime (cmd +/-/0), a configurable bell, and a blinking cursor that pauses while you type.

Keys

Anywhere

ctrl-w h/l/w focus tree / terminal / toggle
cmd-b toggle the drawer
cmd-f search scrollback
cmd-↑/cmd-↓ previous / next prompt
cmd-t/cmd-n new tab / new window
⌃tab/⇧⌘[ ⇧⌘] previous / next tab
cmd + - 0 font size

In the tree

j k gg G move
l/h expand & descend / collapse & ascend
enter/o open dir, or file in $EDITOR
c/- re-root at selection / at parent
/ filter
a r d add / rename / delete to Trash
I/R toggle hidden / refresh

Install

Download the app

Grab the DMG, drag Oxide to Applications, and open it. The build is signed with a Developer ID certificate and notarized by Apple, so there's no right-click-to-open dance.

  • macOS, Apple Silicon or Intel
  • A Nerd Font — the default config expects JetBrainsMono Nerd Font Mono

Oxide keeps itself up to date after that: it checks GitHub on launch and every six hours, or on demand via Oxide → Check for Updates…

Or build from source

# needs Rust (2024 edition) and full Xcode
# with the Metal toolchain
git clone https://github.com/bobbycoleman-dev/oxide.git
cd oxide
cargo run                   # development

./scripts/bundle.sh         # -> target/Oxide.app
cp -R target/Oxide.app /Applications/

The first build compiles GPUI and its Metal shaders — expect several minutes. Full instructions are in the README.

Configuration

Everything lives in one file at ~/.config/oxide/config.toml, and a fully commented default is generated on first run. Font and colors apply live — save the file and the window repaints. [shell] and [prompt] apply to new sessions.

[colors]
preset = "oxide"

[font]
family = "JetBrainsMono Nerd Font Mono"
size = 14.0

[[prompt.segments]]
kind = "cwd"
[[prompt.segments]]
kind = "git"