IDF Clang-Tidy


The IDF Clang Tidy is a tool that uses clang-tidy to run static analysis on your current app.


This functionality and the toolchain it relies on are still under development. There may be breaking changes before a final release.

Only clang based toolchain is currently supported. It has to be activated by setting IDF_TOOLCHAIN=clang in the environment or in CMake cache before configuring the project.


If you have never run this tool before, take the following steps to get this tool prepared.

  1. Run install esp-clang to install the clang-tidy required binaries


    This toolchain is still under development. After the final release, you do not have to install them manually.

  2. Run the export scripts ( / export.bat / ... ) again to refresh the environment variables.

Extra Commands


Run clang-check to re-generate the compilation database and run clang-tidy under your current project folder. The output would be written to <project_dir>/warnings.txt.

Run clang-check --help to see the full documentation.


  1. Run pip install codereport to install the additional dependency.

  2. Run clang-html-report to generate an HTML report in folder <project_dir>/html_report according to the warnings.txt. Please open the <project_dir>/html_report/index.html in your browser to check the report.

Bug Report

This tool is hosted in espressif/clang-tidy-runner. If you were to face any bugs or have any feature request, please report them via Github issues