gum: Build Interactive, Polished Shell Scripts

Summary
Gum adds ready-to-use interactive prompts and styled output to shell scripts without requiring Go code. It suits developers who want friendlier command-line workflows, provided their scripts can rely on a terminal UI.
At a glance
- Language
- Go
- License
- MIT
- Stars
- 24.5k
- Forks
- 554
- Added to OSRepos
- December 20, 2025
- Last analyzed
- October 3, 2026
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
Gum is a Go-based CLI that brings interactive terminal components and styled text to shell scripts. It solves the friction of building prompts and presentation directly in shell, letting script authors compose existing commands without writing a Go application.
It is most useful for developers and shell users who want interactive tools for local workflows, such as selecting files or confirming an action. Its commands return output that scripts can capture and pass to other tools.
Key Features
- Prompt for single-line or multiline input, including password input.
- Let users choose from a list or fuzzy-filter supplied items, with support for multiple selections.
- Confirm actions with a success or negative exit code.
- Browse files and page through long documents in the terminal.
- Show a spinner while a command runs.
- Style, join, and format terminal text, including Markdown, templates, code, and emoji.
- Render tables and log messages with configurable presentation.
- Customize command options with flags or environment variables.
Use Cases
- Developers can build a commit-message helper that gathers a type, scope, summary, and description before committing.
- Shell users can filter Git history, branches, or pull requests and pass a selection to Git or GitHub CLI.
- System administrators can add a confirmation step before a destructive command, such as removing a file or uninstalling packages.
- Dotfile maintainers can create interactive menus and prompts without implementing terminal interfaces in Go.
Project Facts
- Language: Go
- License: MIT
- Stars: 24.5k
- Forks: 554
- Topics: bash, shell
- Archived: No
Getting Started
Install with Go:
go install charm.land/gum/v2@latest
See the README for package-manager installation options, command details, and examples.
Considerations
Gum is designed for interactive terminal workflows, so prompts and selections are intended for user-driven scripts rather than unattended jobs. Its value is greatest when scripts need a terminal UI; for simple non-interactive pipelines, standard shell utilities may be sufficient. The repository is MIT-licensed.
Source repository
Open the original repository on GitHub.
20 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

e2a: Open-Source Email API for Applications and AI Agents
September 29, 2026
e2a is an open-source email API designed for applications and AI agents, offering robust transactional email capabilities and real two-way inboxes. It supports both managed hosting and self-hosting with Docker, providing features like human-in-the-loop approval and advanced content screening. Built in Go, e2a aims to bridge email's universal addressability with the structured data world of AI agents.

Router: Optimize AI Model Selection and Costs for Agentic Systems
September 28, 2026
The Weave-OS Router is an intelligent model router for agentic systems, optimizing AI model selection for every request. It acts as a drop-in proxy for major AI providers, routing prompts to the most suitable model in under 50ms. This solution helps users significantly cut costs, often by 40-70%, simply by changing an endpoint.

KSail: The All-in-One Kubernetes SDK for Cluster Management and GitOps
September 27, 2026
KSail is a comprehensive Kubernetes SDK designed to simplify cluster creation, management, and operation across multiple distributions like Kind, K3d, Talos, and VCluster. It integrates essential features such as GitOps, secrets management, an AI assistant, and an MCP server, making cloud-native development accessible with just Docker or a cloud provider.

Memoh: An Open-Source Multi-Agent Platform with Dedicated AI Workspaces
September 26, 2026
Memoh is an innovative open-source multi-agent platform designed to provide each AI agent with its own dedicated cloud computer. This includes a filesystem, desktop, browser, network, and persistent long-term memory, ensuring agents remain online 24/7. Users can integrate their own API keys or host existing AI models, fostering a versatile and always-on environment for AI development and deployment.