Skip to content

az functionapp plan create: --is-linux false ignored for EP1, plan always created as Linux #33180

@marrellsanders

Description

@marrellsanders

Describe the bug

When running az functionapp plan create with --sku EP1 and --is-linux false, the resulting App Service Plan is created as Linux instead of Windows. The --is-linux false flag is silently ignored. This behavior began occurring in recent CLI/platform versions and can be consistently reproduced regardless of resource group or region.

Related command

az functionapp plan create

az functionapp plan create --name myPlan
--resource-group myResourceGroup --location eastus
--sku EP1 `
--is-linux false

Errors

Image No error, just every time creates as Linux. throws no errors in the script run.

Issue script & Debug output

az functionapp plan create --resource-group $resourceGroup --name $planName --location $location --sku EP1 --is-linux false --debug

cli.knack.cli: Command arguments: ['functionapp', 'plan', 'create', '--resource-group', 'myrgname', '--name', 'myfuncplan000', '--location', 'westus3', '--sku', 'EP1', '--is-linux', 'false', '--debug']
cli.knack.cli: init debug log:
Enable color in terminal.
Enable VT mode.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x0000026908259A80>, <function OutputProducer.on_global_arguments at 0x0000026908801B20>, <function CLIQuery.on_global_arguments at 0x000002690883F920>]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Using packaged command index for profile 'latest'.
cli.azure.cli.core: Modules found from index for 'functionapp': ['azure.cli.command_modules.appservice', 'azure.cli.command_modules.serviceconnector']
cli.azure.cli.core: Loading command modules...
cli.azure.cli.core: Loaded command modules in parallel:
cli.azure.cli.core: Name Load Time Groups Commands
cli.azure.cli.core: serviceconnector 0.214 20 331
cli.azure.cli.core: appservice 0.327 88 299
cli.azure.cli.core: Total (2) 0.336 108 630
cli.azure.cli.core: Loaded 106 groups, 630 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command : functionapp plan create
cli.azure.cli.core: Command table: functionapp plan create
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x00000269089802C0>]
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to 'mypath.azure\commands\2026-04-14.03-59-24.functionapp_plan_create.15952.log'.
az_command_data_logger: command args: functionapp plan create --resource-group {} --name {} --location {} --sku {} --is-linux {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument..add_subscription_parameter at 0x00000269089C9E40>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument..add_ids_arguments at 0x00000269089CA480>, <function register_global_policy_argument..add_global_policy_argument at 0x00000269089CA5C0>, <function register_cache_arguments..add_cache_arguments at 0x00000269089CA660>, <function register_upcoming_breaking_change_info..update_breaking_change_info at 0x00000269089CA700>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [<function OutputProducer.handle_output_argument at 0x0000026908801BC0>, <function CLIQuery.handle_query_parameter at 0x000002690883F9C0>, <function register_ids_argument..parse_ids_arguments at 0x00000269089CA520>]
cli.azure.cli.core.commands.client_factory: Getting management service client client_type=WebSiteManagementClient
cli.azure.cli.core.auth.persistence: build_persistence: location='mypath\.azure\msal_token_cache.bin', encrypt=True
cli.azure.cli.core.auth.binary_cache: load: mypath.azure\msal_http_cache.bin
urllib3.util.retry: Converted retries value: 1 -> Retry(total=1, connect=None, read=None, redirect=None, status=None)
msal.application: Broker enabled? True
azure.mgmt.web.v2024_11_01._utils.serialization: Readonly attribute name will be ignored in class <class 'azure.mgmt.web.v2024_11_01.models._models_py3.AppServicePlan'>
cli.azure.cli.core.auth.credential_adaptor: CredentialAdaptor.get_token_info: scopes=('https://management.core.windows.net//.default',), options={}
cli.azure.cli.core.auth.msal_credentials: UserCredential.acquire_token: scopes=['https://management.core.windows.net//.default'], claims_challenge=None, kwargs={}
msal.application: Cache hit an AT
msal.telemetry: Generate or reuse correlation_id: 2a07c32b-4a62-4afe-9e91-717fe3ee05d9
cli.azure.cli.core.sdk.policies: Request URL: 'https://management.azure.com/subscriptions/1111111111111111111111/resourceGroups/myrgname/providers/Microsoft.Web/serverfarms/myfuncplan000?api-version=2024-11-01'
cli.azure.cli.core.sdk.policies: Request method: 'PUT'
cli.azure.cli.core.sdk.policies: Request headers:
cli.azure.cli.core.sdk.policies: 'Content-Type': 'application/json'
cli.azure.cli.core.sdk.policies: 'Content-Length': '174'
cli.azure.cli.core.sdk.policies: 'Accept': 'application/json'
cli.azure.cli.core.sdk.policies: 'x-ms-client-request-id': '555555-555555-555555'
cli.azure.cli.core.sdk.policies: 'CommandName': 'functionapp plan create'
cli.azure.cli.core.sdk.policies: 'ParameterSetName': '--resource-group --name --location --sku --is-linux --debug'
cli.azure.cli.core.sdk.policies: 'User-Agent': 'AZURECLI/2.85.0 (MSI) azsdk-python-core/1.39.0 Python/3.13.11 (Windows-2025Server-10.0.26200-SP0)'
cli.azure.cli.core.sdk.policies: 'Authorization': '*****'
cli.azure.cli.core.sdk.policies: Request body:
cli.azure.cli.core.sdk.policies: {"location": "westus3", "sku": {"name": "EP1", "tier": "ElasticPremium"}, "properties": {"perSiteScaling": false, "reserved": true, "isXenon": false, "zoneRedundant": false}}
urllib3.connectionpool: Starting new HTTPS connection (1): management.azure.com:443
urllib3.connectionpool: https://management.azure.com/subscriptions/1111111111111111111111/resourceGroups/myrgname/providers/Microsoft.Web/serverfarms/myfuncplan000?api-version=2024-11-01 HTTP/1.1" 200 1828
cli.azure.cli.core.sdk.policies: Response status: 200
cli.azure.cli.core.sdk.policies: Response headers:
cli.azure.cli.core.sdk.policies: 'Cache-Control': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Pragma': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Content-Length': '1828'
cli.azure.cli.core.sdk.policies: 'Content-Type': 'application/json'
cli.azure.cli.core.sdk.policies: 'Expires': '-1'
cli.azure.cli.core.sdk.policies: 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
cli.azure.cli.core.sdk.policies: 'x-ms-request-id': '0ee19aa3-df7c-4838-b2b4-cf78e18cc3d5'
cli.azure.cli.core.sdk.policies: 'X-AspNet-Version': '4.0.30319'
cli.azure.cli.core.sdk.policies: 'X-Powered-By': 'ASP.NET'
cli.azure.cli.core.sdk.policies: 'x-ms-operation-identifier': 'tenantId=0000000000000,objectId=0000000000/westus3/2222222222222222'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-writes': '199'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-global-writes': '2999'
cli.azure.cli.core.sdk.policies: 'x-ms-correlation-request-id': '850170c6-7f07-4e4b-8108-518b22b66c5b'
cli.azure.cli.core.sdk.policies: 'x-ms-routing-request-id': 'WESTUS3:20260414T035927Z:850170c6-7f07-4e4b-8108-518b22b66c5b'
cli.azure.cli.core.sdk.policies: 'X-Content-Type-Options': 'nosniff'
cli.azure.cli.core.sdk.policies: 'X-Cache': 'CONFIG_NOCACHE'
cli.azure.cli.core.sdk.policies: 'X-MSEdge-Ref': 'Ref A: 855CAAA0F7F843B38AC3EEC579EE30FF Ref B: BY1AA1072319040 Ref C: 2026-04-14T03:59:26Z'
cli.azure.cli.core.sdk.policies: 'Date': 'Tue, 14 Apr 2026 03:59:27 GMT'
cli.azure.cli.core.sdk.policies: Response content:
cli.azure.cli.core.sdk.policies: Body is streamable
cli.knack.cli: Event: CommandInvoker.OnTransformResult [<function _resource_group_transform at 0x00000269089CA200>, <function x509_from_base64_to_hex_transform at 0x00000269089CA2A0>]
cli.knack.cli: Event: CommandInvoker.OnFilterResult []
{
"asyncScalingEnabled": false,
"elasticScaleEnabled": true,
"extendedLocation": null,
"freeOfferExpirationTime": null,
"geoRegion": "West US 3",
"hostingEnvironmentProfile": null,
"hyperV": false,
"id": "/subscriptions/1111111111111111111111/resourceGroups/myrgname/providers/Microsoft.Web/serverfarms/myfuncplan000",
"isSpot": false,
"isXenon": false,
"kind": "elastic",
"kubeEnvironmentProfile": null,
"location": "westus3",
"maximumElasticWorkerCount": 1,
"maximumNumberOfWorkers": 20,
"name": "myfuncplan000",
"numberOfSites": 0,
"numberOfWorkers": 1,
"perSiteScaling": false,
"provisioningState": "Succeeded",
"reserved": true,
"resourceGroup": "myrgname",
"sku": {
"capabilities": null,
"capacity": 1,
"family": "EP",
"locations": null,
"name": "EP1",
"size": "EP1",
"skuCapacity": null,
"tier": "ElasticPremium"
},
"spotExpirationTime": null,
"status": "Ready",
"subscription": "1111111111111111111111",
"tags": null,
"targetWorkerCount": 0,
"targetWorkerSizeId": 0,
"type": "Microsoft.Web/serverfarms",
"workerTierName": null,
"zoneRedundant": false
}
cli.knack.cli: Event: Cli.SuccessfulExecute []
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x0000026908980540>]
az_command_data_logger: exit code: 0
cli.main: Command ran in 3.945 seconds (init: 0.149, invoke: 3.796)
telemetry.main: Begin splitting cli events and extra events, total events: 1
telemetry.main: Finish splitting cli events and extra events, cli events: 1
telemetry.save: Save telemetry record of length 3949 in cache file under mypath.azure\telemetry\20260414035928014
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\cli\telemetry_init
.pyc mypath.azure mypath.azure\telemetry\20260414035928014"
telemetry.process: Return from creating process 13908
telemetry.main: Finish creating telemetry upload process.

Expected behavior

A function app plan created running WIndows OS not Linux

Environment Summary

azure-cli: 2.85.0
azure-cli-core: 2.85.0
azure-cli-telemetry: 1.1.0
extensions {}

Additional context

No response

Metadata

Metadata

Labels

Auto-AssignAuto assign by botBreaking ChangeFunctionsaz functionappService AttentionThis issue is responsible by Azure service team.act-observability-squadbugThis issue requires a change to an existing behavior in the product in order to be resolved.customer-reportedIssues that are reported by GitHub users external to the Azure organization.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions