The fastest way to update curl on macOS is via Homebrew: run brew install curl, then brew link curl –force. This installs the latest curl version alongside the older system version that ships with macOS, without touching system files.

macOS comes with curl pre-installed, but Apple often ships an older build with limited TLS/SSL support. If you’ve hit version-related errors or need newer protocol support, here’s how to safely update it.

Is curl pre-installed on macOS?

Yes. Every modern version of macOS includes a system copy of curl at /usr/bin/curl. You can confirm this — and check your version — with:

curl –version

If the version shown is significantly older than the latest curl release, it’s worth updating, especially if you’ve encountered SSL handshake errors or warnings about unsupported protocols.

Method 1: Update curl with Homebrew (Recommended)

If you don’t have Homebrew yet, install it first:

/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”

Then install or update curl:

brew install curl
brew link curl –force

Homebrew installs its version of curl at/opt/homebrew/bin/curl (Apple Silicon) or /usr/local/bin/curl (Intel), leaving the system version untouched. Restart your terminal and re-check the version with curl –version; you should now see the updated number and an updated path.

If curl was already installed via Homebrew, simply run:

brew upgrade curl

Method 2: Update via MacPorts

If you use MacPorts instead of Homebrew:

sudo port selfupdate
sudo port upgrade curl

Why You Shouldn’t Replace the System curl

Don’t try to delete or overwrite /usr/bin/curl directly. macOS relies on it for internal scripts and security tools, and System Integrity Protection (SIP) blocks direct edits to it anyway. Always install the updated version to a separate path (which is exactly what Homebrew and MacPorts do) and let your shell’s PATH prioritize the new version.

Fixing “curl: command not found”

If your terminal returns command not found after installing curl, it’s almost always a PATH issue, not a missing binary. Check where curl is installed:

which curl

Then make sure that directory is included in your shell’s PATH (in ~/.zprofile or ~/.bash_profile):

export PATH=”/opt/homebrew/bin:$PATH”

Reload your shell with source ~/.zprofile and try again.

curl vs. libcurl

curl is the command-line tool; libcurl is the underlying library that powers it (and that many programming languages use for HTTP requests). Updating curl via Homebrew also installs/updates libcurl automatically; you don’t need a separate step unless you’re linking against it directly in a custom build, in which case brew info curl will show you the library paths.

Updating curl for Development Use (Node.js, PHP, Python)

If you’re updating curl because a language runtime or package manager depends on it (common with Node.js, PHP, or Python projects using libcurl bindings), make sure your project’s environment variables also point to the new path. For example, if you’re compiling a tool that links against libcurl, set:

export LDFLAGS=”-L/opt/homebrew/opt/curl/lib”
export CPPFLAGS=”-I/opt/homebrew/opt/curl/include”

This ensures your build tools use the updated library rather than the older system version.

FAQ

  1. Do I need to update curl on macOS?
    Only if you’re hitting errors related to TLS versions, HTTP/2, or missing features in newer curl releases. For everyday use, the pre-installed version works fine.
  2. Will updating curl break anything on my Mac?
    No, as long as you install the new version through Homebrew or MacPorts rather than replacing the system binary. Both methods install alongside the original safely.
  3. How do I check which curl version I’m using?
    Run curl –version. If it points to /usr/bin/curl, you’re using Apple’s built-in version; if it points to /opt/homebrew/bin/curl or similar, you’re using your updated version.
  4. How do I switch back to the system curl?
    Run brew unlink curl, or simply remove the Homebrew path from your PATH variable.

 

On a different OS? Check out our cURL installation guide for Windows and Linux.

Popular Posts You May Read

Explore more hosting insights, tips and industry updates.

How to Connect to a Windows Server Using Remote Desktop Protocol (RDP)

This guide outlines the steps to connect to a Windows Server using Remote Desktop Protocol…

Reset Plesk’s Admin Password on Windows Server

Reset Plesk’s admin password on Windows Server: Log in to windows server via RDP as…

How to Connect Plesk with External Database Servers

How to Connect Plesk with External Database Servers

In this guide, you will find how to connect Plesk with external database servers. To…