Neovim Treesitter Highlighting Not Working
Workaround available Windows, macOS, Linux Updated October 21, 2026
Quick answer
nvim-treesitter's default 'main' branch is an incompatible rewrite: it needs Neovim 0.12+, tree-sitter-cli and a C compiler, and no longer enables highlighting itself. Install parsers with require('nvim-treesitter').install() and call vim.treesitter.start().
Most likely fix: Enable highlighting yourself.
Symptoms
Plain or regex-based highlighting after updating, 'highlight = { enable = true }' having no effect, parser install errors, or Lua errors from nvim-treesitter on startup.
Why it happens
- Plugin updated to the 'main' branch rewrite, where the old setup table (highlight, ensure_installed) is ignored
- tree-sitter-cli missing or older than 0.26.1, or no C compiler on PATH
- Running Neovim 0.11, which 'main' no longer supports
- Lazy-loading nvim-treesitter (not supported)
How to fix it
Try these in order — the most common fix is first.
1. Enable highlighting yourself
- Add a FileType autocommand in init.lua that calls vim.treesitter.start()
- Or put vim.treesitter.start() in ftplugin/<filetype>.lua
2. Install parsers the new way
- Call require('nvim-treesitter').install({ 'lua', 'python', 'rust' })
- Run :TSUpdate as the plugin build step (e.g. build = ':TSUpdate' in lazy.nvim)
- Don't lazy-load the plugin
3. Install the requirements
- Install tree-sitter-cli 0.26.1+ from your package manager (not npm)
- Make sure tar, curl and a C compiler (gcc/clang) are on PATH
- Run :checkhealth nvim-treesitter
4. Staying on Neovim 0.11? Pin master
- Set branch = 'master' for nvim-treesitter in your plugin manager
- The frozen master branch remains for Nvim 0.11 compatibility
This guide also covers
- neovim treesitter not working
- nvim-treesitter main branch
- treesitter highlight not working neovim
- nvim-treesitter ensure_installed not working
Still not working?
If Neovim keeps failing, you're not alone. See every Neovim problem users report or the alternatives people switch to.
Other Neovim errors
- Neovim LSP Not Working or Not Attaching
- require('lspconfig') Is Deprecated Warning in Neovim
- Neovim Clipboard Not Working (clipboard: No provider)
- Neovim Colors Wrong in tmux
- Neovim Escape Key Delay in tmux
- Mason Failed to Install Language Server in Neovim
- Why Is Neovim So Slow? (Startup Lag and Large Files)
- Neovim Autocomplete Not Working (blink.cmp / nvim-cmp)
- Neovim Config Broke After Updating to 0.12
- Neovim Python Provider Not Working (pynvim)