Skip to content

Vue LSP throws an error silently after a diagnostic error, then stops working along with other LSP servers active in that file #92

@yeskunall

Description

@yeskunall

Reproduction steps

  1. With Vue language extension v0.3.0 installed create a new .vue file
  2. Add a basic Vue SFC scaffold for the composition API
  3. Add a new Div with an Emmet completion like ".test-class"
  4. Try to add an attribute to the Div like v-if="test"
  5. Try invoking another Emmet completion by typing '.' somewhere in the component template

Current vs. Expected behavior

Current behavior: something causes the vue-language-server to crash silently with the following errors in the LSP logs:

/Users/amxmln/Library/Application Support/Zed/extensions/work/vue/node_modules/@vue/language-service/lib/plugins/vue-template.js:604
                                ...meta?.props.map(prop => [prop.name, prop]) ?? [],
                                              ^

TypeError: Cannot read properties of undefined (reading 'map')
    at Object.provideAttributes (/Users/amxmln/Library/Application Support/Zed/extensions/work/vue/node_modules/@vue/language-service/lib/plugins/vue-template.js:604:47)
    at /Users/amxmln/Library/Application Support/Zed/extensions/work/vue/node_modules/vscode-html-languageservice/lib/umd/services/htmlCompletion.js:212:30
    at Array.forEach (<anonymous>)
    at collectAttributeNameSuggestions (/Users/amxmln/Library/Application Support/Zed/extensions/work/vue/node_modules/vscode-html-languageservice/lib/umd/services/htmlCompletion.js:211:31)
    at HTMLCompletion._doComplete (/Users/amxmln/Library/Application Support/Zed/extensions/work/vue/node_modules/vscode-html-languageservice/lib/umd/services/htmlCompletion.js:384:36)
    at HTMLCompletion.doComplete (/Users/amxmln/Library/Application Support/Zed/extensions/work/vue/node_modules/vscode-html-languageservice/lib/umd/services/htmlCompletion.js:54:33)
    at HTMLCompletion.doComplete2 (/Users/amxmln/Library/Application Support/Zed/extensions/work/vue/node_modules/vscode-html-languageservice/lib/umd/services/htmlCompletion.js:41:33)
    at /Users/amxmln/Library/Application Support/Zed/extensions/work/vue/node_modules/volar-service-html/index.js:153:39
    at async runWithVueDataProvider (/Users/amxmln/Library/Application Support/Zed/extensions/work/vue/node_modules/@vue/language-service/lib/plugins/vue-template.js:501:30)
    at async Object.provideCompletionItems (/Users/amxmln/Library/Application Support/Zed/extensions/work/vue/node_modules/@vue/language-service/lib/plugins/vue-template.js:229:95)

Node.js v24.13.0

This causes Emmet completions and other features like auto-imports, SCSS completions in the <style>-section, etc. to no longer work until the language server is manually restarted.

Expected behaviour: the vue-language-server works as intended and doesn’t silently crash.

Zed version and system specs

Zed: v0.220.3+stable.127.3d02817699175909ee72bf28305997094c5cef9d (Zed)
OS: macOS 26.2
Memory: 16 GiB
Architecture: aarch64

Attach Zed log file

Zed.log
2026-01-24T21:50:58+01:00 INFO  [lsp] Language server with id 6 sent unhandled notification eslint/status:
{
  "uri": "file:///Users/amxmln/Git/24-reasons/src/components/IntroGift.vue",
  "state": 1,
  "validationTime": 16
}
2026-01-24T21:50:58+01:00 WARN  [project::lsp_store] Linked editing range via vue-language-server failed: server shut down
2026-01-24T21:50:58+01:00 WARN  [project::lsp_store] Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:50:58+01:00 ERROR [crates/editor/src/linked_editing_ranges.rs:101] Linked editing range via vue-language-server failed: server shut down
2026-01-24T21:50:58+01:00 ERROR [editor] Failed to update project diagnostics: pulling diagnostics: Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:50:58+01:00 WARN  [project::lsp_store] Get document highlights via vue-language-server failed: server shut down
2026-01-24T21:50:58+01:00 ERROR [crates/editor/src/editor.rs:7144] Get document highlights via vue-language-server failed: server shut down
2026-01-24T21:50:58+01:00 WARN  [project::lsp_store] Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:50:58+01:00 WARN  [project::lsp_store] Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:50:58+01:00 WARN  [project::lsp_store] Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:50:58+01:00 ERROR [editor] Failed to update project diagnostics: pulling diagnostics: Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:50:58+01:00 ERROR [editor] Failed to update project diagnostics: pulling diagnostics: Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:50:58+01:00 ERROR [editor] Failed to update project diagnostics: pulling diagnostics: Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:50:59+01:00 WARN  [project::lsp_store] Get code actions via vue-language-server failed: server shut down
2026-01-24T21:50:59+01:00 ERROR [project::lsp_store] Error handling response for request GetCodeActions { range: Anchor { timestamp: Lamport {<local>: 1017}, offset: 1, bias: Left, buffer_id: Some(BufferId(4294967612)) }..Anchor { timestamp: Lamport {<local>: 1017}, offset: 1, bias: Left, buffer_id: Some(BufferId(4294967612)) }, kinds: None }: Get code actions via vue-language-server failed: server shut down
2026-01-24T21:51:01+01:00 INFO  [lsp] Language server with id 6 sent unhandled notification eslint/status:
{
  "uri": "file:///Users/amxmln/Git/24-reasons/src/components/IntroGift.vue",
  "state": 1,
  "validationTime": 18
}
2026-01-24T21:51:01+01:00 WARN  [project::lsp_store] Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:51:01+01:00 ERROR [editor] Failed to update project diagnostics: pulling diagnostics: Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:51:01+01:00 WARN  [project::lsp_store] Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:51:01+01:00 WARN  [project::lsp_store] Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:51:01+01:00 WARN  [project::lsp_store] Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:51:01+01:00 ERROR [editor] Failed to update project diagnostics: pulling diagnostics: Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:51:01+01:00 ERROR [editor] Failed to update project diagnostics: pulling diagnostics: Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:51:01+01:00 ERROR [editor] Failed to update project diagnostics: pulling diagnostics: Get diagnostics via vue-language-server failed: server shut down
2026-01-24T21:51:01+01:00 WARN  [project::lsp_store] Get code actions via vue-language-server failed: server shut down
2026-01-24T21:51:01+01:00 ERROR [project::lsp_store] Error handling response for request GetCodeActions { range: Anchor { timestamp: Lamport {<local>: 1022}, offset: 5, bias: Left, buffer_id: Some(BufferId(4294967612)) }..Anchor { timestamp: Lamport {<local>: 1022}, offset: 5, bias: Left, buffer_id: Some(BufferId(4294967612)) }, kinds: None }: Get code actions via vue-language-server failed: server shut down

Relevant Zed settings

settings.json
"languages": {
    "JavaScript": {
      "code_actions_on_format": {
        "source.fixAll.eslint": true
      },
      "format_on_save": "on"
    },
    "Vue.js": {
      "code_actions_on_format": {
        "source.fixAll.eslint": true
      },
      "prettier": {
        "allowed": false
      },
      "format_on_save": "on"
    }
  },

Relevant Keymap

keymap.json

(for AI issues) Model provider details

No response

If you are using WSL on Windows, what flavor of Linux are you using?

None


Originally posted by amxmln in zed-industries/zed#47561

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions