Azure App Service retired Node 22 LTS for 30 April 2027 and named a target that expires 366 days later

App Service ends Node 22 LTS support on 30 April 2027. Its recommended target, Node 24 LTS, dies 366 days after that.

Read time
10 min
Word count
1.6K
Sections
11
FAQs
8
Share
Azure App Service Node 22 LTS retirement timeline ending 30 April 2027
App Service ends Node 22 LTS support on 30 April 2027 and names Node 24 LTS as the target.
On this page · 11 sections
  1. What the notice says
  2. The date the notice does not mention
  3. Why the notice still says 24
  4. What actually breaks
  5. What to do, in order
  6. What the plan costs while you migrate
  7. India-specific considerations
  8. What is still unknown
  9. FAQ
  10. How eCorpIT can help
  11. References

Summary. Azure App Service published a Node 22 LTS retirement notice at 17:30 UTC on 24 August 2026, with support ending on 30 April 2027, 249 days after the notice. The notice tells you to "upgrade your app to Node 24 LTS before April 30, 2027". The Node.js Release Working Group schedule put Node 24 into maintenance on 20 October 2026, 57 days after the notice, and ends it on 30 April 2028, exactly 366 days after the Node 22 cliff. Node 26 became Active LTS on 28 October 2026 and runs to 30 April 2029, 731 days past the cliff. Following the notice literally buys 12 months of runway. Following the Node.js schedule buys 24. App Service plans in Central India ran from $0.018 per hour for Basic B1 Linux to $0.818 for Premium v4 P3v4 on 2 November 2026, so the runway is cheap and the migration is not.

Update, 2 November 2026. The schedule dates in this piece have now passed as planned. Node 24 entered maintenance on 20 October 2026, so the target the notice names is already a maintenance release, and Node 26 became Active LTS on 28 October 2026. On App Service, Node 26 is in preview on Linux with no general availability date, and the notice still names Node 24. We also corrected the schedule table: 20 October 2027 is the LTS start for Node 27, which has no maintenance phase. For platform dates and a migration checklist, see our Node.js 22 end-of-life guide.

What the notice says

The retirement record is terse and worth reading in full, because the operative sentence is the last one. "On April 30 2027, support for Node 22 LTS will end. Your apps that are hosted on App Service will continue to run, but security updates will no longer be available, and we'll no longer provide customer service for Node 22 LTS. Required action: To avoid potential security vulnerabilities and minimize risk for your App Service apps, follow the steps to upgrade your app to Node 24 LTS before April 30, 2027."

The Azure release record is filed against the App Service product with an availability ring of "Retirement" for April 2027. Nothing about the date is negotiable, because App Service does not set it. The language runtime support policy is explicit: "App Service follows community support timelines for the lifecycle of the runtime."

The date the notice does not mention

That policy sentence is what makes the recommended target odd. If App Service follows community timelines, the community timeline is the document that should decide your target version. Here is what it says, taken from schedule.json in the nodejs/Release repository.

Node.js version Enters maintenance End of life
20 (Iron) 22 October 2024 30 April 2026
22 (Jod) 21 October 2025 30 April 2027
24 (Krypton) 20 October 2026 30 April 2028
26 (Lithium) 20 October 2027 30 April 2029
27 No maintenance phase (LTS starts 20 October 2027) 30 April 2030

Node 22 has been in maintenance since 21 October 2025. That is 307 days before Microsoft sent the notice. Maintenance releases carry critical and security fixes only, so the narrowing everyone is being warned about started nearly ten months before the notice and the App Service date is the point where the platform stops relaying even those.

Node 24 became Active LTS on 28 October 2025 and entered maintenance on 20 October 2026. That is 57 days after this notice was published. So the version Azure names as the fix is already a maintenance release, and it ends 366 days after the version it replaces.

