Skip to content

[functionapp] Azure CLI allows you to upgrade the .NET version to 10 on a Linux Consumption Function App using the CLI when this is only supported in Flex. #9968

Description

Source: Azure/azure-cli#32523 (by Finbar Ryan (@FinVamp1))
Affected extension: functionapp (src/functionapp/)


<<UNTRUSTED:issue-32523>>

Issue #32523 (by Finbar Ryan (@FinVamp1))

Title

Azure CLI allows you to upgrade the .NET version to 10 on a Linux Consumption Function App using the CLI when this is only supported in Flex.

Body

Describe the bug

Create a function app in Linux consumption – dot net 8

Image Image

Run the cli command below

system [ ~ ]$ az functionapp config set --name FALinuxY1 --resource-group testSK --linux-fx-version "DOTNET-ISOLATED|10.0"

{

"acrUseManagedIdentityCreds": false,

"acrUserManagedIdentityId": null,

"alwaysOn": false,

"apiDefinition": null,

"apiManagementConfig": null,

"appCommandLine": "",

"appSettings": null,

"autoHealEnabled": false,

"autoHealRules": null,

"autoSwapSlotName": null,

"azureStorageAccounts": {},

"connectionStrings": null,

"cors": {

"allowedOrigins": [

  https://portal.azure.com/

],

"supportCredentials": false

},

"defaultDocuments": [

"Default.htm",

"Default.html",

"Default.asp",

"index.htm",

"index.html",

"iisstart.htm",

"default.aspx",

"index.php"

],

"detailedErrorLoggingEnabled": false,

"documentRoot": null,

"elasticWebAppScaleLimit": null,

"experiments": {

"rampUpRules": []

},

"ftpsState": "FtpsOnly",

"functionAppScaleLimit": 200,

"functionsRuntimeScaleMonitoringEnabled": false,

"handlerMappings": null,

"healthCheckPath": null,

"http20Enabled": false,

"http20ProxyFlag": 0,

"httpLoggingEnabled": false,

"id": "/subscriptions/f8d67923-d196-4541-bce2-74e00ada71ce/resourceGroups/testSK/providers/Microsoft.Web/sites/FALinuxY1",

"ipSecurityRestrictions": [

{

  "action": "Allow",

  "description": "Allow all access",

  "headers": null,

  "ipAddress": "Any",

  "name": "Allow all",

  "priority": 2147483647,

  "subnetMask": null,

  "subnetTrafficTag": null,

  "tag": null,

  "vnetSubnetResourceId": null,

  "vnetTrafficTag": null

}

],

"ipSecurityRestrictionsDefaultAction": null,

"javaContainer": null,

"javaContainerVersion": null,

"javaVersion": null,

"keyVaultReferenceIdentity": null,

"kind": null,

"limits": null,

"linuxFxVersion": "DOTNET-ISOLATED|10.0",

"loadBalancing": "LeastRequests",

"localMySqlEnabled": false,

"location": "Canada Central",

"logsDirectorySizeLimit": 35,

"machineKey": null,

"managedPipelineMode": "Integrated",

"managedServiceIdentityId": null,

"metadata": null,

"minTlsCipherSuite": null,

"minTlsVersion": "1.2",

"minimumElasticInstanceCount": 1,

"name": "FALinuxY1",

"netFrameworkVersion": "v10.0",

"nodeVersion": "",

"numberOfWorkers": 1,

"phpVersion": "",

"powerShellVersion": "",

"preWarmedInstanceCount": 0,

"publicNetworkAccess": "Enabled",

"publishingUsername": "REDACTED",

"push": null,

"pythonVersion": "",

"remoteDebuggingEnabled": false,

"remoteDebuggingVersion": "VS2022",

"requestTracingEnabled": false,

"requestTracingExpirationTime": null,

"resourceGroup": "testSK",

"scmIpSecurityRestrictions": [

{

  "action": "Allow",

  "description": "Allow all access",

  "headers": null,

  "ipAddress": "Any",

  "name": "Allow all",

  "priority": 2147483647,

  "subnetMask": null,

  "subnetTrafficTag": null,

  "tag": null,

  "vnetSubnetResourceId": null,

  "vnetTrafficTag": null

}

],

"scmIpSecurityRestrictionsDefaultAction": null,

"scmIpSecurityRestrictionsUseMain": false,

"scmMinTlsVersion": "1.2",

"scmType": "None",

"tags": {

"SecurityControl": "Ignore",

"hidden-link: /app-insights-resource-id": "/subscriptions/f8d67923-d196-4541-bce2-74e00ada71ce/resourceGroups/testSK/providers/microsoft.insights/components/FALinuxY1"

},

"tracingOptions": null,

"type": "Microsoft.Web/sites",

"use32BitWorkerProcess": false,

"virtualApplications": [

{

  "physicalPath": "site\\wwwroot",

  "preloadEnabled": false,

  "virtualDirectories": null,

  "virtualPath": "/"

}

],

"vnetName": "",

"vnetPrivatePortsCount": 0,

"vnetRouteAllEnabled": false,

"webSocketsEnabled": false,

"websiteTimeZone": null,

"windowsFxVersion": null,

"xManagedServiceIdentityId": null

}

