TL;DR
Bruno is an excellent local API client with genuine strengths, but it has real gaps that matter depending on your workflow. No cloud sync, no mock server, no API docs, limited team features, and weaker scripting than Postman. This review is honest about each gap and when it actually matters.
Introduction
Bruno has earned its reputation. It’s fast, open source, MIT-licensed, and stores everything in git-friendly plain text. The GitHub community is active, the maintainers are responsive, and the core use case – making and testing HTTP requests locally – works well.
But the “no bloat” philosophy has a cost. Some of the features Bruno doesn’t have aren’t bloat – they’re things real teams actually need. This article goes through the major limitations honestly, explains when each one matters, and suggests what to reach for instead.
Limitation 1: No cloud sync
What’s missing: Bruno has no built-in mechanism to sync collections across machines or team members. The Bru Cloud feature was announced as an optional paid service, but the core product remains local-only.
How teams work around it: Git repositories. You push your collection folder to GitHub, GitLab, or Bitbucket, and team members pull it. This works well when everyone has git discipline.
When it hurts:
- You need to share a quick test with a colleague who doesn’t use git regularly
- Your team includes QA engineers or PMs who aren’t comfortable with git workflows
- You want to make a change and have it reflected on a teammate’s machine in under a minute
- You work across multiple machines and want changes to sync automatically
What to use instead: Apidog’s optional cloud sync keeps collections in sync across the team without requiring a git commit cycle. If pure git is acceptable, the Bruno + git approach is fine for developer-only teams.
Limitation 2: Git is the only team collaboration mechanism
What’s missing: Bruno has no workspace concept, no shared project dashboard, no comments on requests, no role-based access control. The entire “team” experience is mediated through git.
When it hurts:
- A team member creates a breaking change to a shared request and no one knows until something fails in CI
- You want to assign requests to team members or track who made a change and why
- Non-developer stakeholders (clients, technical writers, product managers) need read access to the API collection without a git account
- You need to restrict who can modify production environment credentials
What to use instead: Tools with proper workspace features – Apidog gives you RBAC, shared workspaces, and viewer roles so stakeholders can access docs without touching collections.
What Bruno actually provides: Full git history is genuinely useful. Every change to every request is tracked with author, timestamp, and commit message. That’s more than most tools offer, but it’s not a substitute for collaboration features.
Limitation 3: No built-in mock server
What’s missing: Bruno cannot serve mock responses. There’s no way to tell Bruno “act as the API server and return these responses.”
When it hurts:
- Frontend development depends on an API that isn’t built yet
- You want to run automated tests against a stable, predictable mock rather than a live environment
- Your staging environment is unstable and you want isolated testing
- Contract testing between services requires a mock of each service’s API
What to use instead:
- Apidog Smart Mock – generates mock responses from your API spec automatically
- WireMock – standalone Java-based mock server, more setup but very flexible
- MSW (Mock Service Worker) – excellent for frontend development in the browser
- Prism – OpenAPI-based mock server, CLI-first
The lack of a mock server is the most common limitation Bruno users cite when their teams grow. It’s genuinely absent, not just “hidden in a menu.”
Limitation 4: No API documentation generation
What’s missing: Bruno cannot generate API documentation from your collections. There’s no hosted docs URL, no export to HTML or Markdown, no OpenAPI schema generation.
When it hurts:
- You need to share API documentation with external developers or partners
- Your team writes API docs manually in a separate tool (high maintenance cost)
- Onboarding new developers means pointing them at a Notion page or Confluence doc that drifts from the real API
- You need to publish a public API reference
What to use instead:
- Apidog – generates and hosts API docs directly from the spec, keeps them in sync
- Stoplight – API design and docs platform
- Redoc or Swagger UI – self-hosted documentation from OpenAPI specs
Many teams initially don’t think they need docs generation. They reconsider when onboarding takes three hours per new developer.
Limitation 5: Weaker scripting compared to Postman
What’s available in Bruno: Pre-request and post-response scripts in JavaScript, using the bru namespace. You can set variables, chain requests, write assertions with Chai, and do most common things.
What’s missing compared to Postman:
- No Postman-style library of pre-built utilities
- The
brunamespace is less documented than Postman’spm require()inside scripts has limitations (access to Node built-ins is restricted by default)- No GUI script builder for non-developers
- Error messages in failed scripts are less descriptive
When it hurts:
- Complex authentication flows requiring multiple pre-request calculations
- Scripting for developers who prefer Postman’s more extensive API
- QA automation engineers who built elaborate Postman script libraries
Workaround: Most Postman scripts convert to Bruno with a namespace swap (pm. becomes bru.). Scripts with complex require() dependencies need more work.
Limitation 6: No enterprise features
What’s missing: No SSO (SAML, LDAP), no audit logs, no compliance exports, no admin console, no fine-grained permissions beyond git.
When it hurts:
- Enterprise environments where IT requires SSO for all tools
- Security audits that require logs of who accessed which API credentials
- Regulated industries (finance, healthcare) with compliance requirements
- Large organizations (50+ developers) where access management matters
This is a deliberate product decision, not an oversight. Bruno is not trying to be an enterprise product.
What to use instead: Apidog for teams that need RBAC. Postman Enterprise or Insomnia Enterprise for organizations that need full enterprise compliance features.
Limitation 7: Desktop-only, no web interface
What’s missing: Bruno has no web app. You can’t open it in a browser, share a live collection URL, or use it on a machine where you can’t install software.
When it hurts:
- You’re working from a locked-down corporate machine where you can’t install software
- You want to share a runnable API collection with someone who doesn’t have Bruno installed
- Your team uses Chromebooks or thin clients
- You need browser-based access for a specific compliance reason
What to use instead: Apidog has both a desktop app and a web interface. Hoppscotch is browser-based and open source if you specifically need a web client.
FAQ
Is Bruno still worth using despite these limitations?Yes, for the right use case. Solo developers and small teams with git discipline get a fast, zero-cost, privacy-respecting tool that does the core job well. The limitations only bite when you need features Bruno deliberately omits.
Will Bruno add cloud sync eventually?Bru Cloud was announced as an optional paid tier. When and how it ships remains to be seen. The core app is expected to stay local-first.
Can I use Bruno for API design (writing OpenAPI specs)?No. Bruno is an API client, not an API design tool. You can’t write or validate OpenAPI specs in Bruno. Use Apidog, Stoplight, or a code editor with an OpenAPI extension for API design.
Does Bruno support WebSocket or gRPC?WebSocket support is limited. gRPC is not supported as of the current stable version. If your team uses gRPC extensively, Bruno is not the right tool.
Are there plans to add a mock server to Bruno?No official roadmap item for a built-in mock server as of 2026. The maintainers’ philosophy favors doing a few things well over expanding scope.
How does Bruno compare to Insomnia for teams?Insomnia has cloud sync and a paid team plan. It’s closer to Postman in feature set. Bruno is more minimal. For teams that specifically need cloud sync without going to Apidog or Postman, Insomnia is worth considering.
Bruno’s limitations aren’t bugs – they’re the result of deliberate design choices. Knowing what those choices are upfront saves you from discovering them mid-project.



