Bruno is an open-source, fast and lightweight API client for exploring and testing APIs. It’s designed to be a modern alternative to traditional API clients with a focus on speed, simplicity, and collaboration.
Installation Options
Bruno can be installed via direct download or through package managers on supported platforms.
Direct Download
Download the latest macOS version from the official downloads page ↗.Homebrew
Direct Download
Download the latest Windows installer from the official downloads page ↗.Enterprise MSI InstallationWhen installing Bruno using an MSI installer, IT administrators can control auto-update behavior by passing the AUTOUPDATE_ENABLED flag during installation:
- Set to
false to disable auto-updates enterprise-wide
- If auto-updates are disabled by the enterprise, users cannot enable them manually
- If no enterprise setting exists, Bruno respects individual user preferences
Example: msiexec /i Bruno.msi AUTOUPDATE_ENABLED=false Using Package Managers
ChocolateyWingetwinget install Bruno.Bruno
ScoopDirect Download
Download the latest Linux package from the official downloads page ↗.Using Package Managers
APT (Debian/Ubuntu)# Create keyrings directory
sudo mkdir -p /etc/apt/keyrings
# Update and install GPG and curl
sudo apt update && sudo apt install gpg curl
# List existing keys (optional)
sudo gpg --list-keys
# Add the Bruno repository key
curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x9FA6017ECABE0266" | gpg --dearmor | sudo tee /etc/apt/keyrings/bruno.gpg > /dev/null
# Set permissions for the GPG key file
sudo chmod 644 /etc/apt/keyrings/bruno.gpg
# Add the Bruno repository
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/bruno.gpg] http://debian.usebruno.com/ bruno stable" | sudo tee /etc/apt/sources.list.d/bruno.list
# Update and install Bruno
sudo apt update && sudo apt install bruno
Flatpakflatpak install flathub com.usebruno.Bruno
Snap
Nightly Builds
Nightly builds are pre-release and may contain bugs. Use them to preview
upcoming features and provide feedback - not for production.
Nightly builds are published automatically for early testing of upcoming features. To get started, visit the bruno-nightly-builds ↗ repository on GitHub and download the asset that matches your OS.
Find the latest release in the nightly builds repository ↗ and download the installer for your platform:| Platform | File to download |
|---|
| macOS (Apple Silicon) | .dmg (arm64) |
| macOS (Intel) | .dmg (x64) |
| Windows | .exe or .msi installer |
| Linux | .AppImage, .deb, or .rpm |
Install it the same way as a regular Bruno release. The CLI nightly build is published as an npm tarball (.tgz). Installing it in an isolated folder keeps it separate from any globally installed version.1. Prepare a test folderDownload the .tgz file from the nightly builds repository ↗ and keep the original filename unchanged. Then create a clean folder and move the file into it:mkdir cli-portable-nightly
mv usebruno-cli-*.tgz cli-portable-nightly/
cd cli-portable-nightly
2. Install the bundle locallynpm init -y
npm install --offline ./usebruno-cli-<version>.tgz
3. Verify the installationnpx bru --version
# Expected output: the nightly version number, e.g. 3.5.0
4. Run your collection using the local CLIThe nightly binary is installed inside cli-portable-nightly/node_modules/.bin/bru. When you want to run a collection that lives in a different folder, you must use the full absolute path to that binary.Using ./node_modules/.bin/bru only works from inside the cli-portable-nightly folder itself.# Step into your collection folder
cd /path/to/your-collection
# macOS / Linux — use the absolute path to the nightly binary
/path/to/cli-portable-nightly/node_modules/.bin/bru run --env <name>
# Windows
C:\path\to\cli-portable-nightly\node_modules\.bin\bru run --env <name>
If you are not sure of the path, run pwd while inside cli-portable-nightly to get it:cd /path/to/cli-portable-nightly
pwd
# e.g. /Users/yourname/Downloads/cli-portable-nightly
Then use that output as the prefix:cd /path/to/your-collection
/Users/yourname/Downloads/cli-portable-nightly/node_modules/.bin/bru run --env <name>
To avoid typing the full path every time, export it as a shell variable for your session:export NIGHTLY_BRU=/Users/yourname/Downloads/cli-portable-nightly/node_modules/.bin/bru
cd /path/to/your-collection
$NIGHTLY_BRU run --env <name>
Bruno follows semantic versioning. You can check the GitHub Releases ↗ page for:
- Latest version information
- Release notes
- Bug fixes
- New features included in each release