Installation
Install Bast on macOS, Linux, or Windows 11.
Choose the installation method for your operating system.
Installer script (recommended)
Downloads the latest build for your architecture, verifies the SHA-256 checksum, and installs to ~/.local/bin by default. Run the same command again to update. It skips the download when you are already on the requested version.
curl -fsSL https://bast.sh/install | shSet BAST_INSTALL_DIR to install somewhere else.
Pin a GitHub release. Put the version on sh, not on curl, so the installer sees it:
curl -fsSL https://bast.sh/install | BAST_VERSION=v0.9.1 shbast update still installs the latest stable build. Re-run the pinned command to stay on that version.
Make sure the install directory is on your PATH, then run bast.
Linux packages
Adds the signed Bast repository at packages.bast.sh and installs bast into /usr/bin. Updates come from your package manager, not bast update.
curl -fsSL https://packages.bast.sh/setup.sh | sudo shPass apt, dnf, zypper, pacman, or apk if you do not want distro detection:
curl -fsSL https://packages.bast.sh/setup.sh | sudo sh -s -- aptOnce the repo is configured:
sudo apt install bast
sudo dnf install bast
sudo pacman -S bast
sudo apk add bastArch users can also install the community AUR package:
yay -S bast-binDebian/Ubuntu .deb and Fedora/RHEL .rpm files are also attached to each GitHub release if you prefer dpkg -i / rpm -i without adding the repo.
Homebrew
Compiles from source using Homebrew's Go toolchain. Homebrew installs the current formula only.
brew install ellipse-software/tap/bastAn older formula revision can be copied into a personal tap with brew extract:
brew tap-new "$USER/bast-old"
brew extract --version=0.9.1 ellipse-software/tap/bast "$USER/bast-old"
brew install "$USER/bast-old/[email protected]"Windows 11
Run the PowerShell installer as your normal user. It verifies the release checksum and Authenticode signature, installs to %LOCALAPPDATA%\Programs\Bast, and adds that directory to your user PATH.
irm https://bast.sh/install.ps1 | iexSet BAST_INSTALL_DIR before running the installer to choose another location.
Pin a release in the same PowerShell session. Windows builds start at v0.9.0:
$env:BAST_VERSION = "v0.9.1"
irm https://bast.sh/install.ps1 | iexBast requires the Windows OpenSSH Client commands ssh, ssh-keygen, and ssh-add on PATH. Install OpenSSH Client from Windows Optional Features if those commands are unavailable.
WSL
Run the Linux installer inside WSL. Native Windows and WSL have separate home directories, SSH configuration, and Bast state. Use Vault when you want Bast-managed hosts and keys on both sides.
Nightly channel
Nightly builds track the latest master commit and install to the same bast command as stable releases. Only one channel can be active at a time. Running either installer uninstalls the other channel first (including a Homebrew install of the other formula), then installs the requested channel.
curl -fsSL https://bast.sh/install-nightly | shHomebrew:
brew install ellipse-software/tap/bast-nightlyWindows 11:
irm https://bast.sh/install-nightly.ps1 | iex$env:BAST_NIGHTLY_VERSION = "nightly.20260819.208d070"
irm https://bast.sh/install-nightly.ps1 | iexPin a specific nightly tag:
curl -fsSL https://bast.sh/install-nightly | BAST_NIGHTLY_VERSION=nightly.20260819.208d070 shRun the same commands again to update. Use bast update for script installs on either channel. That always moves to the latest build on the channel, including after a pinned install.
From source
Requires Go 1.26+:
git clone https://github.com/ellipse-software/bast.git
cd bast/apps/bast
go build -trimpath -o bast .Installer requirements
The macOS/Linux script needs curl, grep, tar, and shasum or sha256sum.
The Windows installer needs PowerShell 5.1 or later.
After install
Run bast to open the host picker. Run bast update to update copies installed via the script. Package-managed copies update with apt, dnf, pacman, or apk (see Updates).
The script installers and Homebrew enable tab completion. Open a new terminal after install. Opt out with BAST_NO_COMPLETIONS=1. See Shell completions.