Products · Product
Bazel
Raised as a usability problem by 76 people on Hacker News over 12 years (2015–2026), in 66 threads.
No issue was raised by at least 3 people in 3 threads this year.
- 1
- 2
Every issue, all time, most people first
Build errors are hard to work through, so people give upUnreviewed
20152026- Maintaining builds across language and Bazel version upgrades takes incredibly high effort2025-12-25
- Bazel is not trivial and blocks things the underlying toolchain allowed, forcing code changes2024-07-31
- Bazel forces vendoring dependencies to get repeatable builds, and rule collisions lock projects in2024-04-04
Builds are slow, with startup and cache invalidation wasting daily timeUnreviewed
20152026- Builds are slow and IDE, debugger and refactoring tools don't work properly2024-10-27
- Build is slow locally and on CI, and the IntelliJ plugin is janky2024-10-23
- Needs non-obvious ongoing setup; without it, builds slow and local development gets messy2023-12-02
Poor docs mean novel tasks take days of reading sourceUnreviewed
20152026- Documentation is poor, so novel tasks take days of reading source code2025-01-11
- Deeper features overwhelm users; documentation does not explain new concepts well enough2024-05-21
- Documentation is abysmal, making it hard to learn the tool2019-12-23
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 50 complaints
- Moving to Bazel is painful and onramps are lacking2026-07-28
- Hard to understand the internal model, so the commenter gives up on it2026-05-13
- Even simple projects need a ton of setup and deep knowledge to troubleshoot unclear errors2026-03-25
- Maintaining builds across language and Bazel version upgrades takes incredibly high effort2025-12-25
- Complicated and slow; basic needs require building custom rules2025-12-24
- Hard to fix or debug anything outside the happy path without expert knowledge2025-07-16
- Monorepo orchestration tools like Bazel are complex and hard for many people to pick up2025-05-28
- Documentation is poor, so novel tasks take days of reading source code2025-01-11
- Extremely hard to get started with, steep learning curve2024-12-30
- Using it outside a monorepo requires jumping through many hoops2024-12-12
- Existing rules don't do things the way you want, forcing custom code and hidden behavior debugging2024-12-11
- Builds are slow and IDE, debugger and refactoring tools don't work properly2024-10-27
- Build is slow locally and on CI, and the IntelliJ plugin is janky2024-10-23
- Virtually unusable for anyone outside Google2024-09-07
- Bazel is not trivial and blocks things the underlying toolchain allowed, forcing code changes2024-07-31
- Build failures gave unhelpful diagnostics and documentation said little useful2024-06-29
- Giving up language-native tools makes the development inner loop harder2024-06-06
- Deeper features overwhelm users; documentation does not explain new concepts well enough2024-05-21
- Complicated language, incomprehensible build files, underinvested tooling and docs2024-05-21
- So esoteric that ordinary engineers can't understand or maintain it, causing breakages2024-04-07
- Bazel forces vendoring dependencies to get repeatable builds, and rule collisions lock projects in2024-04-04
- Complex builds with rules_oci take minutes to an hour and are hard to manage2024-03-16
- Bazel had poor IntelliJ support, making it hard to use in the IDE2024-01-05
- Gives up on Bazel build errors because they are hard to work through2024-01-05
- Poor IDE support; can't easily run a specific test from the UI2023-12-03
- Hard to integrate with familiar build tools; lost time learning quirks2023-12-03
- Needs non-obvious ongoing setup; without it, builds slow and local development gets messy2023-12-02
- Stack traces are cluttered with long random hash directory paths, burying the actual error line2023-12-02
- Build fails with confusing JAVA_HOME JDK-versus-JRE error for a non-Java user2023-10-03
- Hard to build an old TensorFlow version with a non-default flag, leaving the user feeling inept2023-09-03
- Requires a PhD-level effort to set up properly, and docs are lacking2023-07-07
- Bazel is slower and less snappy on the command line than Buck22023-06-28
- Must split steps into awkward multiple files to load dependencies in the right order2023-04-07
- Off the beaten path, the ecosystem makes it hard to solve problems yourself2023-04-07
- Every added source file must also be manually registered in a BUILD file2023-03-24
- Auth failures show as opaque Java exceptions, confusing C/C++ developers2023-01-31
- Debugging a failed Bazel build config is a major hassle2023-01-11
- Build tools like Bazel are very high-effort and complex, needing dedicated engineers to keep running2022-12-19
- Hard to use; author could not figure out how to build a multiarch Go image2022-11-18
- Every task must go through Bazel commands instead of native tools, adding overhead2022-09-18
- Builds are very slow, with startup and cache invalidation wasting developer time daily2022-09-14
- Existing codebase layout clashed with Bazel's expected structure, making dependency and include setup frustrating2022-09-13
- Must copy source into the container and rebuild there, taking 10-15 minutes2022-07-28
- Toolchain system is confusing; author couldn't understand it after reading all its docs2022-06-23
- IDE cannot see generated mocks, losing autocompletion and syntax checks2022-05-18
- Bazel's sandbox and input verification break or slow down JavaScript monorepos with large node_modules2022-04-08
- Documentation assumes prior Bazel experience; hard for newcomers to find the happy path2022-04-07
- Must first build the right Bazel version, then wait ages for compilation2021-05-21
- Adding a toolchain requires writing confusing, over-inherited Java plugins2021-05-02
- Docs are sparse, misleading and contradictory, so the user can't work out how to write rules2021-04-08