gum
A tool for glamorous shell scripts 🎀
TL;DR · 30-second scan
gum (Go) — A tool for glamorous shell scripts 🎀
You write shell scripts other people run and want prompts and selection menus without a rewrite.
CLI & Dev Tools
Interactive components for shell scripts: prompts, filterable lists, multi-select, spinners, confirmation dialogs, styled text — each one a command you pipe into a bash script. It turns a script nobody else can run into something with an interface, without rewriting it in Go or Python. From Charm, whose entire catalogue is about making terminals less hostile, and the design quality shows. MIT. The tradeoff is a new dependency for anyone running your script, which matters for anything distributed widely, and heavy use of styling makes scripts harder to read than the plain versions. Best for internal tooling where you control the environment.
You write shell scripts other people run and want prompts and selection menus without a rewrite.
Your scripts run in CI or on machines where you cannot install an extra binary.
Add this badge to your README to show your project is curated on StackPicks. Free, lightweight (180×28 SVG), and gives your visitors a one-click way to see honest take + alternatives.
[](https://stackpicks.dev/repo/charmbracelet-gum)
<a href="https://stackpicks.dev/repo/charmbracelet-gum"><img src="https://stackpicks.dev/api/badge/charmbracelet-gum" alt="Featured on StackPicks" width="180" height="28" /></a>
Are you the maintainer of charmbracelet/gum? Add the badge and we'll feature your project in the weekly curator newsletter.