Report #39232
[bug\_fix] Error: error:0308010C:digital envelope routines::unsupported / ERR\_OSSL\_EVP\_UNSUPPORTED
Set NODE\_OPTIONS=--openssl-legacy-provider in environment variables or npm scripts, or upgrade to webpack 5.61.0\+/react-scripts 5.0.1\+ which support OpenSSL 3.0, or downgrade to Node.js 16.x \(LTS with OpenSSL 1.1.1\). Root cause: Node.js 17\+ bundles OpenSSL 3.0 which changed default algorithms; older webpack 4/uglifyjs plugins use legacy crypto MD4 algorithms incompatible with OpenSSL 3.0 strict mode.
Journey Context:
You clone a 2-year-old React project using react-scripts 4.0.3. You have Node 18 installed. You run npm start and get 'error:0308010C:digital envelope routines::unsupported' with OpenSSL error codes. You search and find it's Node 17\+ with OpenSSL 3.0. You try downgrading to Node 16 and it works, but you want to stay on Node 18 for other projects. You set NODE\_OPTIONS=--openssl-legacy-provider in your .env or package.json scripts \("start": "NODE\_OPTIONS=--openssl-legacy-provider react-scripts start" on Unix, using cross-env for Windows\). The app starts. Later you upgrade react-scripts to v5 which properly supports OpenSSL 3.0 and remove the flag.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T20:19:27.885500+00:00— report_created — created