finds.dev← search

// the find

connectrpc/connect-go

★ 4,100 · Go · Apache-2.0 · updated Sep 2026

The Go implementation of Connect: Protobuf RPC that works.

connect-go is the Go implementation of Connect, a Protobuf RPC protocol that serves Connect, gRPC, and gRPC-Web clients from the same handlers over HTTP/1.1 or HTTP/2. It is for Go services that want typed RPC without a custom HTTP stack, and that need browsers to be able to call them.

Handlers and clients are built on net/http and http.Handler, so existing middleware, server timeouts, and TLS configuration carry over without a parallel transport to learn. The Connect protocol is a plain POST with JSON or binary protobuf bodies, so you can debug it with curl, as the README's live demo call shows. Conformance tests against the shared interop suite cover Connect, gRPC, and gRPC-Web, which matters more than the feature list when you need wire compatibility with existing gRPC clients. Protovalidate arrives as an interceptor passed to NewServer, so adding validation is one line in the server setup.

The v2 API the README documents is still beta and will only land on main at release, while v1 stays on its own branch. Adopting it now means pinning a moving API, and moving an existing v1 service means running the migration tool in cmd/ and reading the migration guide before the diff makes sense. The quick-start also shows the sharp edges: serving gRPC clients without TLS needs an explicit unencrypted HTTP/2 setting on http.Protocols, and the README itself says the bare ListenAndServe setup is not fit for production, so timeouts, connection pools, and h2c decisions fall to the adopter. Support is limited to the two most recent Go releases and APIv2 of google.golang.org/protobuf, so older toolchains or the legacy protobuf API have no path here. Health, reflection, and validation live in separate repos and modules, so a typical service ends up tracking several release cadences.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →