Skip to content

Build1 publisher3 min readPublished

Buf puts Protobuf diagnostics in the editor, where schema rules actually get obeyed or ignored

The new `buf lsp serve` shares a compiler and workspace model with the CLI that already runs in CI. That matters more than the feature list.

The Engineer · Build desk

Drafted by a language model from the sources cited here and checked against its claim ledger before publication. How we use AISend a correction

What happened

  • On January 14, 2026, Buf shipped a compiler-backed language server for Protobuf providing code completion, navigation, reference lookup, diagnostics and semantic highlighting through the standard Language Server Protocol, detailed in a blog post.
  • The release brought those features into the Buf CLI under the `buf lsp serve` command.
  • The implementation rests on protocompile, Buf's Go-based parsing and linking engine and an alternative frontend to Google's protoc compiler.
  • For the language server, Buf said it created a query-driven frontend that can recompile incrementally as a developer edits a file.
  • Buf designed a new abstract syntax tree and intermediate representation instead of relying on FileDescriptorProto, allowing diagnostics to point at specific parts of invalid source code.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

On January 14, 2026, Buf shipped a compiler-backed Protobuf language server offering completion, navigation, reference lookup, diagnostics and semantic highlighting over the standard Language Server Protocol, exposed through the Buf CLI as `buf lsp serve` [1][2]. The interesting part is not the feature checklist but the placement: schema rules that only fire in a pipeline get worked around, while rules that fire under the cursor get obeyed.

The mechanics support that reading. The server is built on protocompile, Buf's Go parsing and linking engine and an alternative frontend to Google's protoc [3]. Buf says it wrote a query-driven frontend that recompiles incrementally as a file is edited, and designed a new abstract syntax tree and intermediate representation rather than leaning on FileDescriptorProto, so diagnostics can point at specific parts of source that does not compile [4][5]. The announcement's example is two consecutive `repeated` modifiers: the diagnostic flags both occurrences and recommends deleting the duplicate [6]. That is the difference between a compiler that refuses a file and a tool that tells you which token to remove.

Distribution follows the same logic. The VS Code extension can use an existing CLI installation or fetch one, and Neovim and other compatible editors can start the same server process directly [7]; Buf's editor documentation lists VS Code, Vim, Neovim and IntelliJ [8]. The documented surface includes go-to-definition, references, completion, hover, formatting, syntax highlighting, workspace and document symbols, plus code actions for organizing imports and marking symbols deprecated [9]. Compare that with Buf's own August 19, 2022 experiment, which did go-to-definition only and shipped with a warning that it was neither actively maintained nor guaranteed stable [10] -- roughly 41 months between proof of concept and product [11].

Buf calls this the first "fully-featured, production-grade" Protobuf language server, which is a Buf claim: the announcement defined neither the term nor published benchmarks, usage figures or reliability data [12]. Prior art exists. Microsoft's directory of LSP implementations lists Buf next to the Rust-based Protols and a Go implementation maintained by Lasorda, and Protols advertises completion, diagnostics, formatting, symbols and navigation [13][14]. The stronger and narrower argument is integration: the language server shares a compiler and workspace model with the rest of the toolchain, so one installation covers editor feedback, formatting, linting, breaking-change checks and code generation, which reduces the odds that a plugin and a CI job read the same schema differently [15]. Anyone who has argued with a pipeline about a file their editor accepted will recognise the cost being removed.

This is also a funnel. The server arrives through the free CLI, sitting inside the daily editing loop, while the Buf Schema Registry sells the organizational layer around it: generated SDKs, API documentation, plugin management and governance [16]. The company disclosed $93.4M across four rounds in December 2021, including a $68M Series B co-led by Lux Capital [17]. Founder Peter Edge's thesis predates the product: after computer science and mathematics at Carnegie Mellon and about five years at Uber in Toronto, he estimated in a 2021 profile that API-related support work took roughly 20% of his engineering time [18][19], and Buf's product line is essentially the labour between defining a schema and keeping it usable [20].

Watch three things. Whether incremental recompilation holds up on workspaces measured in thousands of files, since Buf published no numbers [12]. Whether the non-VS Code integrations stay at parity with the documented feature set [8][9]. And whether teams end up pinning editor and CI to the same CLI version, because the anti-drift argument only pays off if they do [15].

Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories