SELF_SIGNED_CERT_IN_CHAIN npm Origin: Build & delivery Last updated 14 Oct 2026

npm ERR! code SELF_SIGNED_CERT_IN_CHAIN — request to https://registry.npmjs.org/ failed, reason: self signed certificate in certificate chain

A corporate proxy or antivirus is intercepting HTTPS, and npm doesn’t trust its certificate.

Exact message you may see code SELF_SIGNED_CERT_IN_CHAINself signed certificate in certificate chain
Seen on: npm

Meaning

Point npm at the company root CA instead of turning strict-ssl off.

Common causes

  • Corporate SSL inspection
  • Antivirus HTTPS scanning
  • Private registry with internal CA

⚡ Quick fix

  1. npm config set cafile /path/to/corp-root.pem
  2. Or set NODE_EXTRA_CA_CERTS for Node processes
  3. Avoid strict-ssl=false except temporarily

Detailed fix by platform

npm

  1. npm config set cafile /etc/ssl/certs/corp-root.pem

How to diagnose

  1. Network — Proxy/inspection present?
  2. Recent change — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Build & delivery. Errors that are often confused with or caused by this one (click to open):

1013 — Cloudflare Error 1013: HTTP hostname and TLS SNI hostname mismatch (Cloudflare)1013407 — HTTP 407 Proxy Authentication Required (HTTP)407CERTIFICATE_VERIFY_FAILED — SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate (API)CERTIFICATE_VERIFY_FA…Client.Timeout exceeded — Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded) (Docker)Client.Timeout exceed…Cloudflare Origin CA not trusted — NET::ERR_CERT_AUTHORITY_INVALID with a Cloudflare Origin Certificate (record not proxied) (Cloudflare)Cloudflare Origin CA …DEPTH_ZERO_SELF_SIGNED_CERT — Node/OpenSSL: Error: self signed certificate (code: DEPTH_ZERO_SELF_SIGNED_CERT) (SSL / TLS)DEPTH_ZERO_SELF_SIGNE…ERR_CERT_AUTHORITY_INVALID — NET::ERR_CERT_AUTHORITY_INVALID (Your connection is not private) (JavaScript)ERR_CERT_AUTHORITY_IN…ERR_SSL_PROTOCOL_ERROR — ERR_SSL_PROTOCOL_ERROR (This site can't provide a secure connection) (JavaScript)ERR_SSL_PROTOCOL_ERRORSELF_SIGN…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.