What
The nvim-treesitter/nvim-treesitter repository was archived on April 3, 2026 and is now read-only. No further bug fixes, compatibility patches, or query updates will come from it.
This is separate from the narrower issue #63 (TSSync query divergence): the entire plugin is now frozen.
Where
lua/config/plugins.lua:10 — the package spec pointing to https://github.com/nvim-treesitter/nvim-treesitter.git.
The plugin is used in two places:
lua/config/treesitter.lua:79 — ts.install() for parser management
lua/config/treesitter.lua:166–167 — require("nvim-treesitter.config").get_install_dir(...) for locating parser/queries dirs
Why it matters
With 0.12 now stable and moving toward 1.0, the core Neovim treesitter API (vim.treesitter.*) is stable. The frozen plugin's require("nvim-treesitter.config") internals could break against a future Neovim release without any upstream fix available.
Migration options
-
Switch to the community fork neovim-treesitter/nvim-treesitter — a full incompatible rewrite with a distributed per-language query model. Requires fresh setup (not a drop-in swap).
-
Switch to tree-sitter-manager.nvim — a lightweight replacement for the parser-management functionality only (install/update parsers), keeping vim.treesitter.* calls as-is.
-
Remove the plugin entirely — the config already calls vim.treesitter.start() directly for highlighting and the build_latest_parsers / TSSync workflow in treesitter.lua uses tree-sitter CLI directly. The only dependency on nvim-treesitter is ts.install() and get_install_dir(). These could be replaced with a small helper that shells out to tree-sitter build and uses a fixed well-known parser dir.
Recommended action
Evaluate option 3 first — it has the smallest surface area given that the config already manages parsers with the CLI. If query files from nvim-treesitter-textobjects require nvim-treesitter's query infrastructure, option 2 is the safer fallback.
What
The
nvim-treesitter/nvim-treesitterrepository was archived on April 3, 2026 and is now read-only. No further bug fixes, compatibility patches, or query updates will come from it.This is separate from the narrower issue #63 (TSSync query divergence): the entire plugin is now frozen.
Where
lua/config/plugins.lua:10— the package spec pointing tohttps://github.com/nvim-treesitter/nvim-treesitter.git.The plugin is used in two places:
lua/config/treesitter.lua:79—ts.install()for parser managementlua/config/treesitter.lua:166–167—require("nvim-treesitter.config").get_install_dir(...)for locating parser/queries dirsWhy it matters
With 0.12 now stable and moving toward 1.0, the core Neovim treesitter API (
vim.treesitter.*) is stable. The frozen plugin'srequire("nvim-treesitter.config")internals could break against a future Neovim release without any upstream fix available.Migration options
Switch to the community fork
neovim-treesitter/nvim-treesitter— a full incompatible rewrite with a distributed per-language query model. Requires fresh setup (not a drop-in swap).Switch to
tree-sitter-manager.nvim— a lightweight replacement for the parser-management functionality only (install/update parsers), keepingvim.treesitter.*calls as-is.Remove the plugin entirely — the config already calls
vim.treesitter.start()directly for highlighting and thebuild_latest_parsers/TSSyncworkflow intreesitter.luausestree-sitterCLI directly. The only dependency on nvim-treesitter ists.install()andget_install_dir(). These could be replaced with a small helper that shells out totree-sitter buildand uses a fixed well-known parser dir.Recommended action
Evaluate option 3 first — it has the smallest surface area given that the config already manages parsers with the CLI. If query files from nvim-treesitter-textobjects require nvim-treesitter's query infrastructure, option 2 is the safer fallback.