Bruno
Open source IDE for exploring and testing APIs
Install with Homebrew
brew install --cask bruno
Bruno — Official Website
Quick Take: Bruno
August 2026 Bruno is the API client to pick for Git-centric engineering teams. v4's optional BYOK AI and OpenAPI Sync GA modernize the tool without dropping offline roots. Pay Pro ($6/user/month annual) or Ultimate ($11/user/month annual) when governance and advanced Git UI matter; otherwise the free core still replaces expensive Postman seats for many squads.
Best For
- •DevOps and platform teams
- •Privacy-sensitive API work
- •Open-source maintainers
- •Teams practicing API-as-code
What is Bruno?
Bruno is an open-source, offline-first API client that stores collections as plain files you can commit to Git. Created by Anoop M.D., it covers REST, GraphQL, gRPC, and WebSocket work on your filesystem using Bru markup and, increasingly, OpenCollection YAML. Pull requests review API definitions the same way they review application code. In 2026 Bruno moved fast. Version 3.0 (January 2026) added workspaces, a redesigned UI, improved Git UI, and YAML/OpenCollection support. Version 4.0.0 (23 July 2026) is the summer headline: BYOK (bring-your-own-key) AI sidebar with OpenAI-compatible providers, help for docs/scripts/tests, Apps for interactive request and collection UIs, secret-manager revamps, collection caching, a major Collection Docs redesign, OpenAPI Sync promoted to GA, richer WebSocket/gRPC/SSE handling, and CLI support for external secrets (AWS Secrets Manager, Azure Key Vault, HashiCorp Vault). macOS code-signing stayed careful through mid-2026 certificate rotations so updates remain trusted by Gatekeeper. Pricing on usebruno.com/pricing (August 2026): Open Source at $0 with the full core client; Pro at $6/user/month billed annually; Ultimate at $11/user/month billed annually; 14-day Ultimate trial without a credit card. Free tier includes HTTP/REST/GraphQL/gRPC client work, testing, scripting, docs, and community support. Paid tiers add deeper Git UI (merge conflict resolution, stash), more workspaces, OpenAPI sync volume, secret-manager integrations, SSO/SCIM (Ultimate), and support SLAs. Golden Edition one-time SKUs were sunset earlier; existing Golden users were grandfathered. Bruno stays offline by default. There is no mandatory cloud sync of collections. Collaboration is Git. That is still why regulated teams and open-source maintainers leave Postman. Competitors in 2026 include Postman (cloud ecosystem), Insomnia, Hoppscotch, and editor-embedded clients. Bruno's bet is developer-native files over SaaS workspaces. On Mac in 2026, prefer the official download or brew install --cask bruno, confirm Gatekeeper and notarization prompts, and grant only the disk access you need for collection folders. On Apple Silicon and macOS Tahoe 26.x, use current arm64 builds. Pin the cask version in team Brewfiles when CI depends on CLI behavior from @usebruno/cli. Re-check pricing and release notes when a major version lands (v3 and v4 both shipped with breaking-change pages). Export or commit collections before upgrades that rewrite on-disk formats, and keep a previous DMG handy for rollback. Store secrets in .env files that stay out of Git, not in shared .bru files.
Day-to-day Mac workflow is simple: keep a bruno/ folder next to each service, commit .bru or OpenCollection YAML with the PR that adds the endpoint, and run bru run in CI with @usebruno/cli. The free open-source core already covers REST, GraphQL, gRPC, and WebSocket requests with testing and scripting. Teams typically pay only when they want deeper Git UI (merge conflict resolution and stash), higher OpenAPI sync volume, secret-manager integrations, SSO/SCIM on Ultimate, or a support SLA. That split is why Bruno undercuts Postman seat math for many engineering squads while still offering Pro at $6/user/month annual and Ultimate at $11/user/month annual for orgs that need governance.
v3's workspaces matter when one person owns collections across multiple repos: you group them in one dashboard without merging directories. v4's BYOK AI sidebar is optional sugar for docs, scripts, and tests; the sticky reason people migrate remains collections-as-files. Import paths from Postman still work, though complex scripts may need tweaks. If you are upgrading a large team from earlier major versions, read the breaking-changes notes before rolling v4 across every laptop.
Closer look: Local-first architecture
Bruno's main architectural choice is to keep the GUI separate from data storage. The OS filesystem is the single source of truth for collections.
History & Background
Bruno rose after Postman cloud pressure and Insomnia login controversies. v3 (Jan 2026) and v4 (Jul 2026) mark its shift from niche rebel to a mainstream engineering option with optional commercial tiers. The pricing shift away from Golden Edition one-time SKUs toward Pro and Ultimate subscriptions is part of that mainstream turn: the free core stays usable, while governance features fund the company.
How It Works
Bruno is an Electron desktop app with a React/Next.js frontend and a Node.js backend. It uses a file-watch design: it monitors the filesystem for changes in .bru or .yml files and updates the UI in real time. That creates two-way binding between your code editor (for example VS Code) and the Bruno client. Because the filesystem is authoritative, Bruno can reopen a collection after a crash without reconciling against a remote workspace first.
Ecosystem & Integrations
By 2026 the ecosystem includes the Bruno CLI for automation, a VS Code extension for syntax showing, and a growing library of community recipe collections. OpenAPI compatibility lets you import Swagger specs and export them as testable Bruno collections. The official GitHub Action and Docker images for the CLI make the same collection runnable on a laptop and in CI without rewriting tests for a proprietary runner.
Future Development
Post-v4 focus areas visible in changelog velocity: AI assistance with user-owned keys, enterprise secrets, OpenAPI lifecycle, and CI/CLI hardening. Not a forced multiplayer cloud. Mid-2026 code-signing fixes on macOS matter operationally: unsigned or mistrusted updates are a common failure mode for Electron tools after certificate rotations.
Key Features
Git-native file collections (Bru + OpenCollection YAML)
Collections live as text files on disk. Diff them, open pull requests on them, and avoid proprietary cloud lock-in. v3 and v4 push OpenCollection YAML as a first-class format while Bru remains readable for day-to-day editing.
Local Workspaces
Group collections from different repos into one workspace dashboard. Useful for microservices when you do not want to merge directories into a single tree.
Scripting with npm modules
Pre-request and post-response JavaScript can require local npm packages (faker, dayjs, etc.) for advanced test data and assertions.
Bruno CLI and CI integrations
Run collections headlessly via @usebruno/cli, the official GitHub Action, and CLI Docker images. External secrets providers are supported in the v4 CLI (AWS Secrets Manager, Azure Key Vault, HashiCorp Vault).
BYOK AI assistant (v4)
Optional AI sidebar uses your keys and providers to help with docs, scripts, and tests, with model switching, diffs, history, and an AI security tab for context control. Not required for core API work.
OpenAPI Sync (GA)
Keep collections aligned with OpenAPI specs; v4 promotes sync to GA and preserves user-configured values during updates.
Offline-first privacy
No mandatory Bruno cloud for collections. Secrets stay local or in your secret managers. You choose what leaves the machine.
Who Should Use Bruno?
1The Full-Stack Team Lead
Sarah leads a team of 8 developers working on a microservices architecture. Previously, her team struggled with Postman collections becoming outdated because developers forgot to click "Sync." With Bruno, Sarah initializes a `bruno/` folder in the root of each service's Git repository. As she merges a Pull Request that adds a new `POST /checkout` endpoint, the PR includes the corresponding `checkout.bru` file. CI/CD pipelines automatically run `bru run` to validate these endpoints before deployment. The outcome is zero drift between the API code and the API documentation, and her team no longer pays for $20/user/month subscriptions just to share request definitions. When Ultimate SSO/SCIM is not required, the open-source client plus Git already covers sharing. When it is required, Ultimate at $11/user/month billed annually is the documented path rather than inventing a shadow IT stack.
2The Security-Conscious DevOps Engineer
Mark works for a healthcare startup handling HIPAA-compliant data. He is strictly forbidden from using cloud-synced tools that might accidentally cache patient data on external servers. Mark installs Bruno via Homebrew and configures his `env` secrets to never be committed to Git (using `.env` file integration). He uses Bruno to debug production APIs by tunneling through a secure bastion host. Because Bruno effectively acts as a local shell utility with a GUI, Mark can confidently audit the network traffic, knowing absolutely no telemetry or collection data is leaving his corporate MacBook. He successfully replaces a clumsy curl-script workflow with Bruno's UI. v4's external secrets support (AWS Secrets Manager, Azure Key Vault, HashiCorp Vault) in the CLI matches the same local-first bias: secrets resolve at run time without stuffing keys into committed files.
3The Automation QA Engineer
Elena is responsible for regression testing a legacy e-commerce API. She needs to generate complex, random datasets for stress testing. Using Bruno, she initializes a collection and runs `npm install @faker-js/faker` in the collection directory. In her "Pre Request" script, she writes standard JS to generate random user profiles and injects them into the request body. She then uses the **Bruno CLI** to integrate this collection into a nightly Jenkins build. If a test fails, the CLI outputs a detailed report that she can parse. The outcome is a solid, self-contained test suite that lives right next to the application source code. Because collections are files, the same branch that fixes a flaky endpoint can update the `.bru` assertion in one PR, which is harder to guarantee when the source of truth lives only in a cloud workspace.
How to Install Bruno on Mac
Install Bruno on macOS with Homebrew when you want easy updates, or download the binary from usebruno.com if you avoid package managers.
Install via Homebrew
Open your terminal and run the cask installation command to download the latest stable version:
brew install --cask bruno
Verify Installation
Once finished, verify the installation and check the version by launching the app or running:
ls /Applications/Bruno.app
Install Bruno CLI (Optional)
To run collections from your terminal or CI pipelines, install the companion CLI tool globally via npm:
npm install -g @usebruno/cli
Pro Tips
- • Grant Bruno 'Full Disk Access' in System Settings if you plan to store collections in protected system directories, though user home folders work by default.
- • Run
brew upgrade brunobi-weekly; the team ships updates frequently with new syntax features. - • Install the 'Bruno' extension for VS Code to get syntax showing for your
.brufiles.
Configuration Tips
Secrets Management with.env
Don't hardcode API keys. Create a .env file in your collection's root folder. Bruno automatically reads this. In your requests, reference secrets like {{process.env.API_KEY}}. Add .env to your .gitignore file immediately to prevent accidental leaks while keeping your .bru files safe to commit.
Configuring Proxy Settings
If you work behind a corporate firewall, Bruno respects your system proxy but often needs manual tweaking. Go to Preferences > Proxy and explicitly set your proxy URL if requests hang. You can also toggle 'Bypass SSL Verification' here for testing local endpoints with self-signed certificates.
Custom Theme & Font
For better readability during long sessions, enable the 'Latte' or 'VS Code Dark' theme introduced in v3. Navigate to Settings > Display and set your Editor Font to a nerd-font like 'JetBrains Mono' or 'Fira Code' to make the Bru DSL syntax and JSON responses easier to parse visually.
Alternatives to Bruno
The API client market in 2026 is crowded. Teams usually weigh Bruno against cloud-heavy tools and lighter web clients based on how much they need cloud sync versus local privacy.
Postman
Largest ecosystem and public API network, but cloud-centric commercial packaging. Bruno wins for Git-native offline collections and lower team cost on the free core or $6/$11 annual seats. Postman wins for non-dev stakeholders, hosted mock servers, and features that assume a cloud workspace.
Insomnia
Historically cleaner UX than Postman; cloud shifts pushed many users toward Bruno. Still fine for GraphQL-heavy work. Bruno leads when you need strict offline and Git purity with collections living as text in the repo.
Hoppscotch
Web-first and lightweight for quick calls in a browser. Bruno is stronger for long-lived, repo-backed collections, CLI runs in Jenkins or GitHub Actions, and teams that treat API definitions as code review artifacts.
Pricing
Open Source: $0. Pro: $6 per user per month billed annually. Ultimate: $11 per user per month billed annually. 14-day Ultimate trial, no credit card. Paid plans unlock deeper Git UI, automation, OpenAPI sync limits, enterprise identity (SSO/SCIM on Ultimate), secret-manager integrations, and support SLAs. Core offline client remains usable without paying.
Pros
- ✓True local-first collections as Git-friendly text
- ✓Generous free open-source core with CLI
- ✓Transparent Pro ($6) / Ultimate ($11) annual pricing
- ✓v4 BYOK AI without forcing a single vendor model
- ✓OpenAPI Sync GA and strong import paths
- ✓No per-seat tax required for basic team sharing via Git
Cons
- ✗UI polish still trails Postman's marketing surface
- ✗File-based mindset is a learning curve for cloud-only users
- ✗Paid Git/enterprise features needed for some org controls
- ✗Electron app, not a tiny native binary
- ✗Major v3/v4 jumps can include breaking changes
Community & Support
Bruno's community centers on GitHub and Discord. As of 2026 the GitHub repository has over 40,000 stars, with an active Discussions tab where the creator, Anoop, often replies. Support is community-driven: bugs reported on GitHub are often triaged within days. The Discord server has thousands of members sharing scripts and themes. Docs are solid, though they sometimes trail the fast v3/v4 release pace. You are talking to other developers, not ticket bots. Paid customers get support SLAs on higher tiers; everyone else relies on GitHub issues and Discord threads. Theme and script snippets travel quickly in Discord, which is useful when you are wiring faker or dayjs into pre-request scripts for the first time.
Video Tutorials
Getting Started with Bruno
More Tutorials
The BEST API Client - Open-Source & Git-friendly (Bruno)
Better Stack • 36.0K views
Bruno API Client Full Walkthrough 🚀 | Complete Beginner's Guide to All Features! #opensource
Ganesh Patil • 8.4K views
Bruno Rest API Client for Software Testing
EvilTester - Software Testing • 7.1K views
Frequently Asked Questions about Bruno
About the Author
Expert Tips for Bruno
August 2026 X polls still list Bruno beside Postman/Hoppscotch/Insomnia as a daily driver, mindshare is real, not niche.
Developers who fled Postman repeatedly cite “collections as files” as the sticky benefit; v4 AI is optional sugar, not the migration reason.
Treat Bru files like source: small PRs, code owners on bruno/ folders, and CLI runs in CI catch drift before production. That discipline matters more than which AI sidebar vendor you paste a key into.
Related Technologies & Concepts
Sources & References
Fact-CheckedLast verified: Aug 9, 2026
Key Verified Facts
- Pro is $6/user/month and Ultimate $11/user/month when billed annually; open source is $0.[cite-1]
- Bruno v4.0.0 shipped 23 July 2026 with BYOK AI and OpenAPI Sync GA.[cite-2]
- Bruno positions as a local Git-native alternative to cloud API clients.[cite-3, cite-6]
- Golden Edition one-time plans were sunset in favor of Pro/Ultimate subscriptions.[cite-5]
- 1Bruno Pricing
Accessed Aug 9, 2026
"Open Source $0; Pro $6/user/mo annual; Ultimate $11/user/mo annual; trial."
- 2Bruno Changelog v4.0.0
Accessed Aug 9, 2026
"23 Jul 2026 major release: BYOK AI, Apps, secrets, docs, OpenAPI Sync GA."
- 3Bruno homepage
Accessed Aug 9, 2026
"Git-native API client positioning for REST/GraphQL/gRPC/WebSocket."
- 4Bruno vs Postman 2026
Accessed Aug 9, 2026
"Independent 2026 pricing matrix aligning with free/Pro/Ultimate."
- 5State of Bruno Updates (pricing history)
Accessed Aug 9, 2026
"Sunset of Golden Edition; Pro $6 and Ultimate $11 annual subscriptions."
- 6
- 7
Research queries: Bruno API client creator history founding date; Bruno API client reviews 2025 2026; how to install Bruno on Mac Homebrew; Bruno Bru DSL syntax features; Bruno vs Postman vs Insomnia 2026 comparison