# Bubble Tea

> MIT Go framework for terminal UIs, built on The Elm Architecture — the engine under a lot of modern CLIs

**Category:** Libraries  
**Pricing:** open-source  
**URL:** https://charm.land  
**GitHub:** https://github.com/charmbracelet/bubbletea  
**Added:** 2026-10-11

---

## The Hook

Bubble Tea is how Go developers build interactive terminal apps: a model, an update function and a view, with the framework handling input, rendering and the event loop.

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