Azure / Azure/azure-cli

webapp list-runtimes values cannot be passed directly to webapp create on Windows

Open
#33,822 2 comments 1 reaction 3 assignees Claimed by @a0x1ab View on GitHub
act-observability-squad app-service-general Auto-Assign bug Service Attention Web Apps
Dominant language
Python
Stars
4.6k
Forks
3.5k
Avg merge
3d 2h
Merged PRs (30d)
60

Description

## Describe the bug

`az webapp list-runtimes` returns pipe-delimited .NET runtime `config` values, while `az webapp create --runtime` documents and accepts colon-delimited `Framework:Version` values. Following the `webapp create` instruction to use `list-runtimes` produces values that cannot be passed directly to the create command. On the standard Windows MSI installation, the pipe is additionally reinterpreted by the `az.cmd` launcher.

## Related command

```powershell
az webapp list-runtimes `
--os-type windows `
--runtime dotnet `
--query "[?contains(version, '10.0')].{os:os,config:config,version:version}"

az webapp list-runtimes `
--os-type linux `
--runtime dotnet `
--query "[?contains(version, '10.0')].{os:os,config:config,version:version}"

az webapp create ... --runtime 'dotnet|10'
```

## Errors

The Windows create command fails with:

```text
'10' is not recognized as an internal or external command,
operable program or batch file.
```

## Issue script & Debug output

Runtime catalog output:

```json
[
{
"config": "dotnet|10",
"os": "Windows",
"version": "10.0 (LTS)"
}
]
```

```json
[
{
"config": "DOTNETCORE|10.0",
"os": "Linux",
"version": "10.0 (LTS)"
}
]
```

`az webapp create --help` says:

```text
--runtime: Canonicalized web runtime in the format of Framework:Version,
e.g. "PYTHON:3.14". Use `az webapp list-runtimes` for available list.
```

The Windows MSI launcher is `C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin\az.cmd` and forwards arguments through `%*`; `cmd.exe` treats `|` as a pipeline operator.

## Expected behavior

`az webapp list-runtimes` should expose a value that can be passed directly to `az webapp create --runtime`, or return separate clearly named fields for:

- create-command syntax (`Framework:Version`), and
- site-configuration syntax (`Framework|Version`).

The instruction to use `list-runtimes` should not lead to a failing command on the standard Windows MSI installation.

## Environment Summary

```text
azure-cli 2.88.0
core 2.88.0
telemetry 1.1.0

Extensions:
azure-devops 1.0.6
kusto 0.5.0
resource-graph 2.1.1

Dependencies:
msal 1.36.0
azure-mgmt-resource 24.0.0

Python location 'C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe'
Python (Windows) 3.14.5 [MSC v.1944 64 bit (AMD64)]
PowerShell 7.6.4
Windows 10.0.26200
```

## Additional context

These colon-delimited values work:

```powershell
az webapp create ... --runtime 'dotnet:10' # Windows
az webapp create ... --runtime 'DOTNETCORE:10.0' # Linux
```

No existing issue containing either exact .NET 10 catalog token was found in Azure/azure-cli.

Suggested assignee: @seligj95

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.