Homebrew gives SSL error (SSL_ERROR_SYSCALL) on home network

A thought occurs to me -- have you checked your router to see if it is doing a transparent proxy for you?

If it is, then you may want to turn that off.

If you can't turn it off, then you might want to install a VPN solution that will allow you to bypass it.

Just a thought.


Since you're using LibreSSL, try re-installing curl with OpenSSL instead of Secure Transport.

The latest brew, it depends on OpenSSL by default, so you've to reinstall it:

brew reinstall curl

For older Brew, there was an option --with-openssl which was removed, e.g.

brew reinstall curl --with-openssl

Here are few other suggestions:

  • Run brew options curl to display install options specific to formula.
  • Compile from the source. Check curl.rb formula for more details.
  • Make sure you're not using http_proxy/https_proxy.
  • Use -v to curl for more verbose output.
  • Try using BSD curl at /usr/bin/curl, run which -a curl to list them all.
  • Make sure you haven't accidentally blocked curl in your firewall (such as Little Snitch).
  • Alternatively use wget.

For those who are still struggling to resolve this.

Please try:

brew update-reset
brew update # This might not be needed.

I found this gem here.