As defined in the spec [here](https://microsoft.github.io/language-server-protocol/specification#textDocument_completion) Completion Request can return null: > textDocument/completion > ... > Response: > result: CompletionItem[] | CompletionList | null However, if a server returns null from Completion Request, an unhandled is thrown on client (most probably, [here](https://github.com/OmniSharp/csharp-language-server-protocol/blob/1b6788df2600083c28811913a221ccac7b1d72c9/src/Protocol/Serialization/Converters/CompletionListConverter.cs#L43)).