News Releases

Bazel Plugin Release: General Availability

The Bazel Plugin for IntelliJ IDEA Is Now Generally Available!

After much anticipation, we are finally ready to announce the general availability (GA) of the new Bazel plugin for IntelliJ IDEA, PyCharm, and GoLand – now developed by JetBrains! After months of focused development and valuable feedback from our EAP users, we’re officially launching our revamped Bazel experience.

While we’ve been shipping updates regularly, the leap to our 2025.2 GA release marks a major milestone. Even though our primary focus for this release was on creating the best experience we can for Java, Kotlin, and Scala developers, we also brought support for the Python and Go ecosystems, and we will continue to maintain and improve it in the coming releases.

If you’re migrating from the previous plugin originally released by Google, you’ll notice a more straightforward workflow that aligns with the standard JetBrains IDE experience you expect from other build tool integrations such as Maven and Gradle. Now, let’s dive into what’s new!

Key features in 2025.2

Bazel Query in Action

Bazel Query in Action

  • Go is a go. We’re officially rolling out support for Go. You can now import your Go targets in Bazel projects into both IntelliJ IDEA (with the Go plugin) and GoLand. This brings the full IDE experience you rely on: code highlighting, completion, navigation, and the ability to run, debug, and get coverage for your tests.
  • Built-in Bazel Query tool window: Go beyond sync and build with Bazel queries integrated directly into your IDE via their own dedicated tool window. Craft your queries with syntax completion and a helpful UI for flags to explore your project’s dependency graph without ever leaving the editor.
  • Dramatically faster indexing: We’ve optimized indexing to get you to your code faster. You can now use the import_depth and import_ijars settings in your .bazelproject file to prevent the indexing of deep transitive dependencies and index only header jars instead of full jars. What’s more, only the files directly referenced in your .bazelproject view are fully indexed for code intelligence, which can slash indexing times and memory usage in large projects with many auxiliary files.

New plugin, new user experience

Back in December, we publicly announced the EAP (Early Access Program) version of our new plugin and defined what it would take to release it into GA, with an overview of the main differences between the original plugin and the new one.

Here’s a quick recap for those moving from the older plugin: We’ve smoothed out the rough edges to make Bazel feel like a natural part of the IDE.

  • Simplified project import: The old import wizard is a thing of the past. Now, simply open a directory containing your MODULE.bazel or WORKSPACE file. For more control, you can open a specific .bazelproject view file. If you manage a large monorepo, you can provide a default template for your team by checking in a template at tools/intellij/.managed.bazelproject.
  • Redesigned UI elements: The Bazel tool window is now your central hub for actions like resyncing your project (with a Build and Resync option for generating sources) and keeping track of targets in your working set. We’ve also added a widget listing all targets the currently opened file belongs to. It allows you to run actions on these targets (build / test / jump to BUILD file / copy target label)
  • Reworked target mapping for JVM projects: A core improvement is the new internal representation for JVM targets, which mirrors the actual Bazel graph. This fundamental change enables more accurate highlighting, more accurate completions and more reliable refactoring.

Improvements since 2025.1

Windows compatibility

We understand that development doesn’t just happen on one OS. That’s why we worked on making our plugin compatible with Microsoft Windows, bringing most of the feature set to our Windows-based users.

Enhanced Bazel configuration support

We believe editing your build files should be as easy as editing your source code, which is why we’ve improved the user experience for all Bazel-related configuration files.

Starlark (.bzl, BUILD)

Starlark Quick Documentation

Starlark Quick Documentation

  • Quick documentation for Starlark rules: Hover over a Starlark rule or function to see its documentation directly in the editor. You’ll also get documentation as you type, guiding you through available parameters.
  • Automatic formatting: If you have buildifier on your PATH, the plugin will now automatically format your Starlark files on save

Bazel module configuration file (MODULE.bazel)

  • Intelligent editing: The MODULE.bazel editor now offers smart completions for arguments and displays documentation as you edit.

Bazel project view file (.bazelproject)

.bazelproject view highlighting and completions

.bazelproject view highlighting and completions

  • Guided editing: Get completions for section names and known values. The editor will now highlight completely unsupported sections as errors and sections that are supported in the old plugin originally by Google (but not in the new one) as warnings.
  • Manage directories from the Project view file tree: You can now right-click a directory in the project tree to add or remove it from your .bazelproject file, thus loading or unloading that directory in IntelliJ.

Bazelisk configuration file (.bazelversion):

  • Stay up to date: The editor will now highlight outdated Bazel versions specified in your .bazelversion file and offer a quick-fix to update to the latest release.

Language ecosystem enhancements

  • JVM:
    • The underlying project model mapping has been further improved, resulting in better performance during sync and more reliable refactorings for targets where glob patterns match the whole directory.
  • Scala:
    • The Bazel plugin now respects the scalacopts parameter in your scala_* targets, which unlocks Scala 3 highlighting features with the -Xsource:3 flag. At the same time, we’ve updated the Scala plugin to provide native integration with the Bazel plugin out of the box.
  • Python:
    • Run from the gutter: py_test and py_binary targets now get the familiar green Run arrow in the editor gutter.
    • Improved dependency resolution: Python dependencies are now resolved correctly, enabling code navigation and eliminating false error highlighting.
    • Interpreter from MODULE.bazel: The plugin now sets the Python interpreter based on what is defined in MODULE.bazel. This includes support for hermetic toolchains downloaded by rules_python meaning you don’t need to have Python installed locally on your machine.
    • Debugging: You can now attach the debugger to py_test targets.

What happens to the Bazel plugin by Google?

The Bazel for IntelliJ plugin (also known as IJwB) by Google is being deprecated. Google has transferred the code ownership and maintenance to JetBrains. We will keep providing compatibility updates for new IntelliJ versions and critical fixes only throughout the year of 2025, but will be fully deprecating it in 2026. All our development effort for IntelliJ IDEA, GoLand, and PyCharm is now focused on the new plugin.

The Bazel for CLion plugin (CLwB) has also been transferred to JetBrains, and will continue to be actively developed. Learn more in the post Enhancing Bazel Support for CLion on the CLion Blog.

Got feedback? We’re listening!

We’re committed to making this the best Bazel experience possible. Please report any issues, ideas, or improvements straight to our issue tracker.

Fixed the problem yourself? We accept PRs on our hirschgarten repository.

You’ll also find us on the Bazel Community Slack, in the #intellij channel.

Happy building!

image description