---
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

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

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

## Watch videos

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

* Bazel’s annual conference, BazelCon:
  * [BazelCon 2023](https://www.youtube.com/playlist?list=PLxNYxgaZ8Rsefrwb_ySGRi_bvQejpO_Tj)
  * [BazelCon 2022](https://youtube.com/playlist?list=PLxNYxgaZ8RsdH4GCIZ69dzxQCOPyuNlpF)
  * [BazelCon 2021](https://www.youtube.com/playlist?list=PLxNYxgaZ8Rsc3auKhtfIB4qXAYf7whEux)
  * [BazelCon 2020](https://www.youtube.com/playlist?list=PLxNYxgaZ8RseRybXNbopHRv6-wGmFr04n)
  * [BazelCon 2019](https://youtu.be/eymphDN7No4?t=PLxNYxgaZ8Rsf-7g43Z8LyXct9ax6egdSj)
  * [BazelCon 2018](https://youtu.be/DVYRg6b2UBo?t=PLxNYxgaZ8Rsd3Nmvl1W1B4I6nK1674ezp)
  * [BazelCon 2017](https://youtu.be/3eFllvz8_0k?t=PLxNYxgaZ8RseY0KmkXQSt0StE71E7yizG)
* Bazel day on [Google Open Source Live](https://opensourcelive.withgoogle.com/events/bazel)

## Ask the Bazel 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)
* Starting a discussion on [GitHub](https://github.com/bazelbuild/bazel/discussions)
* Asking a question on [Stack Overflow](https://stackoverflow.com/questions/tagged/bazel)
* Chatting with other Bazel contributors on [Slack](https://slack.bazel.build/)
* Consulting a [Bazel community expert](/versions/8.6.0/community/experts)

## Understand Bazel's support level

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

## File a bug

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