LangChainGo vs Genkit Go: Where Genkit Shines A developer compared LangChainGo and Genkit Go by building the same production AI service in both, finding LangChainGo's Google provider broken on current Gemini models. LangChainGo's quickstart hardcodes the retired gemini-2.0-flash model, its Google provider depends on the end-of-life google-generative-ai-go SDK (support ended November 30, 2025), and streaming fails on gemini-2.5-flash and gemini-3.x models with a JSON parse error, which also breaks agents whenever a callbacks handler enables observability. Genkit Go is presented as the actively maintained alternative, with typed structured output, native function calling, built-in retry/fallback middleware, OpenTelemetry tracing, and a file-backed local vector store. There are two realistic choices for building AI services in Go today: LangChainGo https://github.com/tmc/langchaingo , the Go port of the Python framework everyone knows, and Genkit Go https://genkit.dev/docs/go/get-started/ , Google's open-source Gen AI framework. LangChainGo is still the first result most Go developers find. It has 9,677 stars and the biggest provider catalog in the ecosystem. It is also eight months without a commit, eleven months without a release, and still on 0.1.x after three and a half years. This article compares them the way that actually matters: by building the same production service in both and looking at what each one costs you. Not a feature checklist, a real application with real requirements. If you have already decided and want the migration mechanics, that is the companion article: How to migrate from LangChainGo to Genkit Go https://xavidop.me/genkit/2026-09-11-langchaingo-to-genkit-go-migration/ . | | LangChainGo | Genkit Go | |---|---|---| | Latest release | v0.1.14 , October 2025 | v1.13.1 | | Last commit to main | January 2026 | active | | Age and version | 3.5 years, still 0.1.x | GA since v1.0 | | Open issues | 242 | | | Open pull requests | 171, oldest from June 2023 | | | Stars | 9,677 | | LangChainGo is not archived, and "dead" overstates it. But eleven months without a release is long enough for the ecosystem to move underneath a library, and it has. Three concrete things, all of which affect a service in production right now. The quickstart returns a 404. DefaultOptions hardcodes gemini-2.0-flash , which Google retired. A fresh googleai.New ctx fails on the first call. The Google provider runs on an end-of-life SDK. llms/googleai imports github.com/google/generative-ai-go , whose README states support ended on November 30, 2025 . Streaming is broken on every current Gemini model. gemini-2.5-flash , gemini-3-flash-preview , gemini-3.5-flash and gemini-3.6-flash all fail the same way: error in stream mode: invalid character ' ' looking for beginning of value The OpenAI provider streams fine, so this is the Google provider on the legacy SDK, not the library everywhere. There is a fourth consequence that follows from the third, and it is the nastiest one. LangChainGo installs a streaming function automatically whenever you attach a callbacks handler, in chains/options.go and again in agents/mrkl.go . Since streaming is broken, turning on observability breaks your Gemini agents : WITHOUT callbacks handler: err=