Before: Save g:ale_cpp_clangtidy_checks Save g:ale_cpp_clangtidy_options runtime ale_linters/cpp/clangtidy.vim After: Restore call ale#linter#Reset() Execute(The clangtidy command default should be correct): AssertEqual \ 'clang-tidy -checks=''*'' %s', \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) Execute(You should be able to remove the -checks option for clang-tidy): let g:ale_cpp_clangtidy_checks = [] AssertEqual \ 'clang-tidy %s', \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) Execute(You should be able to set other checks for clang-tidy): let g:ale_cpp_clangtidy_checks = ['-*', 'clang-analyzer-*'] AssertEqual \ 'clang-tidy -checks=''-*,clang-analyzer-*'' %s', \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) Execute(You should be able to manually set compiler flags for clang-tidy): let g:ale_cpp_clangtidy_options = '-Wall' AssertEqual \ 'clang-tidy -checks=''*'' %s -- -Wall', \ ale_linters#cpp#clangtidy#GetCommand(bufnr(''))