Repository navigation
az webapp create ignores siteConfigPropertiesDictionary from the selected App Service stack #33835
Description
Activity
- addedbugThis issue requires a change to an existing behavior in the product in order to be resolved.This issue requires a change to an existing behavior in the product in order to be resolved.
on Aug 3, 2026 Thank you for opening this issue, we will look into it.
x-engineering-agent commented
on Aug 3, 2026 ContributorMore actionsRouted to Azure/azure-cli-extensions as #10175 (Azure/azure-cli-extensions#10175) because this targets the
webappextension, whose source lives inAzure/azure-cli-extensions.
Posted by agent-assist (autonomous bug-fix pipeline).
- addedWeb Appsaz webappaz webappService AttentionThis issue is responsible by Azure service team.This issue is responsible by Azure service team.Auto-AssignAuto assign by botAuto assign by botARMaz resource/group/lock/tag/deployment/policy/managementapp/account management-groupaz resource/group/lock/tag/deployment/policy/managementapp/account management-groupAzure CLI TeamThe command of the issue is owned by Azure CLI teamThe command of the issue is owned by Azure CLI teamquestionThe issue doesn't require a change to the product in order to be resolved. Most issues start as thatThe issue doesn't require a change to the product in order to be resolved. Most issues start as that
on Aug 3, 2026 - removedAzure CLI TeamThe command of the issue is owned by Azure CLI teamThe command of the issue is owned by Azure CLI teamARMaz resource/group/lock/tag/deployment/policy/managementapp/account management-groupaz resource/group/lock/tag/deployment/policy/managementapp/account management-groupquestionThe issue doesn't require a change to the product in order to be resolved. Most issues start as thatThe issue doesn't require a change to the product in order to be resolved. Most issues start as that
on Aug 4, 2026 Following the routed issue and draft PR, the current blocker is repository ownership rather than diagnosis:
- [webapp] az webapp create ignores siteConfigPropertiesDictionary from the selected App Service stack azure-cli-extensions#10175 contains the reproduced root cause and proposed regression coverage.
- Route webapp create stack configuration fix to Azure CLI core azure-cli-extensions#10176 confirmed that the
webappextension only contributeswebapp scan;az webapp createis implemented in the Azure CLI core App Service module. - The draft PR therefore changes no files, and I could not find a corresponding implementation PR in this repository.
Could this issue be assigned to the Azure CLI core App Service owner and the fix implemented here? The expected behavior is to apply the selected stack's
siteConfigPropertiesDictionarygenerically to the create payload, while preserving explicit caller overrides. For Node 24 on Windows, this must setuse32BitWorkerProcess=false; otherwise the CLI creates an incompatible app that returns HTTP 500.The existing workaround remains:
az webapp config set --use-32bit-worker-process false
Yong Zhang (@yonzhan) Aditya Pujara (@a0x1ab) — could we please assign this to the Azure CLI core App Service owner and target it for the 2.91.0 milestone?
This is currently breaking Windows Node.js 24 customers:
az webapp create --runtime "NODE:24LTS"succeeds but creates a 32-bit app for a 64-bit-only runtime, causing the deployed application to return HTTP 500. Settinguse32BitWorkerProcess=falseis the confirmed workaround.The automated workflow routed this to
azure-cli-extensions, but Azure/azure-cli-extensions#10176 confirmed thataz webapp createis implemented here in CLI core. There is still no core implementation PR.The requested fix is to apply the selected stack’s
siteConfigPropertiesDictionarygenerically during creation—not a Node.js-specific workaround—so future runtimes such as .NET 11 also receive their required configuration.Ethan Yang (@necusjz) DanielMicrosoft Arya Sadeghi (@aryasadeghi) — flagging for 2.91.0 planning ahead of the September 29 code-complete date.
aamos-company — tagging you for visibility because this is breaking Windows Node.js 24 today and overlaps with your recent App Service CLI Node runtime work. There is currently no core implementation PR, and we are trying to target the fix for Azure CLI 2.91.0.
@copilot please implement this fix in the Azure CLI core App Service module and open a PR targeting
devfor the Azure CLI 2.91.0 milestone.Requirements:
- Apply the selected stack's
siteConfigPropertiesDictionarygenerically to thesiteConfigused byaz webapp create; do not hard-code Node.js 24, Windows, or a specific property. - Preserve existing behavior when the dictionary or property is absent.
- Ensure an explicit caller-supplied value takes precedence over stack metadata.
- Add regression coverage for Windows Node.js 24 setting
use32BitWorkerProcess=false, another valid generic site-config property, and a stack without metadata. - Run the targeted App Service tests and required checks, and report any remaining blockers.
- In the generated PR, tag aamos-company, Gillian Laming (@glaming1), Jordan Selig (@seligj95), and Byron Tardif (@btardif) for visibility and review.
The previous automated routing to
azure-cli-extensionswas incorrect;az webapp createis implemented in this repository.- Apply the selected stack's
Describe the bug
az webapp create --runtimeresolves the selected runtime but does not apply the stack-specific site configuration supplied by the App Service stacks API insiteConfigPropertiesDictionary.The current observable failure is Windows Node 24. Its stack metadata includes:
{ "siteConfigPropertiesDictionary": { "use32BitWorkerProcess": false } }Node 24 is 64-bit only, but an app created with
--runtime "NODE:24LTS"hasuse32BitWorkerProcess: true. A Node 24 probe then fails with HTTP 500. Changing only this property tofalseallows the same probe to run successfully as Node 24 x64.This should not be fixed with a Node 24-specific or Windows-only condition. The stacks API is the source of truth for runtime-specific site configuration on both Windows and Linux. Upcoming runtimes, including .NET 11 on Windows, will also require
use32BitWorkerProcess: false, while Linux stacks may use the dictionary for other platform-appropriate settings. Every consumer of the stacks API should honor these properties generically so that adding or changing a stack does not require another Azure CLI release or runtime-specific branch.Related command
Related inspection and workaround commands:
Errors
The create command succeeds, but the resulting app is configured incorrectly:
{ "nodeVersion": "", "use32BitWorkerProcess": true, "windowsFxVersion": null }After deploying a no-dependency Node probe:
The identical probe on an otherwise identical app where only
use32BitWorkerProcessis set tofalsereturns:{ "nodeVersion": "v24.18.0", "architecture": "x64", "platform": "win32" }Issue script & Debug output
The following reproduces the configuration defect on a currently selected subscription. App names must be globally unique.
Runtime discovery correctly returns Node 24:
[ { "config": "NODE|24LTS", "os": "Windows", "runtime": "Node", "version": "24.0 LTS" } ]Relevant sanitized
--debugoutput:Neither request applies
use32BitWorkerProcess: false. The resulting value istrue:{ "nodeVersion": "", "use32BitWorkerProcess": true, "windowsFxVersion": null }The workaround is:
Expected behavior
When
--runtimeselects a Windows or Linux stack whose stacks API entry containssiteConfigPropertiesDictionary,az webapp createshould merge those properties into thesiteConfigsent to ARM.For Windows Node 24, the initial create payload should therefore include:
{ "properties": { "siteConfig": { "use32BitWorkerProcess": false } } }The implementation should be generalized:
siteConfigPropertiesDictionaryentries to the create payload using the SiteConfig schema.NODE|24LTS, or .NET 11.az webapp createsupports an override for the same property.Regression coverage should verify that:
use32BitWorkerProcess == falseand can run an x64 probe.Environment Summary
The issue was reproduced on a Windows P0v3 App Service plan in East US 2. The plan reported
kind: appandreserved: false.Additional context
The CLI correctly maps
NODE|24LTStoWEBSITE_NODE_DEFAULT_VERSION=~24and writesCURRENT_STACK=node; the missing behavior is propagation of the selected stack's site configuration metadata.The observed side-by-side test used the same plan and identical deployment package:
use32BitWorkerProcessaz webapp create --runtime "NODE:24LTS"with no post-create changetrueaz webapp config set --use-32bit-worker-process falsefalsev24.18.0,x64,win32The generalized, OS-independent stacks metadata behavior is the requested fix. A Node 24-only or Windows-only workaround in
az webapp createwould leave the same defect for .NET 11, Linux stacks, and other future runtime requirements.