Fun fact: ALE doesn't check your code. ALE doesn't produce any warnings. What ALE does do, it *runs code checkers* that do the actual code checking and aggregates their output. The question doesn't say but it's pretty obvious this one's about Python. Now, if you just call `:ALEInfo` (the single command you need to memorize when using ALE), you will see which tools are run and the warnings they report. It's a lot of text and you will need to scroll down a while. In my example, I see C0103 (invalid-name) Function name "camelCase" doesn't conform to snake_case naming style reported by `pylint`. Now you can Google how to shut `pylint` up. I'll show you two ways. You can set a variable for ALE to forward to `pylint` :let g:ale_python_pylint_options='--disable=C0103' or create a simple `pylintrc` like this one ```ini [SECTION MANDATORY BUT IGNORED] disable=C0103 ``` And the warning is gone. BTW, [PEP-8 wants snake_case](https://peps.python.org/pep-0008/#function-and-variable-names) so it would be better to just use it instead of disabling the warning.