xsh Download
The xsh app icon

xsh for macOS

A terminal that understands you.

A native terminal app and a shell, built in Swift and Rust. Ask for a command in plain words, split panes, keep sessions alive, and keep your history encrypted.

macOS 14 Sonoma or later · Free and open source

Everything a terminal should be.

A complete replacement for Terminal and iTerm, with a shell that knows what you mean.

AI in the prompt

Describe a task to get a command. Use explain and fix, or start an agent that asks before every step. Works with OpenAI, Anthropic, or Ollama.

A safety guard

Every command from the AI passes a safety check before it can run, and the agent stops after ten steps.

Native tabs and panes

AppKit windows, native tabs, split panes, profiles, GPU drawing, find, and a global hotkey.

Built-in multiplexer

Sessions, windows, and splits like tmux. Detach, close the window, and attach again later.

Encrypted history

History is stored in SQLite with XChaCha20-Poly1305 encryption. The key is in your Keychain. Search it with fuzzy Ctrl-R.

Declarative bundles

Plugins add aliases, prompt segments, and completions, and they can never run arbitrary code. Bundles are included for git, docker, npm, python, and more.

Install in a minute.

xsh is free. Builds have an ad hoc signature, so macOS needs one extra command the first time.

Download the disk image

Get the latest .dmg and open it.

Drag xsh to Applications

Drop xsh.app on the Applications folder in the window that opens.

Allow it to open

Open Terminal and run this command. It removes the quarantine flag that macOS adds to downloads.

xattr -dr com.apple.quarantine /Applications/xsh.app

Open xsh

Launch it from Applications and press ⌘, for Settings. Updates install from inside the app.

Prefer to build it yourself? git clone https://github.com/its-ash/xsh && cd xsh && make build