Bubble Tea
MIT Go framework for terminal UIs, built on The Elm Architecture — the engine under a lot of modern CLIs
Libraries / Terminal UI · OSS/MIT · 45.5k
Reviewed 2026-10-11 · last push 2026-10-08 · repo checked 2026-10-19
What's Good
MIT (charmbracelet/bubbletea), release v2.1.0 (2026-10-08); v2 lives at the `charm.land/bubbletea/v2` import path with an upgrade guide from v1. The Elm-style loop keeps state in one place, which makes TUIs easy to reason about and to test. Pairs with Bubbles (text inputs, viewports, spinners and other components) and Lip Gloss (styling and layout) from the same team. Used in production by many CLIs. ★~45k.
The Catch
Go only. The Elm Architecture is a different mental model from imperative terminal code, and every keypress and tick flows through one update function, which gets long in big apps unless you split models early. v1 to v2 is a breaking upgrade with a new import path, so older tutorials and examples may not compile as written. Vs textual (Python, CSS-style layouts and widgets): pick Bubble Tea if your CLI is already in Go.
Verdict
The default way to build a polished interactive terminal UI in Go — start on v2, not on old v1 tutorials.
Embed
Maintainer? Add the badge to your README. It is free, links to this review, and there is no paid version.
Markdown
[](https://stackgems.com/gems/bubbletea)
HTML
<a href="https://stackgems.com/gems/bubbletea"><img src="https://stackgems.com/badge/bubbletea.svg" alt="Bubble Tea reviewed on Stack Gems" height="20"></a>