Two Philosophies, One Goal
arb and Ghostty are both GPU-accelerated, open-source terminal emulators that aim to be fast and correct. But they take fundamentally different approaches to developer productivity.
Ghostty is a terminal built from scratch in Zig by Mitchell Hashimoto (of HashiCorp fame). It became open source in December 2024. Ghostty focuses on being a correct, fast terminal renderer with native platform UI. It ships minimal — you bring your own shell tools, prompt, and configuration.
arb is built on WezTerm’s Rust rendering core and ships a complete shell suite: Starship prompt, Delta diff viewer, z directory jumper, syntax highlighting, autosuggestions, and tab completions. One install, zero configuration, everything works.
ComparisonFeature Comparison
| arb | Ghostty | |
|---|---|---|
| Language | Rust | Zig |
| GPU Rendering | Metal | Metal / Vulkan / OpenGL |
| Built-in Prompt | Starship | None |
| Built-in Diff Viewer | Delta | None |
| Directory Jumper | z (zsh-z) | None |
| Syntax Highlighting | Built-in | Manual install |
| Autosuggestions | Built-in | Manual install |
| Lua Scripting | Yes | No |
| Configuration | Lua | Key-value config file |
| Cross-Platform | macOS | macOS + Linux |
| License | MIT | MIT |
| Binary Size | ~40 MB | ~15 MB |
Where Each Terminal Shines
Ghostty’s Strengths
Ghostty has genuine advantages that are worth acknowledging:
- Cross-platform — Ghostty runs natively on both macOS and Linux with platform-appropriate UI. arb is macOS-only.
- Smaller binary — At ~15 MB, Ghostty is significantly smaller than arb’s ~40 MB. This makes sense because Ghostty doesn’t bundle shell tools.
- Terminal correctness — Ghostty places extreme emphasis on correct terminal emulation, particularly around edge cases in VT sequences and Unicode handling.
- Zig performance — Zig’s manual memory management and zero-overhead abstractions give Ghostty excellent raw rendering performance.
- Simple configuration — Ghostty uses a flat key-value config file that is easy to understand at a glance.
arb’s Strengths
arb’s advantages center around developer productivity and zero-config experience:
- Built-in shell suite — Starship, Delta, z, syntax highlighting, autosuggestions, and completions ship pre-configured. Ghostty requires you to install and configure each tool separately.
- Lua scripting — arb supports full Lua scripting for keybindings, custom commands, and dynamic configuration. Ghostty offers no scripting.
- WezTerm compatibility — arb uses the same Lua configuration format as WezTerm. Existing WezTerm configs work with minimal changes.
- AI coding optimized — Built-in Delta makes reviewing AI-generated diffs instant. The complete shell environment is ready for Claude Code, Cursor, and Aider workflows.
- Zero configuration — Install with
brew tap szj2ys/arb && brew install arband everything works. No dotfile setup, no plugin managers, no font downloads.
When to Choose Ghostty
Ghostty is the right choice if you:
- Need a terminal that works on both macOS and Linux
- Already have a complete dotfile setup with your preferred tools
- Want the smallest possible binary footprint
- Value terminal correctness above built-in tooling
- Prefer a simple key-value config over Lua scripting
When to Choose arb
arb is the right choice if you:
- Want everything working out of the box with zero configuration
- Use AI coding tools (Claude Code, Cursor, Aider) and want built-in Delta for diffs
- Want Lua scripting for deep terminal customization
- Are migrating from WezTerm and want config compatibility
- Don’t want to spend time installing and configuring Starship, Delta, zoxide, and shell plugins separately
AI Coding Workflows: arb vs Ghostty
When using AI coding tools like Claude Code or Aider, your terminal handles constant streaming output, frequent git diffs, and rapid context switching. Here’s how each terminal handles these patterns:
Diff Review
arb: Built-in Delta renders every git diff with syntax highlighting automatically. Ghostty: You need to install Delta manually and configure it as your git pager.
Git Status Awareness
arb: Starship prompt shows branch, commit count, and dirty state by default. Ghostty: You need to install and configure Starship or an alternative prompt.
Directory Navigation
arb: Built-in z lets you jump to any recently visited directory with fuzzy matching. Ghostty: You need to install zoxide or z separately.
Setup Time
arb: One brew install command, zero configuration, productive in seconds. Ghostty: 15-30 minutes to install and configure the shell tools you need.