Buf shipped a compiler-backed Protobuf language server for major editors

Buf integrated its Protobuf language server into the CLI after a limited 2022 proof of concept.

By · Published

Primary source: Buf

Why it matters

Buf is using compiler-level editor tooling as a free distribution layer for its schema registry, extending Peter Edge's Uber-informed thesis into every `.proto` edit.

Buf shipped a compiler-backed Protobuf language server across major editors — Peter Edge's developer-tools company folded the server into its CLI after a limited 2022 proof of concept.

On January 14, 2026, Peter Edge's Buf shipped a compiler-backed language server for Protobuf, giving developers code completion, navigation, reference lookup, diagnostics and semantic highlighting through the standard Language Server Protocol. The release, detailed in a blog post, brought those features into the Buf CLI under the buf lsp serve command.

The launch extended a thesis Edge carried out of Uber: schema-driven development works only when the surrounding tools remove the manual labor required to maintain it. Edge studied computer science and mathematics at Carnegie Mellon University before spending about five years at Uber in Toronto. He later estimated that API-related support work consumed roughly 20% of his engineering time, according to a 2021 profile.

That experience became the foundation for Buf. Edge has built Buf around the work between defining a schema and keeping it usable across a large engineering organization: compilation, formatting, linting, code generation, dependency management, breaking-change detection and registry governance. Editor intelligence moves Buf closer to the point where developers first create and change those schemas.

Four years from experiment to product

Buf had already released an experimental Protobuf language server on August 19, 2022. That proof of concept supported only go-to-definition, and Buf explicitly said it was not actively maintained or guaranteed to be stable.

The January release was a different implementation with a larger product surface. The server was bundled into the Buf CLI, while Buf's VS Code extension could use an existing CLI installation or install one automatically. Neovim and other compatible editors could start the same server process directly. Buf's current editor documentation lists integrations for VS Code, Vim, Neovim and IntelliJ.

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 also 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.

One example in the announcement shows the server detecting two consecutive repeated modifiers. The diagnostic identifies both occurrences and recommends removing the duplicate. That degree of source awareness matters in an editor, where a generic compiler failure gives a developer less useful guidance than an error tied to the exact token and its conflicting declaration.

Buf's current documentation lists go-to-definition, references, completion, hover information, formatting, syntax highlighting, workspace symbols and document symbols. It also lists code actions for organizing imports and marking Protobuf symbols as deprecated.

The first claim needs qualification

Buf described the release in its announcement as the first "fully-featured, production-grade" Protobuf language server. That is a Buf claim, and the announcement did not define production-grade or publish benchmarks, usage figures or reliability data.

Other Protobuf language servers existed before Buf's January release. Microsoft's directory of LSP implementations lists Buf alongside two alternatives: the Rust-based Protols and a Go implementation maintained by Lasorda. Protols advertises completion, diagnostics, formatting, symbols and navigation, making any broad claim that Protobuf previously lacked LSP support difficult to sustain.

Buf has a narrower and stronger case. Its language server shares a compiler and workspace model with the rest of the Buf toolchain. A developer can use the same installation for editor feedback, formatting, linting, breaking-change checks and code generation. That integration reduces the chance that an editor plugin and a continuous integration pipeline interpret the same schema differently.

The architecture also gives Buf a distribution path for its commercial products. The language server arrives through the free CLI, placing Buf inside the daily editing loop. The Buf Schema Registry sells the organization-level layer around those local workflows, including generated SDKs, API documentation, plugin management and governance.

Edge's infrastructure bet

Buf disclosed $93.4M across four rounds in December 2021. The financing included a $68M Series B co-led by Lux Capital and Tiger Global, following rounds led by Addition, Lightspeed Venture Partners and Amplify Partners. Axios reported at the time that Buf intended to use much of the capital for hiring.

That funding gave Edge room to invest in compiler and developer-tooling work whose commercial payoff depends on broad adoption over time. The language server follows the same pattern as Buf's formatter, breaking-change checker and code-generation tools: solve a recurring engineering problem locally, then connect that workflow to a registry that companies can standardize across teams.

As of August 16, 2026, buf lsp serve remains documented as a supported CLI command. The release has therefore moved beyond Buf's unmaintained 2022 experiment and into the main toolchain. Adoption and revenue figures for the language server are not established by Buf's materials, leaving conversion into registry usage as the central business test.

Edge's original complaint was that engineers spent too much time rebuilding schema infrastructure inside individual companies. The language server takes that argument into the editor. Every completion, diagnostic and import fix removes another small reason for a team to assemble its own Protobuf tooling, while giving Buf another route into the systems that govern APIs across an organization.

Reader comments

Conversation for this story loads after sign-in.