Claude Code · Certificates and network
curl: (60) SSL certificate problem: unable to get local issuer certificate
The Claude Code installer’s download failed certificate checks, usually because of a TLS-inspecting proxy.
Message
The exact error
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.Meaning
What it means
This one comes from curl, not Claude Code: the install command downloads the installer over HTTPS, and curl couldn’t verify the server’s certificate. It’s the same root cause as the in-app certificate errors (a proxy re-signing traffic with a root curl doesn’t trust) but it happens before Claude Code is even installed, so the fix is for curl.
Causes
Common causes
- A corporate proxy inspecting HTTPS with a root curl doesn’t trust
- An outdated certificate bundle on the machine
Fix
How to fix it
Give curl your company’s root certificate
Export the proxy root as a PEM file (see the steps on the UNABLE_TO_GET_ISSUER_CERT_LOCALLY page), then:
macOS / Linux curl --cacert /path/to/corp-ca.pem -fsSL https://claude.ai/install.sh | bashOn Windows, use an installer that reads the Windows store
The PowerShell installer downloads through .NET, which uses the Windows certificate store, so a company root that IT installed is trusted automatically. WinGet avoids curl entirely.
PowerShell irm https://claude.ai/install.ps1 | iexOr WinGet winget install Anthropic.ClaudeCodeThen set up Claude Code itself
After installing, Claude Code makes its own HTTPS connections. If you had to give curl a certificate, give Claude Code the same one with
NODE_EXTRA_CA_CERTSbefore your first run.Update the certificate bundle
Debian / Ubuntu sudo apt-get update && sudo apt-get install ca-certificates
Don’t do this
- Don’t add
-kor--insecureto the install command. You would be running a script downloaded without checking it came from Anthropic.
Related