purple-ssh 2.29.0

A terminal cockpit for your servers. Search, connect, transfer files, manage containers and run commands across hosts. Syncs from 16 cloud providers. Visual file transfer, password management, command snippets and MCP server for AI agents. Edits ~/.ssh/config with round-trip fidelity.
Documentation

purple

A terminal cockpit for your servers. Search, connect, transfer files, manage containers and run commands across hosts. All keyboard-driven. Free and open source.

crates.io downloads mit built with ratatui Website

purple terminal SSH client demo

Install

curl -fsSL getpurple.sh | sh
brew install erickochen/purple/purple
cargo install purple-ssh
git clone https://github.com/erickochen/purple.git
cd purple && cargo build --release

Run purple. Press ? on any screen for help. That's it.

Why I built this

My SSH config was fine. Proper aliases, ProxyJump chains, organized by provider. Not the problem.

The problem was everything around it. Need to check a container? ssh host docker ps. Copy a file? scp with the right flags. Run the same command on ten hosts? Write a loop or boot up Ansible for a one-liner. Spin up a VM on Hetzner? Open the console, grab the IP, edit config, save. Someone asks which box runs what? Good luck.

I wanted one place for all of that. So I built it.

What you get

And more. Visual file transfer with split-pane explorer. Multi-host command execution with snippets. Automatic password retrieval from OS Keychain, 1Password, Bitwarden, pass and HashiCorp Vault. MCP server for AI agents like Claude Code and Cursor. See the wiki for details.

How it works

purple reads ~/.ssh/config directly. No database, no daemon, no account. Comments, indentation, Include files, unknown directives. All preserved.

Written in Rust. Single binary. 5000+ tests. MIT license.

Links

📖 Wiki · ☁️ Cloud Providers · 🤖 MCP Server · ❓ FAQ · 🔒 Security · 🧠 llms.txt

Feedback

Bug or feature request? Open an issue.