Best Homebrew Packages and Apps
The best Homebrew packages and apps for a Mac, ranked by what Mac users install, from Git and Node to AI coding agents, with each install command.
Homebrew is a free package manager for the Mac. It installs command-line tools and Mac apps with one command, and keeps track of them so you can update or remove them later.
Choosing packages is one step in setting up your Mac for development. See the Mac development setup guide.
Before you get started
I recommend using our free app to set up Homebrew and the command line. It is a FREE Mac app that installs the Command Line Tools, installs Homebrew and Git, and makes it easy to install Homebrew packages and apps. Here are all the details about the app before you download. Then:
Find the best Homebrew packages
My research is based on Homebrew's public install counts for the past year, which show how often Mac users install each package. This list leaves out packages that are primarily used by automated build servers, and it shows no download counts, because the numbers change every day.
If you write code, start with the first section. If you want useful tools for any Mac, go to the other sections on command-line tools for everyone. Within each section, the most-installed packages come first.
There are a lot of packages here! Take time to familiarize yourself with the list and learn what most other developers use.
First steps to install Homebrew packages
First, check the macOS version. If you're running an older version, update macOS to the latest macOS version.
You need to Install Homebrew before you can install any of these packages. Homebrew can't be installed on Intel-based Macs (use MacPorts instead).
Homebrew installs two kinds of package: command line tools and graphical Mac apps. A command-line tool (Homebrew calls it a formula) runs in a terminal application. A Mac app (Homebrew calls it a cask) gets installed in your Applications folder like any other app. A few command-line tools, such as Claude Code, also come as casks. Use my app "Set Up Your Mac for the Command Line" to make it easier and verify each package installation.
To do it yourself, see How to Open Terminal in Mac, and then install a formula with brew install or a cask with brew install --cask, followed by the package name:
$ brew install <name>
$ brew install --cask <name>
Each package listed below shows its exact install command. A few packages come from a tap, a collection of packages that a project's makers publish outside Homebrew's main collection. Use an install command that includes the tap's name, such as brew install hashicorp/tap/terraform, so Homebrew obtains the package from the vendor's repository.
Some Mac apps ask for your Mac password while they install, because they use a macOS installer package. In a terminal application, type your password at the prompt and press Return. The characters do not appear as you type. This list indicates any app that "(asks for your Mac password)".
For the details, including how to find a package with brew search, see Install a Homebrew Package.
Install these first on a new developer Mac
These are the tools almost every developer needs, whatever language they work in.
- GitHub CLI (command-line tool): GitHub is the service that most developers use for version control, offsite backup, and collaboration. This package is GitHub's own command-line tool. Run
gh auth loginonce to sign in, and it can also set up Git to use your GitHub account. Install from Homebrew withbrew install gh. - Node.js (command-line tool): The JavaScript runtime behind most web development tools, with its package manager, npm. Often required to install various porgamming tools written in JavaScript. If you'll need more than one version of Node, start with the Mise language version manager.
brew install node - Git (command-line tool): Version control, basic to almost all software work. Apple's Git comes with the Xcode Command Line Tools and lags behind the current version, so installing this Homebrew package keeps it current. See Install Git.
brew install git - jq (command-line tool): Reads and filters JSON data on the command line, which you'll need the first time you work with a web API.
brew install jq - tree (command-line tool): Displays a folder's contents as a tree, which helps you see how a project is laid out.
brew install tree - Wget (command-line tool): Downloads files from the web. Many tutorials assume you have it.
brew install wget - tlrc (command-line tool): Short, example-first help for commands, such as
tldr tar, easier to read than the built-in manual pages. It replaces the oldertldrpackage, which Homebrew has disabled.brew install tlrc
Editors and terminal upgrades
- Warp, Ghostty or iTerm2 (Mac apps): Terminal applications that do more than Apple's built-in one, with features such as split panes, and in Warp, AI help with commands. Compare them in Best Terminal for Mac.
brew install --cask warp,brew install --cask ghosttyorbrew install --cask iterm2or use "Set Up Your Mac for the Command Line". - Visual Studio Code (Mac app): A free, widely used code editor, with extensions for every language.
brew install --cask visual-studio-codeor use "Set Up Your Mac for the Command Line". - Neovim (command-line tool): A modern version of the Vim editor, for developers who want to edit files inside the terminal. The command is
nvim.brew install neovim - Cursor, Zed or Sublime Text (Mac apps): Other code editors: Cursor is built around AI, Zed is very fast, and Sublime Text is a long-standing favorite.
brew install --cask cursor,brew install --cask zedorbrew install --cask sublime-text
Choose a programming language and version manager
Install a programming language for your projects. If you need more than one version of a language, install a version manager such as Mise first.
- Mise (command-line tool): One tool that installs and switches versions of Node, Python, Ruby, Java and more for each project, in place of several separate version managers. See Mise on Mac.
brew install miseor use "Set Up Your Mac for the Command Line". - Go (command-line tool): Google's language for servers and command-line tools. One install is enough for most people.
brew install go - Python (command-line tool): You can install Python with Homebrew, but you should start with uv for Python on Mac instead. For real projects, let uv or Mise manage Python versions.
brew install python@3.15or use "Set Up Your Mac for Python". - uv (command-line tool): The fast, modern way to install Python and manage a project's Python packages. See uv for Python on Mac.
brew install uv - pyenv (command-line tool): The older way to switch between Python versions, still common in tutorials. Its installs are falling as more developers move to uv.
brew install pyenv - pipx (command-line tool): Installs Python command-line programs, each in its own isolated environment, so they do not break each other.
brew install pipx - pnpm (command-line tool): A faster, disk-saving alternative to npm for JavaScript projects.
brew install pnpm - nvm and fnm (command-line tools): Node version managers. The nvm project does not support installing nvm with Homebrew, so use fnm or Mise instead.
brew install fnm - PHP (command-line tool): PHP for WordPress and Laravel work.
brew install php - OpenJDK or Temurin (command-line tools, Temurin as a cask): For the Java language. Temurin is the widely used free build of Java from the Eclipse Foundation. See Brew Install Java - Formula Method and Brew Install Java - Easy Cask Method.
brew install openjdkorbrew install --cask temurin(asks for your Mac password) or use "Set Up Your Mac for Java". - Ruby or rbenv (command-line tools): The current version of Ruby. For Rails work, manage Ruby versions and start with Mise on Mac. See Install the Latest Ruby Version.
brew install rubyorbrew install rbenv - Deno (command-line tool): A JavaScript and TypeScript runtime with security settings built in.
brew install deno - Bun (command-line tool from its makers' own collection): A fast, all-in-one JavaScript runtime and package manager. Install it from Bun's own tap, which the Bun project recommends.
brew install oven-sh/bun/bun - rustup (command-line tool): The standard way to install Rust. Use it rather than the
rustpackage, because Rust developers switch toolchains often. Homebrew does not add it to your PATH, so follow the instructions it shows after it installs.brew install rustupor use "Set Up Your Mac for the Command Line".
Upgrade your everyday command-line tools
These tools replace or improve the commands you use every day in a terminal application.
- coreutils (command-line tool): The GNU versions of basic commands, named with a "g" in front, such as
glsandgdate. They help because many tutorials are written for Linux, where these commands behave slightly differently.brew install coreutils - yq (command-line tool): Reads and edits YAML files, the format of most configuration and deployment files, the way jq handles JSON.
brew install yq - fzf (command-line tool): A fuzzy finder. After you turn on its shell integration, press Control-R to search your command history as you type.
brew install fzf - tmux (command-line tool): Keeps terminal sessions running after you close the window, and splits one window into panes.
brew install tmux - ripgrep (command-line tool): Searches every file in a project for text, very fast, with the command
rg.brew install ripgrep - lazygit (command-line tool): A visual, keyboard-driven way to stage, commit and switch branches in Git, easier than typing Git commands.
brew install lazygit - Starship (command-line tool): A terminal prompt that shows your Git branch and language versions at a glance.
brew install starship - htop or btop (command-line tools): See what is using your CPU and memory, and stop runaway processes.
brew install htoporbrew install btop - fd (command-line tool): Finds files by name, with simpler syntax than the built-in
findcommand.brew install fd - bat (command-line tool): Shows a file with syntax coloring and line numbers.
brew install bat - zoxide (command-line tool): Jumps to folders you use often when you type part of the name.
brew install zoxide - eza (command-line tool): A clearer, color-coded replacement for
ls.brew install eza - watch (command-line tool): Reruns a command every few seconds so you can watch its output change.
brew install watch - delta (command-line tool): Makes Git's change listings readable, with color and side-by-side views.
brew install git-delta
Run containers, databases and cloud tools
These tools run databases and services you might need for your projects, and connect you to cloud providers.
- AWS CLI (command-line tool): Amazon Web Services from the command line.
brew install awscli - Google Cloud CLI (command-line tool, installed as a cask): Google Cloud's command-line tools, including
gcloud.brew install --cask gcloud-cli - Docker Desktop (Mac app): Runs containers, the standard way to package and run apps and databases.
brew install --cask docker-desktop - kubectl and Helm (command-line tools): Work with Kubernetes clusters.
brew install kubernetes-cliandbrew install helm - mkcert (command-line tool): Makes trusted
https://localhostcertificates, so local development matches production.brew install mkcert - ngrok or cloudflared (command-line tools, ngrok as a cask): Give your local web server a temporary public web address, to show a client or test a webhook.
brew install --cask ngrokorbrew install cloudflared - Azure CLI (command-line tool): Microsoft Azure from the command line, with the command
az.brew install azure-cli - MySQL and Redis (command-line tools): Two databases many web tutorials ask for: MySQL, a relational database, and Redis, a fast key-value store.
brew install mysqlandbrew install redis - Colima (command-line tool): A free container engine you run from the terminal. Pair it with Homebrew's
dockerpackage, which is only the Docker command-line client and needs an engine such as Colima, Docker Desktop or OrbStack to run containers.brew install colima docker - Terraform (command-line tool from HashiCorp's own collection): Describes cloud infrastructure as code. It is available only from HashiCorp's tap now, not Homebrew's main collection.
brew install hashicorp/tap/terraform - OrbStack (Mac app): A lighter, faster alternative to Docker Desktop.
brew install --cask orbstack - PostgreSQL (command-line tool): A widely used open-source database for web apps. Install version 18, the newest, then start it with
brew services start postgresql@18.brew install postgresql@18 - MongoDB (command-line tool from MongoDB's own collection): A document database. It is available only from MongoDB's own tap, not Homebrew's main collection.
brew install mongodb/brew/mongodb-community
Try AI coding tools and apps
AI coding agents are now among the most-installed Homebrew packages. Most of them run in a terminal application.
- Claude Code (command-line tool, installed as a cask): Anthropic's coding agent for the terminal. See Install Claude Code on Mac.
brew install --cask claude-code - Codex (command-line tool, installed as a cask): OpenAI's coding agent for the terminal.
brew install --cask codex - OpenCode (command-line tool from its makers' own collection): An open-source coding agent that works with many AI providers. Install it from its makers' tap, which the project recommends and keeps up to date.
brew install anomalyco/tap/opencode - Ollama or LM Studio (command-line tool or Mac app): Run AI models on your own Mac, privately and offline.
brew install ollamaorbrew install --cask lm-studio - GitHub Copilot CLI (command-line tool, installed as a cask): GitHub Copilot's coding agent in the terminal.
brew install --cask copilot-cli - Claude or ChatGPT (Mac apps): The desktop chat apps from Anthropic and OpenAI.
brew install --cask claudeorbrew install --cask chatgpt - Antigravity CLI (command-line tool, installed as a cask): Google's terminal tool for its Antigravity coding agents. Homebrew lists it as the replacement for Gemini CLI, which Homebrew has deprecated.
brew install --cask antigravity-cli
Install useful command-line tools for everyone
You do not need to be a developer to use these. Each one does a single everyday job from a terminal application.
- FFmpeg (command-line tool): Converts, trims and compresses almost any audio or video file.
brew install ffmpeg - ImageMagick (command-line tool): Resizes, converts and batch-edits images, for example
magick photo.heic photo.jpg.brew install imagemagick - Poppler (command-line tool): PDF utilities such as
pdftotext, which pulls the text out of a PDF, andpdfimages, which saves the images in it.brew install poppler - yt-dlp (command-line tool): Downloads video and audio from YouTube and many other sites.
brew install yt-dlp - Pandoc (command-line tool): Converts documents between Markdown, Word, HTML and more. For PDF output it also needs a TeX installation such as BasicTeX.
brew install pandoc, plusbrew install --cask basictex(asks for your Mac password) - Mole (command-line tool): Frees disk space by deleting caches, logs, and files left behind by apps you removed, with the command
mo. Runmo clean --dry-runfirst to see what it would delete.brew install mole - Tesseract or OCRmyPDF (command-line tools): Pull text out of images, or make a scanned PDF searchable. Tesseract reads only English until you also install
tesseract-lang.brew install tesseractorbrew install ocrmypdf - rclone (command-line tool): Copies and syncs files with Google Drive, Dropbox, Amazon S3 and dozens of other services.
brew install rclone - ExifTool (command-line tool): Reads and removes photo metadata, including location.
brew install exiftool - mas (command-line tool): Installs and updates Mac App Store apps from the command line.
brew install mas - 7-Zip (command-line tool): Opens and creates 7z files and most other archive formats, with the command
7zz.brew install sevenzip
Install popular free Mac apps with Homebrew
Homebrew installs Mac apps as casks, so you can set up a new Mac with a few commands instead of downloading each app from its website.
- Google Chrome, Firefox or Brave (Mac apps): Web browsers. Web developers need more than one for testing.
brew install --cask google-chrome,brew install --cask firefoxorbrew install --cask brave-browser - LibreOffice (Mac app): A free office suite that opens and edits Word and Excel files.
brew install --cask libreoffice - Obsidian (Mac app): Personal knowledge management (PKM) for notes kept as plain Markdown files in a folder you control.
brew install --cask obsidian - Stats (Mac app): Shows CPU, memory and network use in the menu bar.
brew install --cask stats - VLC or IINA (Mac apps): Play almost any video format.
brew install --cask vlcorbrew install --cask iina - Raycast (Mac app): An extendable launcher that replaces Spotlight.
brew install --cask raycast - Rectangle (Mac app): Snap windows to halves and corners with keyboard shortcuts.
brew install --cask rectangle - Maccy (Mac app): Clipboard history, so you can get back anything you copied earlier.
brew install --cask maccy - BetterDisplay or MonitorControl (Mac apps): Control external displays, including their brightness.
brew install --cask betterdisplayorbrew install --cask monitorcontrol - GIMP, Inkscape or Blender (Mac apps): Free image editing, vector drawing and 3D.
brew install --cask gimp,brew install --cask inkscapeorbrew install --cask blender - LocalSend (Mac app): AirDrop-style file sharing with Windows, Android and Linux devices.
brew install --cask localsend - AltTab (Mac app): Switches between individual windows, not just apps, the way Windows does.
brew install --cask alt-tab - Ice (Mac app): Tidies an overcrowded menu bar by hiding the icons you rarely use.
brew install --cask jordanbaird-ice - 1Password or Bitwarden (Mac apps): Password managers.
brew install --cask 1passwordorbrew install --cask bitwarden - AppCleaner or Pearcleaner (Mac apps): Remove an app together with the files it leaves behind.
brew install --cask appcleanerorbrew install --cask pearcleaner - HandBrake or OBS (Mac apps): Convert video files, or record your screen and stream it.
brew install --cask handbrake-apporbrew install --cask obs - Keka or The Unarchiver (Mac apps): Open almost any archive format.
brew install --cask kekaorbrew install --cask the-unarchiver
Add apps for software development
These Mac apps round out a developer's setup: other editors, database and API tools, and mobile development kits.
- Android Studio and Flutter (Mac app and developer kit, both casks): Build Android and cross-platform mobile apps.
brew install --cask android-studioandbrew install --cask flutter - JetBrains Mono Nerd Font (font, installed as a cask): A coding font with the icons that Starship, eza and many terminal themes expect.
brew install --cask font-jetbrains-mono-nerd-font - Postman or Bruno (Mac apps): Send test requests to web APIs. Bruno is open source and stores requests as files.
brew install --cask postmanorbrew install --cask bruno - DBeaver, TablePlus or DB Browser for SQLite (Mac apps): See and edit what is inside a database.
brew install --cask dbeaver-community,brew install --cask tableplusorbrew install --cask db-browser-for-sqlite - UTM (Mac app): Run Linux or other operating systems in a virtual machine.
brew install --cask utm - GitHub Desktop (Mac app): A visual Git client that is friendly for beginners.
brew install --cask github
Fix a package that won't install
Here are four common reasons a package will not install, and how to fix each one.
Homebrew cannot find the name. Homebrew shows No available formula with the name and then No formulae or casks found. Check the spelling first, because Homebrew suggests close matches, such as ripgrep when you type ripgerp. You can search for a package by part of its name:
$ brew search <name>
If the package comes from a tap, use its full name, such as hashicorp/tap/terraform. Type a package name, not a Homebrew word: cask, for example, is the name of an unrelated programming tool, and brew install cask installs it.
The install asks for a password. Some Mac apps need your Mac password to finish. Type it at the prompt and press Return. The characters do not appear as you type.
Something else is wrong with Homebrew. Run Homebrew's own check. It lists any problems it finds and how to fix them:
$ brew doctor
The terminal cannot find brew at all. If you see zsh: command not found: brew, Homebrew is missing or not on your PATH. See Zsh: command not found: brew.
Continue setting up your Mac
Don't miss the full visual roadmap and checklist that shows how to set up a Mac for software development, with all the essential tools and settings you might not yet know about.