macOS
brew install protoc-gen-golocal Homebrew formula metadata
brew / rank 1367
Go support for Google's protocol buffers. Version 1.36.12 via Homebrew; verified 2026-09-13. Also installable with debian: sudo apt install protoc-gen-go.
install
brew install protoc-gen-golocal Homebrew formula metadata
sudo apk add protoc-gen-goAlpine Linux edge package indexes · protoc-gen-go · source: dl-cdn.alpinelinux.org
sudo apt install protoc-gen-goDebian stable package indexes · protoc-gen-go · source: deb.debian.org
nix profile install nixpkgs#protoc-gen-gonixpkgs package indexes · pkgs/by-name/pr/protoc-gen-go/package.nix · source: api.github.com
sudo zypper install protoc-gen-goopenSUSE Tumbleweed package metadata · protoc-gen-go · source: download.opensuse.org
sudo dnf install golang-google-protobufFedora Rawhide package metadata · golang-google-protobuf · source: dl.fedoraproject.org
overview
Go support for Google's protocol buffers
history
protoc-gen-go is the official Protocol Buffers compiler plugin for generating Go message types and supporting code from .proto schemas. It belongs to the google.golang.org/protobuf implementation and is distinct from the gRPC-specific Go generator.
Go's first Protocol Buffer bindings were announced in March 2010 and included both a protoc code-generation plugin and a Go runtime package.
On 2 March 2020, the Go team released google.golang.org/protobuf as APIv2, a major overhaul adding first-class protobuf reflection, dynamic messages, improved testing support, and a cleaned-up API surface. protoc-gen-go is the compiler plugin within that module.
On 16 December 2024, the Go team announced the Opaque generated-code API. The established Open Struct API remained supported, allowing users to migrate without an abrupt removal of existing generated-code behavior.
The Go protobuf bindings grew alongside Go from their initial pre-Go-1 form into a widely used serialization foundation. The 2020 APIv2 module allowed gradual adoption by making the older APIv1 module interoperate with the new implementation.
The generator is packaged across Homebrew and multiple Linux-oriented package managers in source_facts.package-manager, while upstream recommends installation with go install. It is routinely used by Go projects that exchange protobuf messages or combine message generation with gRPC service generation.
Install the plugin with go install, ensure it is on PATH, and invoke protoc with --go_out plus any --go_opt values. Each generated Go package needs an import path, usually supplied through the .proto file's go_package option; output placement can be import-path-based or source-relative. The tool uses command-line options and schema declarations rather than a documented persistent config or credentials file.
protoc-gen-go sits at the boundary between a language-neutral schema compiler and Go's module ecosystem. Generator version, runtime-library version, import-path mapping, and generated-code API selection can materially affect reproducibility and compatibility.
The 2020 APIv2 migration and the later Opaque API illustrate how a mature code generator can evolve representation and reflection behavior while retaining compatibility paths for existing generated code.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
protoc-gen-go | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/protocolbuffers/protobuf-go
install metadata
| Package key | brew:protoc-gen-go |
|---|---|
| Version | 1.36.12 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/protoc-gen-go |
| Homepage | https://github.com/protocolbuffers/protobuf-go |
| Repository | https://github.com/protocolbuffers/protobuf-go |
| License | BSD-3-Clause |
| Source archive | https://github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.36.12.tar.gz |
| Last updated | 2026-09-13T09:40:44+02:00 |
| Pulse | updated |
| Dependencies | protobuf |
| Build dependencies | go |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | protoc-gen-go |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
protoc-gen-go 1.36.5-1
Go plugin for protobuf compiler (APIv2)
https://github.com/protocolbuffers/protobuf-go
sudo apt install protoc-gen-goprotoc-gen-go
nix profile install nixpkgs#protoc-gen-goprotoc-gen-go 1.32.0-1
Go plugin for protobuf compiler (APIv2)
https://github.com/protocolbuffers/protobuf-go
sudo apt install protoc-gen-goprotoc-gen-go 1.36.11-r6
Protocol Buffers Go generator
https://github.com/protocolbuffers/protobuf-go
sudo apk add protoc-gen-gogolang-google-protobuf 1.31.0-16.fc45
Go support for Google's protocol buffers
https://github.com/protocolbuffers/protobuf-go
sudo dnf install golang-google-protobufprotoc-gen-go 1.34.2-1.9
Go support for Google's protocol buffers
https://github.com/golang/protobuf
sudo zypper install protoc-gen-gosource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.