Skip to content

Prisma LSP >6.8.0 Crashes #13651

@ccssmnn

Description

@ccssmnn

Summary

The Prisma LSP crashed complaining about settings being null. There is an issue on the Prisma LSP repo for this. prisma/language-tools#1869

Unlike the recommended workaround setting enableDiagnostics as an LSP config does not fix this for me.

Reproduction Steps

To reproduce, install the latest prisma language server from npm and open a prisma file.
The LSP crashes complaining that settings is null.
Providing a custom LSP config like this does not help, see helix log later.

# ~/.config/helix/languages.toml
[language-server]
prisma-language-server = { command = "prisma-language-server", args = ["--stdio"], config = { enableDiagnostics = true } }

Helix log

~/.cache/helix/helix.log
2025-05-30T11:49:57.355 helix_lsp::client [INFO] Using custom LSP config: {"enableDiagnostics":true}
2025-05-30T11:49:57.355 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"general":{"positionEncodings":["utf-8","utf-32","utf-16"]},"textDocument":{"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"dataSupport":true,"disabledSupport":true,"isPreferredSupport":true,"resolveSupport":{"properties":["edit","command"]}},"completion":{"completionItem":{"deprecatedSupport":true,"insertReplaceSupport":true,"resolveSupport":{"properties":["documentation","detail","additionalTextEdits"]},"snippetSupport":true,"tagSupport":{"valueSet":[1]}},"completionItemKind":{}},"formatting":{"dynamicRegistration":false},"hover":{"contentFormat":["markdown"]},"inlayHint":{"dynamicRegistration":false},"publishDiagnostics":{"tagSupport":{"valueSet":[1,2]},"versionSupport":true},"rename":{"dynamicRegistration":false,"honorsChangeAnnotations":false,"prepareSupport":true},"signatureHelp":{"signatureInformation":{"activeParameterSupport":true,"documentationFormat":["markdown"],"parameterInformation":{"labelOffsetSupport":true}}}},"window":{"workDoneProgress":true},"workspace":{"applyEdit":true,"configuration":true,"didChangeConfiguration":{"dynamicRegistration":false},"didChangeWatchedFiles":{"dynamicRegistration":true,"relativePatternSupport":false},"executeCommand":{"dynamicRegistration":false},"fileOperations":{"didRename":true,"willRename":true},"inlayHint":{"refreshSupport":false},"symbol":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true,"failureHandling":"abort","normalizesLineEndings":false,"resourceOperations":["create","rename","delete"]},"workspaceFolders":true}},"clientInfo":{"name":"helix","version":"25.01.1 (e7ac2fcd)"},"initializationOptions":{"enableDiagnostics":true},"processId":28542,"rootPath":"/Users/carlassmann/Projects/...","rootUri":"file:///Users/carlassmann/Projects/...","workspaceFolders":[{"name":"daqqi","uri":"file:///Users/carlassmann/Projects/..."}]},"id":0}
2025-05-30T11:49:57.577 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Default version of Prisma 'prisma-schema-wasm': 2060c79ba17c6bb9f5823312b6f6b7f4a845738e"}}
2025-05-30T11:49:57.577 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Extension name @prisma/language-server with version 6.8.2"}}
2025-05-30T11:49:57.577 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Default version of Prisma 'prisma-schema-wasm': 2060c79ba17c6bb9f5823312b6f6b7f4a845738e"), "type": Number(3)}) })))
2025-05-30T11:49:57.577 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Default version of Prisma 'prisma-schema-wasm': 2060c79ba17c6bb9f5823312b6f6b7f4a845738e" }
2025-05-30T11:49:57.577 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Extension name @prisma/language-server with version 6.8.2"), "type": Number(3)}) })))
2025-05-30T11:49:57.577 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Extension name @prisma/language-server with version 6.8.2" }
2025-05-30T11:49:57.577 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Prisma Engines version: 6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e"}}
2025-05-30T11:49:57.577 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Prisma Engines version: 6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e"), "type": Number(3)}) })))
2025-05-30T11:49:57.577 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Prisma Engines version: 6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e" }
2025-05-30T11:49:57.577 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Prisma CLI version: 6.8.2"}}
2025-05-30T11:49:57.577 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Prisma CLI version: 6.8.2"), "type": Number(3)}) })))
2025-05-30T11:49:57.577 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Prisma CLI version: 6.8.2" }
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","id":0,"result":{"capabilities":{"definitionProvider":true,"documentFormattingProvider":true,"completionProvider":{"resolveProvider":true,"triggerCharacters":["@","\"","."]},"hoverProvider":true,"renameProvider":true,"documentSymbolProvider":true,"referencesProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix"]},"textDocumentSync":2}}}
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server <- {"capabilities":{"codeActionProvider":{"codeActionKinds":["quickfix"]},"completionProvider":{"resolveProvider":true,"triggerCharacters":["@","\"","."]},"definitionProvider":true,"documentFormattingProvider":true,"documentSymbolProvider":true,"hoverProvider":true,"referencesProvider":true,"renameProvider":true,"textDocumentSync":2}}
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","method":"initialized","params":{}}
2025-05-30T11:49:57.578 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: None, method: "initialized", params: None })))
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"enableDiagnostics":true}}}
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"prisma","text":"...my prisma doc","uri":"...","version":0}}}
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","id":0,"method":"client/registerCapability","params":{"registrations":[{"id":"b26e716e-22ed-491a-a61f-3be803e667b0","method":"workspace/didChangeConfiguration","registerOptions":{}}]}}
2025-05-30T11:49:57.578 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), MethodCall(MethodCall { jsonrpc: Some(V2), method: "client/registerCapability", params: Map({"registrations": Array [Object {"id": String("b26e716e-22ed-491a-a61f-3be803e667b0"), "method": String("workspace/didChangeConfiguration"), "registerOptions": Object {}}]}), id: Num(0) })))
2025-05-30T11:49:57.578 helix_term::application [WARN] Ignoring a client/registerCapability request because dynamic capability registration is not enabled. Please report this upstream to the language server
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","result":null,"id":0}
2025-05-30T11:49:57.579 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Configuration changed."}}
2025-05-30T11:49:57.579 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Configuration changed."), "type": Number(3)}) })))
2025-05-30T11:49:57.579 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Configuration changed." }
2025-05-30T11:49:57.579 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","id":1,"method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///Users/carlassmann/Projects/.../prisma/schema.prisma","section":"prisma"}]}}
2025-05-30T11:49:57.579 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), MethodCall(MethodCall { jsonrpc: Some(V2), method: "workspace/configuration", params: Map({"items": Array [Object {"scopeUri": String("file:///Users/carlassmann/Projects/.../prisma/schema.prisma"), "section": String("prisma")}]}), id: Num(1) })))
2025-05-30T11:49:57.579 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","result":[null],"id":1}
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "/Users/carlassmann/Library/pnpm/global/5/.pnpm/@prisma+language-server@6.8.2/node_modules/@prisma/language-server/dist/server.js:190\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "    if (settings.enableDiagnostics === false) {\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "                 ^\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "TypeError: Cannot read properties of null (reading 'enableDiagnostics')\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "    at validateTextDocument (/Users/carlassmann/Library/pnpm/global/5/.pnpm/@prisma+language-server@6.8.2/node_modules/@prisma/language-server/dist/server.js:190:18)\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "    at async /Users/carlassmann/Library/pnpm/global/5/.pnpm/@prisma+language-server@6.8.2/node_modules/@prisma/language-server/dist/server.js:207:5\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "Node.js v22.14.0\n"
2025-05-30T11:49:57.582 helix_lsp::transport [ERROR] prisma-language-server err: <- StreamClosed

Platform

macOS

Terminal Emulator

ghostty

Installation Method

brew

Helix Version

helix 25.01.1 (e7ac2fc)

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions