24,479 stars · MIT · v2.0.2 (2026-09-24) · Track this in Scout
One command that gives a shell script menus, confirmations, text fields, spinners and styled output, leaving the script a plain script.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Gum is a Go program offering a set of subcommands — choose, confirm, input, write, filter, spin, table, style, pager — each of which draws an interactive control in the terminal and returns the answer on standard output. It is built on the same library as its author's terminal applications.
What it is good for. Anyone with a setup script, a deploy script or a release script that other people have to run. The thing it fixes is not looks; it is that a menu cannot be mistyped. Because each control is just a command that prints its answer, it drops into a script that already exists, one line at a time, with no framework to adopt.
- The licence is plain MIT, read from the file, with a real holder: "Copyright (c) 2022-2024 Charmbracelet, Inc." No added conditions.
- The Debian and Red Hat install routes never pipe anything into a shell — the
curlgoes intogpg --dearmorandteeto add a signing key and a repository, which is materially safer than the alternatives several other entries today ship. - Packaged almost everywhere: Homebrew, pacman, dnf, Nix, Flox, winget, Scoop, FreeBSD ports, plus prebuilt
.deb,.rpmand.apkfiles and binaries for Linux, macOS, Windows, FreeBSD, OpenBSD and NetBSD.
- ⚠ The Go install line is unpinned:
go install charm.land/gum/v2@latestfetches whatever is newest at the time, so the command is not repeatable. Prefer the package manager, or pin a version. - ⚠ Version 2's module path changed to
charm.land/gum/v2, notgithub.com/charmbracelet/gum, so an older install command or a script that references the old path will not resolve. - 143 open issues against 65 open pull requests, no memory or processor figures published, no website set in the repository sidebar, and the copyright line's year range still ends at 2024. Also worth knowing before you assume the whole publisher is permissive: Charm's licensing is not uniform. This project and its underlying library are plain MIT, but
charmbracelet/crush, which Edition 44 covered, ships the Functional Source License, which restricts competing use.
- charmbracelet/bubbletea
The framework this is built on, where the difference is that a Go program is written against it rather than a command called from a shell script.
Track this in Scout - junegunn/fzf
Also a standalone binary a script shells out to for interactive choosing, and it does that one job better while offering none of the other controls.
Track this in Scout - charmbracelet/huh
Offers the same prompts as a Go library for building multi-field forms inside a program rather than as a command a script can call.
Track this in Scout
# macOS or Linux with Homebrew brew install gum # Debian or Ubuntu — nothing is piped into a shell here sudo mkdir -p /etc/apt/keyrings curl -fsSL https://repo.charm.sh/apt/gpg.key \ | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" \ | sudo tee /etc/apt/sources.list.d/charm.list sudo apt update && sudo apt install gum




