Command-line tools that developers love: terminal utilities, shell enhancements, and CLI frameworks.
Ranked by Discovery Score — our 0-100 composite of adoption, maintenance, community, and license health. How scoring works.
By Erik Loyd, SaaS CEO and former COO/CFO of an AWS Premier Partner.
Ghostty is a fast, native terminal emulator with GPU acceleration. macOS gets SwiftUI and Metal rendering; Linux gets GTK with optional systemd integration. It nails standards compliance (Kitty graphics, image protocols, synchronized rendering) while keeping legacy xterm sequences working. Free, MIT-licensed, no setup beyond installing. Multi-window, tabs, splits with customization, and a multi-threaded architecture (one read, write, and render thread per terminal). Performance is in Alacritty territory, around 100x faster than the old defaults, but with a real native UI instead of a bare config file. This is the right pick if you've used Alacritty and missed the polish, or used iTerm2 and missed the speed. Solo: free and worth installing. Small teams: free. Large teams: free. The catch: no Windows yet, and the project deliberately has not added Ghostty-specific terminal sequences. If you want a wild new feature, you wait. If you want a terminal that just works, you don't.
Completely free and open source. Always.
**Free tier:** Everything. MIT-licensed standalone app and embeddable libghostty library. **Self-hosted:** Not applicable; it's a desktop app. **Paid:** No paid version exists or is planned.
uutils coreutils is a from-scratch Rust rewrite of the GNU coreutils: ls, cp, mv, rm, cat, sort, chmod and the rest of the basic commands every Linux machine runs. It's free under MIT. Ubuntu made it the default in 25.10, and Ubuntu 26.10 (released October 15, 2026) runs it for everything, cp, mv and rm included. It also builds for macOS, Windows and the BSDs.
On Ubuntu 25.10+ you already have it. Elsewhere, cargo install coreutils or a prebuilt release binary gets you going. The project treats any difference from GNU as a bug, and the 0.12.0 release passed 653 of the 674 GNU test-suite tests it ran (96.9%).
There's no paid tier and nothing is gated. Solo, small teams, larger teams: free. The real decision on Ubuntu servers: keep the default, or install coreutils-from-gnu until your scripts are tested.
The catch: the security record is young. Canonical's outside audit found 113 issues and 44 CVEs, and kept cp, mv and rm on GNU for the 26.04 LTS over race-condition bugs (a file swapped between a check and the action). Another wave of advisories followed in August and September 2026, several rated high, including local privilege escalation via chmod.
Free under MIT with nothing gated. The cost is testing your scripts against it, since it's now what Ubuntu runs by default.
**Free:** Everything. MIT license, no paid edition, no gated features. Ships as the default coreutils on Ubuntu 25.10 and later, fully (including cp, mv and rm) from Ubuntu 26.10. **Self-hosted:** Nothing to host. It's a set of command-line programs: install with `cargo install coreutils`, build from source with Cargo or GNU Make, or download prebuilt binaries from GitHub releases. Runs on Linux, macOS, the BSDs, Windows and WASI. On Ubuntu you can switch back to GNU with the `coreutils-from-gnu` package. **Paid:** There is no paid tier. The only cost is testing: shell scripts that depend on GNU edge-case behavior should be checked before a fleet moves to it.
bat is cat with syntax highlighting, line numbers and Git change markers built in. Type bat file.py and you get a color-coded, numbered view of the file, and long output goes to a pager automatically. Written in Rust by David Peter, who also wrote fd, and dual licensed MIT or Apache 2.0.
Pipe it into another command and it quietly behaves like plain cat, so scripts don't break. The README's recommended alias is alias cat='bat --paging=never'. Every major package manager carries it; on older Debian and Ubuntu releases the binary is called batcat.
Anyone who reads code in a terminal: install it. It costs nothing and changes nothing about how you work. The bat-extras companion scripts bring the same highlighting to grep, diff and man pages.
The catch is copy and paste. The line numbers and margin markers come along when you select text in the terminal. Use bat -p (or --plain) when you need clean output.
Completely free, MIT or Apache 2.0.
**Free:** Everything. Dual licensed MIT or Apache 2.0, your choice. **Self-hosted:** A single binary from apt, Homebrew, cargo, WinGet, Chocolatey, Scoop and most other package managers. **Paid:** None.
electerm is one app for every way you connect to a remote machine. SSH, SFTP, FTP, Telnet, serial port, RDP, VNC, and Spice, in a single cross-platform client for Windows, Mac, and Linux. The commercial terminals people pay for rarely cover this much ground. This one is MIT-licensed and free. It is a normal desktop app, so setup is install-and-go through brew, snap, winget, apt, the Microsoft Store, or a direct download. You get SSH tunneling, global hotkeys, saved sessions, an in-app file editor, and recently AI command suggestions and MCP widget support, so it can pull in external tools. No account, no server, nothing to maintain. For anyone who lives in remote sessions, this is an easy yes. Solo developers and small teams: use it, there is no paywall to hit and nothing to expense. Larger teams that need shared, audited credential vaults will still want a managed tool like Termius or Teleport for the governance layer, but for individual day-to-day connecting, electerm covers it. The catch is that free and broad also means you are trusting a community Electron app with your keys and sessions. It is popular and actively maintained, but there is no vendor SLA behind it. Store your secrets accordingly.
Completely free under MIT; the only reason to pay elsewhere is team-wide credential governance.
**Free:** Everything. MIT-licensed, no paid tier, no feature gates. SSH, SFTP, FTP, Telnet, serial, RDP, VNC, Spice, tunneling, AI command hints, MCP widgets. **Self-hosted:** Not applicable, it is a local desktop client. Your connections are yours. **Paid:** None. If you need team credential sharing with audit logs, that is where commercial tools like Termius or Teleport earn their fee.
Starship replaces your shell prompt with one that shows what matters where you are: git branch and status, the project's language version, how long the last command took. It's one Rust binary under the ISC license (permissive, basically MIT), free, and it works in Bash, Zsh, Fish, PowerShell, Nushell, Cmd, Elvish, Tcsh, Xonsh and Ion.
Setup is two steps: install it (brew install starship, winget install --id Starship.Starship, or the install script) and add one init line to your shell config. Add a Nerd Font or icons render as boxes. Modules show up only where they apply: Python appears next to a pyproject.toml or .py files, Docker context next to a Dockerfile or compose file. Everything else is one TOML file, with presets to copy. No paid tier, no account: free from solo to the largest team.
The catch: a prompt runs code every time you hit Enter, in whatever folder you're in. Version 1.27.0, out this month, fixed two advisories, including one where a repository owned by another user could get its git config honored just by rendering your prompt. Update. Leaving Powerlevel10k means rebuilding your look in TOML, though p10k's README says no new features are coming.
Free. A binary and a TOML file; nothing to pay for, but keep it updated.
**Free:** Everything. ISC-licensed single binary for Linux, macOS, Windows, BSD and Android, no account, no service, no feature gates. **Self-hosted:** Nothing to host. Install via a package manager or the install script, add the init line to your shell config, and optionally a Nerd Font for icons. Configuration is a single `starship.toml`. **Paid:** There is no paid tier.
Nushell reimagines the shell so every command outputs structured data you can filter, sort, and manipulate. Every command outputs a table, not a string. ls returns columns you can filter, sort, and query. open data.csv gives you a real table you can manipulate. It's a shell that treats everything like a spreadsheet. MIT license, Rust. Cross-platform, works on Linux, macOS, and Windows. Built-in support for JSON, CSV, TOML, YAML, SQLite, and XML. Pipelines operate on structured data, so ls | where size > 1mb | sort-by modified actually works without sed/awk gymnastics.
Fully free. No paid tier, no hosted version. It's a shell. Install it and use it.
Solo developers: try it as your daily shell. The structured data pipeline is a genuine productivity upgrade for anyone who processes files or data regularly. Small teams: useful for scripts that process structured data, replaces bash + jq + awk chains. Medium to large: adoption requires team buy-in since Nushell scripts aren't bash-compatible.
The catch: it's not POSIX-compatible. Bash scripts don't run in Nushell. Your muscle memory with bash syntax needs retraining. The plugin ecosystem is young. And if you SSH into servers, those servers run bash, so Nushell is a local tool, not a universal one. You'll maintain two mental models: Nushell locally, bash everywhere else.
Free. A shell is a shell. Nothing to pay for.
Fully open source under MIT. No paid tier, no hosted offering. It's a shell. Install it, use it. Zero cost.
zoxide is a smarter cd: it remembers the directories you use and lets you jump to one by typing part of its name. z proj lands you in the projects folder you visit most, and zi opens an fzf picker when you're not sure. It's free, MIT-licensed, one Rust binary.
Install with brew install zoxide, winget install ajeetdsouza.zoxide or the install script, then add one line such as eval "$(zoxide init zsh)" to the end of your shell config. Bash, Zsh, Fish, PowerShell, Nushell, Elvish, Tcsh, Xonsh and any POSIX shell are covered. Coming from z, autojump, fasd or zsh-z, zoxide import brings your history along. The database is a small file in your user data folder. No paid tier, no service, no account: free for one person or a whole engineering org.
The catch: it only knows where you've been, so the first week feels like plain cd. Ranking weights recent visits heavily, so a folder you lived in last month can lose to one you touched an hour ago; add a second keyword (z foo bar) or use zi to pick. On Debian and Ubuntu, skip apt: the README warns those packages update very slowly.
Free. A single binary and one line in your shell config.
**Free:** Everything. MIT-licensed single binary for Linux, macOS, Windows, BSD and Android, no account and no feature gates. fzf is an optional dependency for interactive selection. **Self-hosted:** Nothing to host. The database lives locally (`~/.local/share/zoxide` on Linux, `~/Library/Application Support/zoxide` on macOS, `%LOCALAPPDATA%\zoxide` on Windows), configurable with `_ZO_DATA_DIR`. **Paid:** There is no paid tier.
ripgrep (rg) searches every file in a folder for a text pattern, like grep, but faster and with smarter defaults. It searches recursively, skips whatever your .gitignore excludes, and ignores hidden and binary files without being told. It's free, dual-licensed MIT or Unlicense, and VS Code ships it for its search.
Install is one command on every major platform: brew install ripgrep, sudo apt-get install ripgrep, winget, cargo. In the author's Linux kernel benchmark it beats git grep, The Silver Searcher, ugrep and ack, and it stays fast with Unicode on, where GNU grep took 32x longer in one of his tests. No paid tier, no cloud, nothing to run. Solo, small teams and larger teams: free, put it on every machine.
The catch: it isn't grep. It doesn't follow POSIX, it isn't preinstalled everywhere, and its flags differ enough to trip muscle memory, so portable scripts should stay on grep. Lookarounds and backreferences need -P for PCRE2. And respect the --pre flag, which runs a program on every file it searches: AnythingLLM shipped a remote code execution bug in 2026 because its AI agent passed patterns to rg without a -- separator. Untrusted input needs that guard.
Free with no paid tier, under MIT or the Unlicense. The only cost is the minute it takes to install.
**Free:** Everything. ripgrep is dual-licensed under MIT or the Unlicense, your choice. No paid features, no commercial edition. **Self-hosted:** Nothing to host. It's a single `rg` binary. Every release ships precompiled binaries for Windows, macOS and Linux (Linux and Windows builds are static), and it's packaged for Homebrew, Chocolatey, Scoop, winget, pacman, dnf, apt and cargo. **Paid:** No paid tier. The author takes donations through GitHub Sponsors.
kitty is a fast, GPU-accelerated terminal emulator from Kovid Goyal, the developer behind Calibre. GPLv3, for Linux, macOS and the BSDs. It pioneered its own graphics protocol, which lets programs draw real images inside the terminal, so tools like mpv can even play video there. True color and ligatures come standard.
Install through your package manager or grab the binary. Configuration lives in ~/.config/kitty/kitty.conf. Built in: tabs, including vertical tabs as of 0.48, multiple windows, split layouts without a multiplexer, scrollback browsing in a pager, and kittens, small extensions for SSH with shell integration on remote hosts, image previews, a unicode picker, and theme and font choosers. Free across every team size, and there is nothing to roll out: people pick their own terminal.
The catch is that kitty wants you to live in a text file. The theme and font pickers help, but there is no preferences window, and getting it how you like takes real tuning time. WezTerm is the closest match on features. Pick kitty when you want images in the terminal and splits without a multiplexer layered on top.
Completely free under GPLv3, with donations as the only way to pay.
**Free tier:** Everything. The terminal is fully free under GPLv3. **Self-hosted:** Not applicable. It runs on your machine: Linux, macOS or BSD. **Paid:** None. There is no paid version, no cloud service and no enterprise tier; the project takes donations.
Kaku is WezTerm with the setup already done. It's a macOS terminal forked from WezTerm that ships with fonts, themes that follow your system's dark and light mode, Mac shortcuts, and zsh autosuggestions and syntax highlighting wired in. MIT licensed, free, no account.
There's nothing to host. Install the DMG from GitHub or use brew install --cask kaku and it works, with Lua config still there if you want to tweak. kaku init offers to add Starship, Delta, Lazygit and Yazi, and Kaku has shortcuts for them once installed. The built-in AI assistant suggests a fix when a command fails and turns a plain-English comment into a command, but it runs on your own API key or your existing Codex login. Kaku hosts no model, so the AI bill is yours.
Solo developers on a Mac who want a good-looking terminal without an afternoon of dotfiles: use it. Teams: free, but there are no shared settings or admin controls. Warp (warpdotdev/Warp) is the polished pick with hosted AI and team features. Ghostty (ghostty-org/ghostty) and WezTerm itself are the other free options, and both run on Linux too.
The catch: it's a one-person project and a hard fork. tw93 writes nearly all of it, so the bus factor is one, and upstream WezTerm changes don't flow in automatically. macOS only for now.
Free. The only bill is your own AI provider if you turn on the assistant.
**Free:** MIT licensed, no account, no paid tier. Install the DMG from GitHub Releases or via the Homebrew cask. **Self-hosted:** Not applicable. It's a desktop app. **Paid:** Kaku sells nothing. The optional AI assistant uses your own OpenAI-compatible API key or reuses your Codex / ChatGPT login, so any AI cost goes to that provider.
Warp is a terminal that grew a coding agent, and since April 2026 the client is open source under AGPLv3. Use its built-in agent or run Claude Code or Codex inside it. The terminal is free on macOS, Linux and Windows.
Install is a download or brew install --cask warp. You can build the client from source, but the server, Drive backend, hosted auth and Oz, the agent orchestration layer, stay proprietary. A source build gets you the terminal, not the agent.
Agent usage is billed in dollars. Free includes none, but you can bring your own OpenAI, Anthropic or Google key if your company has 10 or fewer employees. Build is $20/mo ($18 annually) with $20 of usage, Max $200/mo, and Business is $50 per user per month for SAML SSO, up to 25 seats. Solo: free with your own key. Small teams: Build. Larger teams: Business or Enterprise.
The catch: the open repo is the client, while the agent you pay for runs on Warp's servers. In June Warp published ten security advisories, nine rated high, including command injection via Git branch names. All patched; stay current. Ghostty and kitty are fully open terminals with no account.
The terminal is free and the client is AGPL, but the agent is metered in dollars: free with your own API key at companies of 10 or fewer, otherwise Build at $20/mo or Business at $50 per user per month.
**Free:** $0. The full terminal, Warp Agent CLI access, bring your own AI inference, limited cloud agents, 3 indexed codebases, 30 stored cloud conversations, and a shared Warp Drive capped at 10 workflows and 3 notebooks. No agent usage is included; you can buy usage at prices 20% above paid-plan rates, or connect your own OpenAI, Anthropic or Google API key, a SuperGrok subscription, or an OpenAI-compatible endpoint. Self-serve keys and endpoints are limited to individuals and organizations with 10 or fewer employees; bigger companies need Business or Enterprise. **Self-hosted:** The client is open source (AGPLv3, with the warpui_core and warpui crates under MIT) and builds on macOS, Linux and Windows with `./script/bootstrap` and `./script/run`. The server, Warp Drive backend, hosted authentication and Oz orchestration are not in the repo and remain proprietary, so a self-built client still needs Warp's backend for Drive sync, hosted-model agents and team features. Self-hosted cloud agents and inference in your own cloud (AWS Bedrock, Google Vertex AI) are Enterprise-only. Contributions require a CLA. **Paid:** Build: $20/mo, or $18/mo billed annually, with $20 of agent usage at API rates each month, full Warp Agent access, unlimited Drive and conversation storage, 40 indexed codebases, private email support. Max: $200/mo, or $180/mo billed annually; the plan card says $200 of usage (10x Build), while the comparison table still lists "$240 (18,000 credits)" from the old credit system. Business: $50 per user per month, or $45 billed annually, up to 25 seats, $20 of usage per seat, SAML SSO, team usage metrics, admin-configurable data controls, team BYO API keys and custom endpoints. Enterprise: custom; unlimited seats, shared usage pools, BYOLLM, self-hosted cloud agents, multi-admin controls. Purchased add-on usage rolls over and stays valid for 12 months.
VHS makes terminal GIFs reproducible. Instead of screen-recording your CLI demo and hoping you nail every keystroke, you write a .tape file that scripts the whole session: what gets typed, how long to pause, font size, theme, window dimensions. Run the tape and get a pixel-identical GIF, MP4, or WebM every time. Built by Charm, the team behind Bubble Tea and Gum, and completely free under MIT. Setup is a brew install plus two dependencies, ttyd and ffmpeg, on your PATH. Their Docker image bundles everything if you would rather skip that. The real win is CI: the companion vhs-action regenerates your README GIFs on every release, so your demo never shows a three-versions-old interface. Tape files live in git next to your code and get reviewed like everything else. Anyone shipping a CLI tool should use this. Solo, small team, enterprise: same answer. It is free and there is nothing to pay for. The catch is scope. VHS renders scripted tapes, it does not capture live sessions. Recording a real working session as it happens is a job for asciinema, not this one.
Completely free. No paid tier, no cloud offering, nothing gated.
**Free:** Everything. VHS is MIT licensed with no commercial product behind it. All output formats (GIF, MP4, WebM, PNG frames), all tape commands, and the vhs-action CI integration are free. **Self-hosted:** Nothing to host. It is a local CLI. The only setup cost is installing ttyd and ffmpeg alongside it, or using the Docker image that bundles both. **Paid:** Does not exist. Charm sells nothing here.
Resterm is a TUI (terminal user interface) HTTP client. Think Postman but entirely in your terminal. You compose requests, see responses, and manage collections without leaving the command line. Go, Apache 2.0. The interface lets you build GET, POST, PUT, DELETE requests with headers, body, and query params. Responses render with syntax highlighting. Supports environment variables for switching between dev/staging/prod endpoints. Fully free. No paid tier, no cloud sync, no accounts. It's a single binary. Solo developers who live in the terminal: this fits your workflow better than opening a GUI app for every API test. Small teams: works for individual use but no shared collections or team sync. The catch: this is early-stage. No OAuth flows, no websocket testing, no scripting/automation, no request chaining. For quick one-off API calls it's pleasant. For complex API testing workflows, you still need Insomnia, Bruno, or a scripted approach with curl/httpie. And the lack of a homepage URL suggests the project is GitHub-only. Documentation lives in the README.
Free. Single binary, no strings attached.
Fully open source under Apache 2.0. Single binary, no dependencies, no paid tier, no hosted version. Zero cost.
Helix is a modal text editor for the terminal that works out of the box. No plugins, no config files, no weekend lost to dotfile management. You open it and it has syntax highlighting, LSP support (the thing that gives you autocomplete and go-to-definition), and tree-sitter parsing already working. Rust, MPL 2.0. The key design difference from Vim: Helix uses selection-first editing. You select text, then act on it, the opposite of Vim's verb-then-object model. It sounds small but it changes how editing feels. Multiple cursors are built in. The fuzzy file picker, buffer manager, and LSP integration all ship with the binary. Fully free. No paid tier, no cloud version, no premium features. One binary, every platform. Solo developers who want a fast terminal editor without the Neovim plugin rabbit hole, this is it. Teams don't really factor in; text editors are personal choices. The catch: if you have years of Vim muscle memory, the selection-first model is a hard rewrite of your reflexes. And the plugin system doesn't exist yet; what ships is what you get. If you need a specific integration that isn't built in, you're stuck waiting for the core team to add it.
Free. One binary, everything included, no paid tier exists.
Fully open source under MPL 2.0. No paid tier, no hosted version, no premium features. Single binary distribution. Zero cost at any scale, any use case.
Dusky turns a fresh Arch Linux install into a fully themed Hyprland desktop in one shot. It bundles around eighty setup scripts that handle theming, audio, GPU and local AI inference with Ollama, speech-to-text, disk encryption, and more, so you skip the days of hand-assembling dotfiles. MIT, free, and built for people who want a good-looking, working Arch box without doing all the wiring themselves. This is opinionated and invasive by design. It reshapes your whole system, expects Btrfs, and autodetects hardware to configure things for you. That is the point, but it also means it is hard to cleanly undo, and it only makes sense on Arch with Hyprland. Run it on a fresh install, not a system you have already customized and care about. This is for Arch users who want a batteries-included Hyprland setup and would rather start from a strong default than build from zero. Solo desktop users, which is the whole audience here: free. If you do not run Arch, or you enjoy configuring your environment piece by piece, this is not for you, and forcing it onto a non-fresh system is asking for pain. The catch is commitment. Dusky is a whole-system transformation, not a theme you toggle. On a clean Arch install it saves you real time and looks great. On anything else, the hard requirements and deep changes are more trouble than they are worth.
Completely free and open source. The author asks only for an optional star.
**Free tier:** MIT-licensed and fully free. **Self-hosted:** It installs on your own machine by design. Requires a fresh Arch Linux install with Btrfs. **Paid:** None. The author requests an optional star or donation.
FSearch finds any file on your Mac by name in well under a millisecond, typos included, and searches inside files from an index instead of rereading the disk. It's a Rust command line tool with a small daemon, a socket API, a Rust crate, and an MCP server so coding agents like Claude Code can call it. MIT licensed, free.
Install the Apple Silicon release or cargo build, then fsearch install. It crawls the disk once, then follows macOS's change feed, so new files show up in milliseconds. Grant it Full Disk Access or it skips protected folders. On the author's benchmarks the index ran 300 to 600 MB and indexing needed close to 1 GB of RAM.
Spotlight and mdfind are free and built in but don't forgive typos or know git status. fd walks the folder on every search. FSearch adds filters like ext:, size: and git:modified. Solo developers in a terminal: free and worth trying. Teams: nothing to buy, everyone runs their own index.
The catch: it's a week old, macOS only, and has no app window. It's not a Raycast or Alfred style launcher. Pin a version.
Free with no paid tier. The real costs are a few hundred MB of disk for the index and handing a days-old daemon Full Disk Access.
**Free:** Everything, under the MIT license: fuzzy name search, indexed content grep with regex and symbol lookup, git status filters, the JSON socket API, the Rust crate and the `fsearch mcp` server for coding agents. No accounts, no telemetry tier, no paid edition. **Self-hosted:** It runs locally on macOS. Install from the prebuilt Apple Silicon tarball (built by GitHub Actions, with a sha256 file) or `cargo build --release`, then `fsearch install` copies it to `~/.local/bin`; `--login` adds a LaunchAgent so the daemon starts at login. Needs Full Disk Access to see protected folders, re-granted after each rebuild. On the author's benchmark homes the index took 309 to 600 MB on disk, peak RAM while indexing was 0.77 to 0.94 GB, and the daemon idles at 21 to 35 MB. **Paid:** There is no paid tier and no hosted dependency.
bash-completion is the reason hitting Tab in your shell suggests git branches, package names, and command flags instead of just filenames. It is a big collection of completion recipes that teach Bash how hundreds of commands expect their arguments, plus the helper functions other tools use to add their own. GPL-2.0, free, and already installed on most Linux systems. For almost everyone this is not a thing you install, it is a thing your package manager put there years ago. If you are on a minimal container or a fresh macOS Bash, one package install or a single line sourced from your shell config turns it on. It wants Bash 4.2 or newer. There is nothing to run and nothing to maintain, it just makes the shell you already use less annoying. This is plumbing, not a product. Solo, small team, or enterprise, the recommendation is the same: have it on. There is no paywall and no premium version. The catch, if you can call it one, is relevance. If you have moved to Zsh or Fish, they ship their own completion engines and this does nothing for you. It is essential for Bash and irrelevant everywhere else.
Free and foundational; if you use Bash, you already want it on.
**Free:** All of it, GPL-2.0. Completion recipes for hundreds of commands plus the helper API tools use to register their own. **Self-hosted:** Not applicable, it runs in your shell. **Paid:** None. It is core infrastructure, not a business.
Nexus Terminal puts SSH, SFTP, RDP and VNC in a browser tab you host yourself. You get tabbed terminals, a drag-and-drop file manager, a Monaco editor for remote files, a small Docker container panel, and a suspend feature that keeps an SSH session running on the server when your laptop drops off Wi-Fi. It's free under GPL-3.0, has a Windows desktop build, and is a self-hosted take on Termius.
Setup is one docker compose up -d that starts four containers, including Apache Guacamole's guacd doing the RDP and VNC work. Put it behind Nginx with HTTPS, since terminal copy doesn't work over plain HTTP, and back up the data folder yourself because there's no built-in backup. The author only tests on Debian AMD64.
No paid tier, just a Ko-fi link. Solo: free. Small and larger teams: no. It's a single-admin app: setup creates one account and saved connections aren't scoped per user. Teams should look at Apache Guacamole, JumpServer or Teleport.
The catch: one developer writes nearly all of it, and no workflow in the repo builds the Docker images. You're trusting those images with every server credential you own, so turn on 2FA and the IP allowlist.
Free with no paid tier. The limit is users, not money: it has one admin account, so teams need Guacamole, JumpServer or Teleport instead.
**Free:** Everything, GPL-3.0. Web client for SSH, SFTP, RDP and VNC with multi-tab sessions, Monaco file editor, Docker container panel, session suspend, login protection (hCaptcha or reCAPTCHA, 2FA, passkeys), IP allowlist and blocklist with auto-ban, notifications and an audit log. A Windows desktop app (installer or portable) drops the web-only features such as login verification and session suspend. **Self-hosted:** Docker Compose with four containers: frontend, backend, remote-gateway and guacamole/guacd. Expose port 18111 through a reverse proxy with HTTPS. Data lives in `./data`, which you back up yourself. Tested on Debian AMD64; arm64 needs a different guacd tag and ARMv7 loses RDP. **Paid:** No paid tier. Donations via Ko-fi only. The commercial alternative is Termius.
yoinks is a friendlier face for yt-dlp, the command-line downloader that grabs video and audio from YouTube and 1,800-plus other sites. Paste a link, pick a resolution or MP3 from a menu, done. It even spots a URL already sitting on your clipboard. MIT licensed. Install with npm install -g yoinks or just run npx yoinks.
Node 18+ is the only requirement. It uses a yt-dlp you already have, or downloads the standalone binary into ~/.yoinks/bin on first run, and bundles ffmpeg if you don't have it, so there's no Python toolchain to manage. Files always land in ~/Downloads with no option to change that, and there's no playlist support. Occasional downloaders who hate relearning flags will like it. Anyone scripting downloads should call yt-dlp directly. Free at any scale.
The catch: yoinks downloads its copy of yt-dlp once and never updates it. YouTube changes something every few weeks, yt-dlp ships a fix, and yoinks keeps running the old binary, which matches the 403 and format errors users have reported since July. Install yt-dlp yourself and keep it current, since yoinks prefers a system copy. The project was built in two days in July, hasn't had a commit since, and has never merged a community pull request.
Completely free. Install and update yt-dlp yourself so downloads keep working.
**Free:** Everything. MIT licensed, no paid tier, no hosted version. **Self-hosted:** Not applicable, it's a local terminal app. Needs Node 18+. Uses a system yt-dlp if one is on your PATH, otherwise downloads the standalone binary into `~/.yoinks/bin` once and never updates it. ffmpeg comes from your PATH or the bundled ffmpeg-static package. Keeps a history of your last 50 URLs in `~/.config/yoinks/history.json`. **Paid:** None.
Clui CC adds a proper command-line UI on top of it. It's a TUI (terminal user interface) that makes Claude Code feel less like raw terminal and more like an actual application. You still get everything Claude Code does, but wrapped in a more usable interface. It's essentially the difference between using git directly and using a git GUI: same power, better ergonomics. MIT licensed, TypeScript. The catch: it's a wrapper around Claude Code, so you're adding a dependency on top of a fast-moving product. When Claude Code updates, Clui CC needs to keep up, and it's maintained by a small team. If Claude Code ships a native UI improvement that overlaps with what Clui CC does, the tool becomes redundant overnight.
Free. Requires Claude Code (which has its own pricing).
Fully open source under MIT. No paid tier, no hosted version. Install it alongside Claude Code and use it as your interface. No additional cost beyond your existing Claude Code subscription.
clifm is a file manager you drive with commands, not menus. Where ranger, nnn, and lf give you a visual TUI to arrow through, clifm keeps the shell paradigm: you navigate and operate on files by typing commands, the way you already work in a terminal. Written in C, it runs almost everywhere, Linux, the BSDs, macOS, Solaris, Haiku, Cygwin, across x86, ARM, PowerPC, and RISC-V. It's very mature, with a deep commit history, packaging in openSUSE's build service, and CodeQL and Codacy in the pipeline. This is a serious, long-maintained project, not a weekend experiment. Free under GPL-2.0-or-later, for anyone who lives in the terminal and wants file management that matches how they already think. The catch is the paradigm itself. "Shell-like" instead of a visual TUI is unusual, and it's a real learning curve if you're used to the menu-driven managers most people reach for. For the right person, someone fluent in the command line who finds TUIs slower than typing, it's a great fit. For everyone else, ranger or nnn will feel more natural. Try it, but know it's a deliberately different way of working.
Free and open source. A command-driven file manager for shell people.
Free and open source under GPL-2.0-or-later, no paid tier. It stands in for other free file managers like ranger, nnn, and lf, so the only cost is the learning curve of its command-driven approach. Packaged for several distros; build from source anywhere else.
Ghostling is the reference implementation showing how to do it with libghostty. It's a minimum viable terminal emulator in a single C file, using Raylib for windowing and rendering. This isn't a terminal you'd use daily. It's a teaching tool and proof-of-concept for libghostty-vt, the zero-dependency library (not even libc) that handles VT sequence parsing, terminal state management, cursor positioning, text reflow, scrollback, and everything else a terminal needs under the hood. The same library that powers Ghostty, one of the best terminal emulators available. MIT licensed. From the Ghostty organization. The catch: this is a demo, not a product. If you want a terminal emulator, use Ghostty itself. Ghostling exists to show developers how to use libghostty; it's useful if you're building something that needs terminal functionality embedded in it, and pretty much useless otherwise.
Free. It's a reference implementation and teaching tool.
### Free Tier Fully free under MIT. Reference terminal emulator built on libghostty. ### Self-Hosted Build from source using Zig. Minimal dependencies. ### Paid None.
vimhjkl drills you on Vim until the commands become muscle memory. It runs inside real Vim, hands you an editing goal, and scores your keystrokes against a verified-optimal solution, then schedules your weak spots for review using spaced repetition. Free and MIT licensed. It's a trainer, not a cheat sheet. Five modes cover learning, blind recall, targeted practice on your worst skills, and flashcard review, across 61 lessons and a couple hundred hand-vetted challenges. Because the optimal solutions are replayed in actual Vim, you can't fake your way through with sloppy keystrokes. Install is trivial through Homebrew, the AUR, or source. The closest paid option is vim-adventures, the browser game that runs about 25 dollars. vimhjkl is free, lives in your terminal, and grades efficiency, not just correctness. The free alternatives, vimtutor and vim-be-good, are lighter and don't track your progress over time. The catch: it's solo-maintained and early, version 0.4, and it asks for commitment. This is a daily-reps tool, not a quick reference. If you'll actually do the drills, it's the best free option going.
Completely free and open source (MIT).
**Free:** All of it. MIT licensed, no paid tier, no accounts. **Self-hosted:** Not applicable in the usual sense. It's a local CLI you install with Homebrew, the AUR, or from source, then run in your terminal. **Paid:** None. The nearest commercial comparison is vim-adventures at around 25 dollars, a one-time purchase for the browser game. vimhjkl gives you a deeper, progress-tracked trainer for nothing.