Question Node 24 LTS (the notice's target) Node 26 LTS
Active LTS from 28 October 2025 28 October 2026
Enters maintenance 20 October 2026 20 October 2027
End of life 30 April 2028 30 April 2029
Runway past the 30 April 2027 cliff 366 days 731 days
Still Active LTS on 30 April 2027? No, in maintenance since 20 October 2026 Yes, until 20 October 2027

Five rows, and the fifth is the one that matters. If your reason for moving is "we want to be on a version that still gets full releases", Node 24 does not deliver that on the day the cliff arrives. Node 26 does.

Why the notice still says 24

There is a defensible reason, and it is worth stating plainly rather than treating the notice as a mistake. Node 26 did not become Active LTS until 28 October 2026, 65 days after the notice was written. Microsoft could not name a version that was not yet an LTS line as the supported migration target, and the current App Service documentation reflects the same lag: the Node.js configuration guide uses WEBSITE_NODE_DEFAULT_VERSION="~24" on Windows and NODE|24-lts on Linux in its worked examples.

The practical consequence is a scheduling one. A team that starts the migration now can land on Node 26 for the same effort once App Service offers it at general availability, because the code changes between 22 and 24 and between 22 and 26 largely overlap. A team that follows the notice to the letter does the work twice.

What actually breaks

Three things, none of them the runtime.

You cannot pin a patch level to buy time. The language runtime support policy says App Service "updates major versions of stacks but can't guarantee any specific minor versions or patch versions" and that "the platform controls minor and patch versions". If you need a specific patch, the documented answer is a custom container, which moves runtime patching from Microsoft onto your build pipeline. That is a real operational transfer, not a config flag.

The rollback path closes. The Microsoft-maintained App Service Linux runtime notes state that "once a version of Node.js has reached it's end of life (EOL) it will no longer be available from Runtime Stack selection dropdown", while also saying that "existing applications configured to target a runtime version that has reached EOL should not be affected". Those two sentences sit badly next to a retirement notice that says security updates stop. The reconciliation: your app keeps running on the setting it already has, but you cannot select that setting again, so a post-cliff rollback from Node 24 to Node 22 is not a portal operation.

The notification may not reach the people who own the app. The support policy lists the roles that receive reminders as account administrators, service administrators and coadministrators, and states that "contributors, readers, or other roles don't directly receive notifications unless they opt in to receive notification emails by using Service Health Alerts". On a subscription where the platform team holds Contributor, nobody on that team is on the list by default.

What to do, in order

  1. Inventory. On Linux, az webapp config show --resource-group <rg> --name <app> --query linuxFxVersion. On Windows, query the WEBSITE_NODE_DEFAULT_VERSION app setting. Both commands are in the App Service Node.js configuration guide.
  1. Decide the target version against the Node.js schedule, not the notice. Node 26 has been Active LTS since 28 October 2026, but App Service offers it only as a Linux preview so far. If it reaches general availability before you ship, target Node 26 and skip a migration. If not, ship on Node 24 and plan the second move.
  1. Subscribe the platform team to Service Health Alerts so the next retirement notice reaches the people who own the change.
  1. Change the stack setting last. The runtime support notes warn that changing stack settings restarts the application, so it belongs in a maintenance window with a slot swap behind it.

Do not treat this as a version bump. The real cost is usually the dependency tree, not the runtime: native modules compiled against a V8 ABI, packages that pinned an engines range at Node 22, and build images in your pipeline that still install 22.

What the plan costs while you migrate

These are Azure Retail Prices API values for Linux App Service plans in Central India, queried on 2 November 2026.

Tier SKU USD per hour
Basic B1 0.018
Basic B2 0.036
Standard S3 0.352
Premium v4 P1v4 0.204
Premium v4 P3v4 0.818

Five rows. The runtime itself carries no line item in that result set, which is the point: the retirement costs you engineering time, not Azure spend.

India-specific considerations

For teams running App Service from Central India, the 30 April 2027 date lands in the first month of the Indian financial year, which is usually the worst possible window for an unplanned platform change. Pulling the work into the 2026-27 financial year is the cheaper choice on both the budget and the risk side. Where the application processes personal data, note that running a runtime with no security updates past 30 April 2027 is difficult to defend as a reasonable security safeguard under the Digital Personal Data Protection Act 2023, and the App Service notice is now dated evidence that you were told.

What is still unknown

Microsoft has not published a general availability date for Node 26 on App Service. Its App Service team announced a Linux preview on 11 September 2026, with the stack value NODE|26, and recommends it for development and testing. The Node.js configuration guide still shows Node 24 in its examples, and the retirement notice has not been amended to name Node 26. Whether either changes is open as of 2 November 2026.

FAQ

How eCorpIT can help

Runtime retirements are the cheapest migrations to plan and the most expensive to postpone. Our cloud migration and modernization practice handles App Service runtime moves as dependency work first and stack-setting work last, which is the order that keeps the rollback usable. If your estate has Node 22 apps and no inventory of them, ask for an App Service runtime audit and we will start with linuxFxVersion across the subscription. eCorpIT is ISO 27001:2022 certified and CMMI Level 5 appraised.

Related reading: the Node.js one-release-per-year cadence change and Node 27, our Bun versus Node.js backend runtime decision, the App Service Isolated v4 cost and performance decision, and the Interop 2026 web platform guide.

References

  1. Azure updates: Retirement: Support for Node 22 LTS ends on April 30, 2027 (published 24 August 2026)
  1. Microsoft release communications record 567334
  1. nodejs/Release schedule.json
  1. Node.js Release Working Group
  1. Language runtime support policy for Azure App Service
  1. Node.js on App Service runtime support notes
  1. Configure a Node.js app for Azure App Service
  1. az webapp command reference
  1. Azure Retail Prices API (queried for Azure App Service, Central India, 2 November 2026)
  1. Create Service Health alerts in the Azure portal
  1. What is Azure App Service?
  1. Azure App Service team blog: .NET 11, Python 3.15, and Node.js 26 on Azure App Service for Linux (11 September 2026)

Last updated: 2 November 2026.

Frequently asked

Quick answers.

01 What did Azure announce on 24 August 2026?
App Service published a retirement notice for Node 22 LTS with an end date of 30 April 2027. Apps keep running after that date, but Microsoft stops shipping security updates and stops providing customer support for the runtime. The notice names Node 24 LTS as the upgrade target.
02 Why is Node 24 a weak migration target?
The Node.js release schedule put Node 24 into maintenance on 20 October 2026 and ends it on 30 April 2028. That is 366 days past the Node 22 cliff. Node 26 became Active LTS on 28 October 2026 and runs to 30 April 2029, which is 731 days.
03 Has Node 22 already lost anything?
Yes. The Node.js release schedule shows Node 22 entered maintenance on 21 October 2025, which is 307 days before Azure sent this notice. Maintenance releases carry critical and security fixes only. The App Service retirement date is the point where Microsoft stops relaying those fixes to the platform stack.
04 Can I pin a specific Node 22 patch version to buy time?
No. The Azure language runtime support policy says App Service updates major versions but cannot guarantee any specific minor or patch version, and that the platform controls those. The documented escape hatch is a custom container, which moves runtime patching from Microsoft onto your own build pipeline.
05 Will Node 22 disappear from the portal?
The Microsoft-maintained App Service Linux runtime support notes state that once a Node.js version reaches end of life it is no longer available from the Runtime Stack selection dropdown. Existing apps keep their setting, but you lose the ability to select it again, so a rollback after the date is not a portal operation.
06 Who receives the retirement notification?
Azure's language runtime support policy says reminder notifications go to subscription owners, and lists account administrators, service administrators and coadministrators as the roles that receive them. Contributors and readers do not, unless they opt in through Service Health Alerts. That routing is why platform teams often learn about a retirement late.
07 How do I change the Node version on App Service?
On Linux, set the runtime through the linux-fx-version property, for example NODE|24-lts using az webapp config set. On Windows, set the WEBSITE_NODE_DEFAULT_VERSION app setting with tilde syntax such as ~24. Both changes restart the application, so schedule them in a maintenance window.
08 What does the migration runway cost?
The Azure Retail Prices API returned 0.018 US dollars per hour for a Basic B1 Linux App Service plan in Central India on 2 November 2026, 0.036 for B2, 0.352 for Standard S3 and 0.204 for Premium v4 P1v4. Those figures are list prices for the plan in that region on that date.

About the author

Manu Shukla

Founder & Director

Founder of eCorpIT. Hands-on engineer leading senior-only delivery for AI apps, custom software, and cloud systems for global clients.

Subscribe

One engineering note a week. No fluff, no spam.

Senior-architect playbooks on AI agents, mobile apps, cloud, security, data, and marketing — delivered every Wednesday.

Past the reading

Read enough. Let's build something.

A senior architect responds in 24 working hours with scope, indicative cost, and a timeline. NDA before any technical conversation.

Loading search…

Browse all guides