Report #14744
[bug\_fix] Error: error:0308010C:digital envelope routines::unsupported
Set NODE\_OPTIONS=--openssl-legacy-provider environment variable, or upgrade build tools \(webpack 5\+, Vite, etc.\) to versions supporting OpenSSL 3.0. Root cause: Node.js 17\+ bundles OpenSSL 3.0 which disables legacy cryptographic algorithms by default; old webpack 4.x crypto.createHash calls fail.
Journey Context:
Developer upgrades to Node.js 18 LTS for security patches. Clones an older Create React App 4 or Vue CLI 4 project. Runs npm start. Immediately crashes with "Error: error:0308010C:digital envelope routines::unsupported" in crypto.js, stack trace pointing to webpack's crypto.createHash. Developer searches and finds GitHub issues suggesting to downgrade to Node 16, but they need Node 18 for other features. They try reinstalling node\_modules. They find Node.js 17 changelog mentioning OpenSSL 3.0 upgrade. The workaround is setting NODE\_OPTIONS=--openssl-legacy-provider which re-enables the legacy OpenSSL provider. They add "scripts": \{ "start": "NODE\_OPTIONS=--openssl-legacy-provider react-scripts start" \} to package.json \(handling cross-env for Windows\). Build works. Long-term fix is upgrading webpack to 5.61.0\+ which supports OpenSSL 3.0 natively.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T22:19:37.172748+00:00— report_created — created