Stack Gems
Menu

Tag

TUI tools

Terminal user interface. 24 reviewed tools: 24 free or open source.

Order: free and open source first, then hosted products with a real free tier, then paid-led; catalog order inside each group, with quiet or archived repos last. Not a score, and no tool pays for its place.

24 tools

  • TextualBuild TUIs like web apps

    Free / OSS · OSS/MIT · 37.5k GitHub stars

    VerdictTUI development that feels like modern web dev.

    CatchTerminal constraints limit what is possible. Learning curve for the reactive model. Not every terminal renders correctly.

  • CrushCharm-grade TUI coding agent with LSP and mid-session model switch

    Free / OSS · Open-Core · 28.7k GitHub stars

    VerdictThe beautiful, model-flexible TUI coding agent. Charm quality.

    CatchLicensed FSL-1.1-MIT (competing-use restriction; source-available; MIT after two years—not OSI open-source). Pre-1.0 energy—config is migrating from JSON to crushrc Bash. Not a fully autonomous SWE agent like OpenHands; you stay in the loop. Hyper is Charm own model path if you want a subscription. Metrics on by default (DO_NOT_TRACK / CRUSH_DISABLE_METRICS to opt out).

  • lazygitMIT Go terminal UI for git

    Free / OSS · OSS/MIT · 83.3k GitHub stars

    VerdictMIT git TUI. Free forever; terminal-native git UX.

    CatchGo git TUI — not a GitHub app, not magit (Emacs), not CI. You still need git installed and a terminal habit.

  • k9sApache-2.0 terminal UI for Kubernetes

    Free / OSS · Apache-2.0 · 34.9k GitHub stars

    VerdictApache-2.0 K8s TUI. Free forever; you still bring the cluster.

    CatchK8s cluster TUI - not Helm packaging, not a dashboard SaaS. Needs a working kubeconfig and cluster access. Not Lens Electron GUI.

  • OpenCodeMIT OSS coding agent: CLI, TUI, desktop; BYOK/local

    Free / OSS · OSS/MIT · 219k GitHub stars

    VerdictMIT BYOK agent across CLI/desktop/IDE. The real catches are on /log: date stamp and compaction.

    CatchTwo catches worth reading on /log: “The date stamp is a trigger channel” (auto today’s-date × open-weight LoRA as a time-release fuse) and “Compaction ate the denial” (long sessions prune hard vetoes; compaction is untrusted rewrite). Re-read those two notes before you treat OpenCode as set-and-forget.

  • gumMIT scriptable prompts, filters, and spinners for shell UX

    Free / OSS · OSS/MIT · 24.5k GitHub stars

    VerdictMIT shell UX toolkit. Free forever; use when a script needs a real prompt, not another echo menu.

    CatchVs Starship (prompt *theme*): gum is scriptable interaction widgets, not your PS1 theme. Adds a Charm binary dependency to scripts that used to be pure POSIX. Non-interactive CI still needs flags/`--` paths that skip the TUI.

  • glowMIT Markdown TUI pager from Charm

    Free / OSS · OSS/MIT · 27.8k GitHub stars

    VerdictMIT Markdown TUI. Free forever; open the README in-terminal instead of leaving the SSH session.

    CatchVs bat (generic syntax highlight cat): glow is Markdown-*first* presentation, not a drop-in for every source file. Heavier than bat for one-off file peeks. Stash/cloud-adjacent features are optional — local files are the core job.

  • YaziMIT async terminal file manager with image preview

    Free / OSS · OSS/MIT · 43k GitHub stars

    VerdictMIT terminal FM. Free forever; pick it when browsing files needs previews, not another fuzzy one-liner.

    CatchVs fzf (fuzzy finder) and zoxide (directory jumper): Yazi is a full *file manager*, not a one-shot picker or frecency cd. Preview depends on terminal image protocols and optional external tools. Learning the keymap is real onboarding versus plain ls/cd.

  • btopApache-2.0 local host resource TUI (CPU/mem/disk/net/GPU)

    Free / OSS · Apache-2.0 · 35.1k GitHub stars

    VerdictApache-2.0 host resource TUI. Free forever; use when the machine in front of you is the thing to watch.

    CatchVs Grafana/Prometheus (fleet metrics + dashboards): btop is *local host* TUI, not a scrape/store/alert stack. Pick it over bottom, the Rust twin. Not a remote multi-node observability product.

  • jlessMIT interactive JSON pager — explore, do not filter

    Free / OSS · OSS/MIT · 5.5k GitHub stars

    VerdictMIT JSON pager. Free forever; explore the blob before you write the filter.

    CatchLast commit June 2024 (latest release v0.9.0, July 2023): stable but unmaintained, so expect no fixes or new releases. Vs jq (*filter language*): jless is an interactive *viewer/pager*, not a transform DSL and not a YAML tool. Pair with jq when you need to rewrite; open jless when you need to see.

  • gituiMIT blazing-fast Rust terminal git GUI (unsafe forbidden)

    Free / OSS · OSS/MIT · 22.6k GitHub stars

    VerdictMIT Rust git TUI. Free forever; pick it when the terminal GUI must feel native-fast.

    CatchVs lazygit (Go TUI with huge community muscle memory): gitui is the *Rust/speed* cousin, not feature-identical and not magit. Some advanced Git flows still belong in git CLI or your IDE. Repo lives under gitui-org now — update old extrawurst bookmarks.

  • ohaMIT HTTP load generator with realtime TUI (hey-inspired)

    Free / OSS · OSS/MIT · 10.6k GitHub stars

    VerdictMIT HTTP load TUI. Free forever; hammer your own staging and watch the chart.

    CatchVs hey (simple Go hammer), vegeta/k6 (scripted/scenarios), and curl loops: oha is the *interactive TUI load* CLI, not a full performance suite with thresholds-as-code. No browser/Web Vitals story. Point it at staging you own — load tests are still an attack if aimed at someone else.

  • sternApache-2.0 multi-pod Kubernetes log tail

    Free / OSS · Apache-2.0 · 4.9k GitHub stars

    VerdictApache-2.0 K8s log tail. Free forever; follow the fleet, not one pod at a time.

    CatchVs k9s (full Kubernetes *TUI*): stern is the *multi-pod log tail CLI*, not a cluster navigator, not Helm, not a dashboard. Needs kubeconfig and RBAC to read logs. Not Loki/Vector (log pipelines).

  • MCP InspectorMIT official MCP server debugger — web, CLI, and TUI

    Free / OSS · OSS/MIT · 11.1k GitHub stars

    VerdictOfficial MIT MCP inspector. Test servers here; ship them elsewhere.

    CatchDebug surface, not a production MCP gateway or registry (see Smithery) and not transport glue (SuperGateway/mcp-remote). You still author servers elsewhere (FastMCP, etc.). v2 is the active line; pin versions in CI.

  • EngramMIT persistent agent memory — MCP, CLI, TUI, SQLite

    Free / OSS · OSS/MIT · 7.5k GitHub stars

    VerdictMIT agent memory primitive. MCP/CLI/TUI on SQLite; not a full agent framework.

    CatchVs Mem0 / Letta / full agent frameworks: Engram is the memory primitive (store + retrieve + surfaces), not an orchestration framework or coding agent. “local or cloud” branding means optional hosted/sync gravity — day-one stays OSS you run. You still decide what gets written and when.

  • ThurboxMIT tmux TUI/CLI for local AI agent orchestration

    Free / OSS · OSS/MIT · 106 GitHub stars

    VerdictMIT local agent TUI. tmux parallel agents vs Atlas/DeskcommCRM; young but concrete.

    CatchVs Atlas (pacifio agent source-control) and DeskcommCRM (self-hosted AI sales CRM): Thurbox is a local tmux/TUI orchestrator for coding-agent CLIs — not session+commit memory like Atlas, not a CRM. Early stars (~67★); needs tmux ≥3.2 (or psmux on Windows) plus at least one agent CLI you already pay for or self-host.

  • PiMIT agent harness with coding CLI, unified LLM API, and TUI

    Free / OSS · OSS/MIT · 117k GitHub stars

    VerdictMIT coding-agent harness. Strong default when you want an OSS CLI + unified providers; sandbox it yourself before production credentials.

    CatchVs Prime Agent, OpenCode, OpenHands, and Claude Code: Pi is the Earendil coding-agent harness + CLI stack, not PrimeIntellect's RLM REPL, a general terminal wrapper, a full autonomous developer platform, or Anthropic's product CLI. Pi does not ship a built-in permission system for filesystem/process/network/credentials — it runs with the launching user's privileges; containerize (Docker/OpenShell/Gondolin patterns in-repo) before giving it secrets. New issues/PRs from new contributors are auto-closed by default pending maintainer review.

  • FrontierAgentApache-2.0 agent runtime + TUI with Agent Team board

    Free / OSS · Apache-2.0 · 5.4k GitHub stars

    VerdictApache-2.0 Agent Team runtime when research/file parallel sub-agents beat a general coding IDE CLI — treat Apodex API promo as optional.

    CatchVs Pi / OpenCode / Claude Code: those are coding harnesses/products; FrontierAgent is a research/file Agent Team runtime from Apodex, not a general IDE coding product. Apodex model/API promo is a temporary freemium lane — OSS path does not depend on it.

  • eveApache-2.0 filesystem-first framework for durable AI agents — from Vercel

    Free / OSS · Apache-2.0 · 5.6k GitHub stars

    VerdictApache-2.0 filesystem-first agent framework when you want a Vercel-native, readable agent project — Gateway by default, beta APIs, star heat ahead of maturity.

    CatchModel strings default to Vercel AI Gateway IDs; direct OpenAI and Anthropic helpers are built in, but any other provider means installing an AI SDK provider package and editing `agent.ts`. Public beta under Vercel beta terms — expect API churn. ★ is climbing far faster than a repo created in June 2026 with 1,000+ open issues and pull requests would suggest — judge it on substance (Vercel backing, shipping cadence), not the badge. Vs mastra (TypeScript agent framework, provider-neutral) and voltagent (TS framework + observability console): eve is the filesystem-convention, Vercel-native lane.

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

    Free / OSS · OSS/MIT · 45.5k GitHub stars

    VerdictThe default way to build a polished interactive terminal UI in Go — start on v2, not on old v1 tutorials.

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

  • Hermes AgentMIT self-improving agent from Nous Research — skills from experience, multi-channel gateway, any model

    Free / OSS · OSS/MIT · 256k GitHub stars

    VerdictThe open-source agent with a real learning loop — run it if you want skills and memory you own, not another rented chat UI.

    CatchA full personal/coding agent surface, not a drop-in Claude Code plugin — you run the gateway and own model keys, channel tokens and the memory/skill store it writes. Exact-pinned Python deps and a 3.14-oriented install path mean supply-chain and upgrade care; follow their install docs rather than improvising. Multi-channel access widens the security surface the same way OpenClaw does. Vs openclaw (freemium multi-channel assistant) and claude-code (paid Anthropic terminal agent): Hermes is the MIT self-improving host you operate yourself. oh-my-hermes is niche plugin tooling for this host, not a substitute. Stars have grown extremely fast (about 3,940 a week since the repo opened in July 2025), so judge it on a trial run, not the count.

  • Apache MakaApache-2.0 local-first agent workspace that logs every step

    Free / OSS · Apache-2.0 · 5.9k GitHub stars

    VerdictThe agent harness to try when you need to see and replay what the agent actually did — treat it as nightly software for now.

    CatchEarly. The latest Apache release is 0.2.0 (incubating); the npm package maka-agent ships real builds under the nightly tag while latest is still a placeholder, and the CLI README warns that commands and local data formats may change. macOS is the main platform; Windows and Linux are previews. API keys are stored in a plaintext credential-vault.json readable by your OS account, and an upgrade has already dropped older JSONL transcripts. Vs opencode or Claude Code: you are picking it for the audit log and replay, not for a bigger ecosystem. Stars have climbed fast for a five-month-old repo (about 290 a week since it opened in May 2026), so don't read the count as proof of adoption.

  • Claude SquadAGPL-3.0 TUI that runs Claude Code, Codex and Aider sessions in parallel

    Free / OSS · AGPL-3.0 · 8.6k GitHub stars

    VerdictSimple, worktree-based parallel agents; check that it is still maintained before you lean on it.

    CatchAGPL-3.0, it needs tmux, and the last commit is 2026-08-20. ★8,629 in about 84 weeks (~102 a week) with only 29 watchers: judge it on the tool, not the star count.

  • lazydockerMIT terminal UI for Docker and Compose

    Free / OSS · OSS/MIT · 53.2k GitHub stars · quiet 180d+

    VerdictMIT Docker TUI. Free forever; use when container ops should feel like lazygit, not flag archaeology.

    CatchVs Docker Desktop GUI and vs kubectl TUIs: this is *Docker/Compose*, not Kubernetes. Needs a running Docker engine and socket access. Not a build/registry tool — pair with dive when you care about image layers.

FAQ

What is the top free pick among TUI tools?
Textual leads the Stack Gems list for TUI tools. Verdict: TUI development that feels like modern web dev.
How many TUI tools does Stack Gems review?
24: 24 free or open source. Each review has a verdict and an honest Catch; no tool pays for its spot.
Which TUI tools can I self-host for free?
Textual, lazygit, k9s, OpenCode, gum, glow, Yazi, btop and 15 more.
Which TUI tools have the most GitHub stars?
Hermes Agent (256k), OpenCode (219k), Pi (117k), per GitHub on 2026-10-21. Stars measure attention, not fit; read the Catch.
What is the catch with Textual?
Terminal constraints limit what is possible.

Best-of lists with these tools