Native to the metal
Drawn by GPUI on Metal, text shaped by Core Text, menus by AppKit. A usable prompt in well under 150 ms.
stay in command
A minimalistic, fast, native terminal for macOS.
Rust + GPUI on Metal. No web view. No telemetry. No noise.
macOS 13+ · Apple Silicon · free & open source
scroll~/nox $ ls features/
Drawn by GPUI on Metal, text shaped by Core Text, menus by AppKit. A usable prompt in well under 150 ms.
Split right with ⌘D, below with ⌘⇧D, nest them as deep as you like. Tabs on top, bottom or in a sidebar.
Named groups of tabs per project, switched instantly with ⌘P. Each keeps its own tabs, splits and agents.
Quit, restart, reboot: every workspace returns with its tabs, splits and working directories — and every agent resumes its conversation.
Pixel-precise scrolling with trackpad momentum. Live window resize without flicker, stretching or garbled output.
VT parsing, grid and scrollback from alacritty_terminal. Rendering, UI and the agent features are nox's own.
Catppuccin, gruvbox, Nord, Tokyo Night, Kanagawa, Rosé Pine and more, light & dark. JetBrains Mono by default; Fira Code, Hack, Commit Mono and friends bundled.
Search the scrollback with ⌘F, open links with a click, jump between prompts with ⌘↑ ⌘↓, copy the last command's output with ⌥⌘C.
No account, no telemetry, no built-in AI. nox runs no model and sends nothing anywhere. It hosts agents; it isn't one.
~/nox $ nox ls --agents
Claude Code, Codex, Gemini CLI — nox knows which panes run an agent and what it's doing, tells you when one needs you, and lets them work together.
# every pane has `nox` on its PATH and its own identity
$ nox name backend
$ nox status working -m "refactoring"
$ nox msg reviewer "feat/x is ready"
$ nox wait backend # block until its turn ends
$ nox claim src/parser/ -m "rewriting"
✗ claimed by backend: rewriting # exit 3
$ nox spawn --split right -- cargo test
pane 7
$ claude mcp add nox -- nox mcp # same ops as MCP tools
Knows the state. Working, needs input, idle, exited — from hooks, OSC notifications, titles or activity. Shown in tabs, pane headers and the agents panel.
Taps you on the shoulder. A sound and a notification when an agent needs you and nox isn't in front. ⌘J jumps straight to it.
Cooperation, not chaos. Messages, waits and advisory file claims over a local Unix socket. Never a network port, always visible to you.
~/nox $ ⌘K
Press ⌘K, type a few letters, hit ↵. Every command shows its shortcut, so the palette doubles as a cheat sheet.
~/nox $ man nox-keys
Every shortcut is in the menu bar and rebindable in [keys].
~/nox $ $EDITOR ~/.nox/config.toml
One TOML file, applied live on save. Edit it by hand or in the Settings window (⌘,) — both stay in sync, and your comments survive.
[ui]
theme = "nox" # or any of the 17 bundled, or ~/.nox/themes/
mode = "system" # "system" | "light" | "dark"
dim_inactive_panes = 0.15
[tabs]
position = "top" # "top" | "bottom" | "left"
title = "auto" # "auto" | "cwd" | "process"
[font]
family = "JetBrains Mono"
size = 14
line_height = 1.0 # × natural line height
[agents]
restore = "resume" # resume conversations on relaunch
keep_awake = true # no sleep while an agent works
scope = "workspace" # a workspace is a team
[agents.claude]
command = "claude"
resume = "claude --resume {session}"
Free and open source. For Macs with Apple Silicon, macOS 13 or newer.
Installs nox.app and the nox agent CLI. Update with brew upgrade --cask nox.
Release notes & previous versions · Source code
~/nox $ whoami
nox is free and open source. No paid tiers, no feature gating, no telemetry.
developer · creator of nox
Available for contracts, project development and consulting.
Email [email protected]