Lip Gloss

Terminal styling library for Go from Charmbracelet. CSS-inspired API for styling terminal output with colors, borders, padding, margins, and layout. Works standalone for simple styling or as the visual layer in Bubble Tea applications. Supports true color, adaptive color (dark/light mode detection), and responsive width/height.

Evaluated Mar 06, 2026 (0d ago) v1.x
Homepage ↗ Repo ↗ Developer Tools go terminal styling colors layout charmbracelet tui borders
⚙ Agent Friendliness
67
/ 100
Can an agent use this?
🔒 Security
97
/ 100
Is it safe for agents?
⚡ Reliability
82
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
85
Error Messages
80
Auth Simplicity
100
Rate Limits
100

🔒 Security

TLS Enforcement
100
Auth Strength
100
Scope Granularity
100
Dep. Hygiene
90
Secret Handling
92

Terminal styling library — no network access, no security concerns.

⚡ Reliability

Uptime/SLA
88
Version Stability
80
Breaking Changes
75
Error Recovery
85
AF Security Reliability

Best When

Styling Go terminal output or building the visual layer for Bubble Tea TUI applications.

Avoid When

You need interactive keyboard handling — combine with Bubble Tea for full TUI.

Use Cases

  • Style terminal CLI output with colors, bold, borders, and padding using a CSS-like API in Go
  • Compose complex terminal layouts with horizontal/vertical joins for side-by-side and stacked terminal panels
  • Implement responsive terminal UIs that adapt to terminal width using lipgloss.Width() and adaptive styles
  • Create visually polished Go CLI tools with consistent color schemes using lipgloss style definitions
  • Build the visual layer for Bubble Tea TUI applications with reusable style definitions

Not For

  • Interactive input handling — Lip Gloss is styling only; use Bubble Tea for interactive TUI with keyboard input
  • Web or non-terminal UIs — Lip Gloss is terminal-specific ANSI escape code styling
  • Python or Node.js projects — use Rich (Python) or chalk/kleur (Node) for equivalent terminal styling

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
Yes
Webhooks
No

Authentication

Methods: none
OAuth: No Scopes: No

Library — no auth needed.

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

MIT licensed open source library from Charmbracelet.

Agent Metadata

Pagination
none
Idempotent
Full
Retry Guidance
Not documented

Known Gotchas

  • lipgloss v1.0 (2024) changed the color model and removed some deprecated APIs — code from tutorials using v0.x may need updates
  • Measuring styled string width requires lipgloss.Width() not len() — ANSI escape codes inflate the byte count but not visual width
  • Adaptive colors (lipgloss.AdaptiveColor) detect dark/light mode but detection requires a terminal — may not work correctly in CI or non-interactive contexts
  • Layout with JoinHorizontal/JoinVertical aligns by line count — strings with different numbers of lines may need padding with lipgloss.PlaceVertical
  • True color (24-bit) requires terminal support — falls back to 256 or 16 colors on older terminals; test in target environments
  • Styles are immutable value types — calling style.Bold(true) returns a new Style; must assign the result: style = style.Bold(true)

Alternatives

Full Evaluation Report

Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for Lip Gloss.

$99

Scores are editorial opinions as of 2026-03-06.

5215
Packages Evaluated
26151
Need Evaluation
173
Need Re-evaluation
Community Powered