#11723·pyright

Report serverInfo (name and version) in the initialize result

Author: tagawa0525Created Sep 9, 2026Updated Sep 9, 2026

Is your feature request related to a problem? Please describe.

A client, or a proxy in front of the server, cannot tell from the LSP handshake which server it is talking to or which version: pyright's InitializeResult has no serverInfo. The name and version appear only in the startup window/logMessage ("Pyright language server 1.1.412 starting"), which a client has to parse. serverInfo has been a standard field since LSP 3.15, and basedpyright already returns it.

Describe the solution you'd like

InitializeResult.serverInfo = { name: productName, version } in LanguageServerBase.initialize (packages/pyright-internal/src/languageServerBase.ts). It is a four-line change; I have it ready and can open a PR if this is acceptable.

Additional context

I use it in lsp-det (https://github.com/tagawa0525/lsp-det), a proxy that selects a per-server readiness mapping by the server's name and version. Today it has to read pyright's startup log for that.