How does Neovim populate the runtimepath at launch?
12:40 30 Mar 2026

I am trying to upgrade from Neovim version 0.10.0 to 0.12.0. However, the runtimepath is still configured for version 0.10.0. When I run lua print(vim.inspect(vim.api.nvim_list_runtime_paths())) the output is as follows:

{ "/home/lucas/.config/nvim", "/home/lucas/Application-Data/nvim/0.10.0/nvim-linux64/share/nvim/runtime", "/home/lucas/Application-Data
/nvim/0.10.0/nvim-linux64/share/nvim/runtime/pack/dist/opt/matchit", "/home/lucas/Application-Data/nvim/0.10.0/nvim-linux64/lib/nvim" }

This is a problem because, when I try to open (say) a lua file, I get a bunch of errors corresponding to deprecated functions. I've tried to manually delete the extra runtimepath entries using lua vim.opt.runtimepath:remove(), but they are repopulated each time I launch Neovim.

It's been a while since I set the whole thing up, so I'm wondering how that is set on launch, and what I can modify so that the runtimepath is populated with the correctly-versioned directories on launch.

lua path neovim