---
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)
* [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 {#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 {#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.7.0/community/experts)

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

Please read the [release page](/versions/8.7.0/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).
