Bruno: keep API request collections beside your code

A desktop API client that saves request collections as local files. Review them in Git, start with an authorized read-only request, and check authentication separately for examples and ordinary requests.

Creator: Anoop M D, Anusree P S and Bruno contributors4.3.0Nov 5, 2026MIT (community source; commercial features have separate terms)Source repository
Get from publisher
macOSWindowsLinux

Requirements

macOS, Windows or Linux, a local directory for the collection, and an API you are authorized to call. Request methods, environments and credentials determine what a call can change; local storage does not make a request offline.

Quick start

The stable release checked on November 5, 2026 is 4.3.0, published October 22. Choose the matching desktop package from the official download page. The README also lists package-manager options, including brew install bruno on macOS and winget install Bruno.Bruno on Windows; Linux packages are linked from the official instructions. Open the installed app and check its actual version before importing a collection. Boloop has not installed or run Bruno.

A desktop API client that saves request collections as local files. Review them in Git, start with an authorized read-only request, and check authentication separately for examples and ordinary requests.

Put request definitions under review

Bruno is a desktop API client by Anoop M D, Anusree P S and contributors. It stores collections in a local folder using the text-based Bru format, so request definitions can be reviewed alongside code in Git. Consider it when you want a collection you can inspect and version, rather than a history of one-off requests. The community source is MIT-licensed; additional commercial features have separate terms.

Start with one ordinary request

Create or open a collection you trust and choose the intended environment. Start with a read-only request to an API you are authorized to use. Inspect the URL, headers, status and response before adding scripts, imported collections or a runner. Keeping files locally does not mean requests never connect to servers, and a collection should not be assumed safe to commit with credentials inside it.

Do not assume examples inherit everything

The 4.3.0 release introduces a Try action for response examples. In issue 9759, Ronan-costa reports that on Windows this action omits a folder- or collection-level Bearer token, while the ordinary request works. The issue is open at the November 5 check and has no maintainer confirmation. This is one user's report, not a Boloop reproduction or proof that all authentication paths fail. If an example returns 401, compare its actual authorization behavior with the ordinary request before changing the API server's permissions.

Separate transport success from acceptance

An HTTP success status answers only part of a test. Check the expected response and, when relevant, read back the intended business state through an authorized route. The existing AI-generated code review and acceptance checklist provides a way to record the version, steps, expected result and evidence. This recommendation is based on official documentation and the linked independent report; Boloop has not benchmarked Bruno or tested an API with it.

Sources and further reading

  1. Bruno READMEOfficial documentation · Bruno maintainers
  2. Bruno v4.3.0 releaseOfficial documentation · Bruno maintainers
  3. Download BrunoOfficial documentation · Bruno Software
  4. TRY Examples does not inherit folder-level authorization #9759Usage record · Ronan-costa
  5. Bruno MIT licenseOfficial documentation · Anoop M D, Anusree P S and contributors
  6. OpenMoji project and logo licenseOfficial documentation · OpenMoji contributors
  7. Creative Commons Attribution-ShareAlike 4.0Official documentation · Creative Commons