Firebase: Runtime Node.js 20 was decommissioned
Runtime Node.js 20 was decommissioned on 2026-10-30. To deploy you must first upgrade your runtime version.
Short answer: Google decommissioned the Node.js 20 runtime for Cloud Functions (Cloud Run functions) on 30 October 2026, so the Firebase CLI refuses to deploy functions that still target it. Switch the runtime to Node.js 22 (or 24) in package.json or firebase.json, test, and redeploy every function.
Why it happens
Google's runtime policy: after the decommission date "you can no longer create new workloads or update existing workloads using the runtime", and workloads that stay on it "may be disabled". Node.js 20 was deprecated on 30 April 2026 (the CLI warned on every deploy since then) and decommissioned on 30 October 2026. The Firebase CLI checks the date itself and stops with the error above.
You may also see
Runtime Node.js 20 was deprecated on 2026-04-30 and will be decommissioned on 2026-10-30, after which you will not be able to deploy without upgrading. Consider upgrading now to avoid disruption.
Fix
- Install Node.js 22 or 24 locally (for example
nvm install 22) so the emulator matches production. - In
functions/package.jsonset"engines": { "node": "22" }. Iffirebase.jsonhas"runtime": "nodejs20"for a codebase, change it tonodejs22: the CLI usesfirebase.jsonin preference topackage.json. - Update the Firebase CLI (
npm install -g firebase-tools) and runnpm installinfunctions/, then fix anything your dependencies flag for the new Node version. - Test with the Local Emulator Suite (
firebase emulators:start). - Redeploy all functions (
firebase deploy --only functions). Repeat for every codebase infirebase.json.
Watch out
- Functions you don't redeploy keep the old runtime and "may be disabled" by Google: redeploy all of them, not only the one you're changing.
- Node.js 22 is supported until its deprecation on 30 April 2027 (decommission 31 October 2028); Node.js 24 until 30 April 2028.
- Projects must be on the Blaze plan to deploy functions.
Sources
- Google Cloud: Cloud Run functions runtime support (lifecycle dates and policy)
- Firebase: Manage functions (set the Node.js version)
- firebase-tools 15.34.1: lib/deploy/functions/runtimes/supported/index.js (guardVersionSupport)
Did this fix it?