---
title: 'Getting Help'
---

This page lists Bazel resources beyond the documentation and covers how to get
support from the Bazel team and community.

## Search existing material {:#search-material}

In addition to the documentation, you can find helpful information by searching:

* [Bazel user group](https://groups.google.com/g/bazel-discuss){: .external}
* [Bazel GitHub Discussions](https://github.com/bazelbuild/bazel/discussions){: .external}
* [Bazel blog](https://blog.bazel.build/)
* [Stack Overflow](https://stackoverflow.com/questions/tagged/bazel){: .external}
* [`awesome-bazel` resources](https://github.com/jin/awesome-bazel){: .external}

## Watch videos {:#videos}

There are recordings of Bazel talks at various conferences, such as:

* Bazel’s annual conference, BazelCon:
  * [BazelCon 2024](https://www.youtube.com/playlist?list=PLbzoR-pLrL6ptKfAQNZ5RS4HMdmeilBcw){: .external}
  * [BazelCon 2023](https://www.youtube.com/playlist?list=PLbzoR-pLrL6rUiqylH-kumoZCWntG1vjp){: .external}
  * [BazelCon 2022](https://www.youtube.com/playlist?list=PLbzoR-pLrL6rABfcAJO1VWeOUYL1kIn-p){: .external}
  * [BazelCon 2021](https://www.youtube.com/playlist?list=PLbzoR-pLrL6pO6BaaQ1Ndos53gfRVLEoU){: .external}
  * [BazelCon 2020](https://www.youtube.com/playlist?list=PLbzoR-pLrL6qZ5JRMtn20_s2uPz9vFYgU){: .external}
  * [BazelCon 2019](https://www.youtube.com/playlist?list=PLbzoR-pLrL6ogKgytQXqUxJQ6nZlIWoTH){: .external}
  * [BazelCon 2018](https://www.youtube.com/playlist?list=PLbzoR-pLrL6rBDwC0NMRPS8EJ0VRAW0QR){: .external}
  * [BazelCon 2017](https://www.youtube.com/playlist?list=PLbzoR-pLrL6qvwchdtlSopLgUrz4J4zKP){: .external}
* Bazel day on [Google Open Source Live](https://opensourcelive.withgoogle.com/events/bazel){: .external}

## Ask the Bazel community {:#community}

If there are no existing answers, you can ask the community by:

* Emailing the [Bazel user group](https://groups.google.com/g/bazel-discuss){: .external}
* Starting a discussion on [GitHub](https://github.com/bazelbuild/bazel/discussions){: .external}
* Asking a question on [Stack Overflow](https://stackoverflow.com/questions/tagged/bazel){: .external}
* Chatting with other Bazel contributors on [Slack](https://slack.bazel.build/)
* Consulting a [Bazel community expert](/community/experts)

## Understand Bazel's support level {:#support-level}

Please read the [release page](/release) to understand Bazel's release model and
what level of support Bazel provides.

## File a bug {:#file-bug}

If you encounter a bug or want to request a feature, file a [GitHub
Issue](https://github.com/bazelbuild/bazel/issues){: .external}.