Dot net version will be upgraded in stack settings to 10 and app goes down

Image

Ask/Suggestion
When we execute the CLI command to upgrade the .NET version to 10, it should return an error indicating that this version is not supported, as stated in the official documentation.

Image

Ref: Guide for running C# Azure Functions in an isolated worker process | Microsoft Learn

Related command

az functionapp config set --name FALinuxY1 --resource-group testSK --linux-fx-version "DOTNET-ISOLATED|10.0"

Errors

No Errors are returned

Issue script & Debug output

N/A

Expected behavior

Linux Consumption shouldn't allow .NET 10

Environment Summary

N/A

Additional context

Nothing

Comments

Comment by Yong Zhang (@yonzhan)

Thank you for opening this issue, we will look into it.

Comment by @microsoft-github-policy-service[bot]

Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc Kirstyn Amperiadis (@kamperiadis), Ahmed El Sayed (@amamounelsayed), Khuram Khan (@khkh-ms).

<<END:issue-32523>>

Activity

  1. azclibot commented on Jun 22, 2026

    @azclibot
    CollaboratorAuthor

    Hi Copilot! Please fix the following bug in the functionapp extension.

    Issue: az functionapp config set --linux-fx-version "DOTNET-ISOLATED|10.0" silently succeeds on Linux Consumption (Y1) plans, but .NET 10 is only supported on Flex Consumption plans. The CLI should validate the requested runtime version against the plan type and return an error if incompatible.

    Failing command:

    az functionapp config set --name <app-name> --resource-group <rg> --linux-fx-version "DOTNET-ISOLATED|10.0"
    

    (on a function app hosted in a Linux Consumption / Y1 plan)

    Expected behavior: CLI returns an error like: ERROR: .NET 10 (DOTNET-ISOLATED|10.0) is not supported on Linux Consumption plans. Use a Flex Consumption plan or choose a supported runtime version.

    Actual behavior: Command succeeds, sets .NET 10, app goes down.

    Fix guidance:

    • In the az functionapp config set command (and related commands like az functionapp create), add a validation check: if the target function app is on a Linux Consumption (SKU Y1) plan and the --linux-fx-version specifies .NET 10 (DOTNET-ISOLATED|10.0), raise a CLIError with a descriptive message pointing users to use Flex Consumption.
    • Relevant reference: https://learn.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-process-guide

    Original report: Azure/azure-cli#32523


    Posted by agent-assist (autonomous bug-fix pipeline).

  2. yonzhan commented on Jun 22, 2026

    @yonzhan
    Collaborator

    Thank you for opening this issue, we will look into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions