volar-3-breaking-changes.md 1.86 KB
title: Volar 3.0 Breaking Changes
impact: HIGH
impactDescription: fixes editor integration after Volar/vue-language-server upgrade
type: capability
tags: volar, vue-language-server, neovim, vscode, ide, ts_ls, vtsls

Volar 3.0 Breaking Changes

Impact: HIGH - fixes editor integration after Volar/vue-language-server upgrade

Volar 3.0 (vue-language-server 3.x) introduced breaking changes to the language server protocol. Editors configured for Volar 2.x will break with errors like "vue_ls doesn't work with ts_ls.. it expects vtsls".

Symptoms

  • vue_ls doesn't work with ts_ls
  • TypeScript features stop working in Vue files
  • No autocomplete, type hints, or error highlighting
  • Editor shows "Language server initialization failed"

Fix by Editor

VSCode

Update the "Vue - Official" extension to latest version. It manages the language server automatically.

NeoVim (nvim-lspconfig)

Option 1: Use vtsls instead of ts_ls

-- Replace ts_ls/tsserver with vtsls
require('lspconfig').vtsls.setup({})
require('lspconfig').volar.setup({})

Option 2: Downgrade vue-language-server

npm install -g @vue/language-server@2.1.10

JetBrains IDEs

Update to latest Vue plugin. If issues persist, disable and re-enable the Vue plugin.

What Changed in 3.0

Feature Volar 2.x Volar 3.0
Package name volar vue_ls
TypeScript integration ts_ls/tsserver vtsls required
Hybrid mode Optional Default

Workaround: Stay on 2.x

If upgrading is not possible:

npm install -g @vue/language-server@^2.0.0

Pin in your project's package.json to prevent accidental upgrades.

Reference