Azure / Azure/azure-cli

az functionapp function keys list broken in 2.87.0

Open
#33,516 9 comments 2 reactions 5 assignees Claimed by @azclibot View on GitHub
act-observability-squad Auto-Assign Breaking Change bug customer-reported Functions Service Attention
Dominant language
Python
Stars
4.6k
Forks
3.5k
Avg merge
3d 2h
Merged PRs (30d)
60

Description

### Describe the bug

The command az functionapp function keys list does not parse the returned data correctly. The keys are retrieved as intended but the output is null. This was working in version 2.86.0.

**Debug log:**
cli.knack.cli: Command arguments: ['functionapp', 'function', 'keys', 'list', '--resource-group', 'rg-csi022-BankInformation-test', '--name', 'fa-csi022-hrplus-bankexport-test', '--function-name', 'TransformBank10', '--debug']
cli.knack.cli: __init__ debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [, , ]
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.095 20 331
cli.azure.cli.core: appservice 0.137 91 303
cli.azure.cli.core: Total (2) 0.142 111 634
cli.azure.cli.core: Loaded 109 groups, 634 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command : functionapp function keys list
cli.azure.cli.core: Command table: functionapp function keys list
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate []
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to 'C:\Users\acp79\.azure\commands\2026-06-09.10-08-29.functionapp_function_keys_list.47568.log'.
az_command_data_logger: command args: functionapp function keys list --resource-group {} --name {} --function-name {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [.add_subscription_parameter at 0x000001F5B1F0C540>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [.add_ids_arguments at 0x000001F5B1F0CB80>, .add_global_policy_argument at 0x000001F5B1F0CCC0>, .add_cache_arguments at 0x000001F5B1F0CD60>, .update_breaking_change_info at 0x000001F5B1F0CE00>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [, , .parse_ids_arguments at 0x000001F5B1F0CC20>]
cli.azure.cli.core.commands.client_factory: Getting management service client client_type=WebSiteManagementClient
cli.azure.cli.core.auth.persistence: build_persistence: location='C:\\Users\\acp79\\.azure\\msal_token_cache.bin', encrypt=True
cli.azure.cli.core.auth.binary_cache: load: C:\Users\acp79\.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
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: 348b5e84-1798-4af5-9ce7-449186d780a7
cli.azure.cli.core.sdk.policies: Request URL: 'https://management.azure.com/subscriptions/a012dae1-f549-4616-ba99-5453b40bd3e9/resourceGroups/rg-csi022-BankInformation-test/providers/Microsoft.Web/sites/fa-csi022-hrplus-bankexport-test/functions/TransformBank10/listkeys?api-version=2025-05-01'
cli.azure.cli.core.sdk.policies: Request method: 'POST'
cli.azure.cli.core.sdk.policies: Request headers:
cli.azure.cli.core.sdk.policies: 'Accept': 'application/json'
cli.azure.cli.core.sdk.policies: 'x-ms-client-request-id': '666a2b9c-63da-11f1-a60a-c0a810f4a203'
cli.azure.cli.core.sdk.policies: 'CommandName': 'functionapp function keys list'
cli.azure.cli.core.sdk.policies: 'ParameterSetName': '--resource-group --name --function-name --debug'
cli.azure.cli.core.sdk.policies: 'User-Agent': 'AZURECLI/2.87.0 (MSI) azsdk-python-core/1.39.0 Python/3.13.13 (Windows-11-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: This request has no body
urllib3.connectionpool: Starting new HTTPS connection (1): management.azure.com:443
urllib3.connectionpool: https://management.azure.com:443 "POST /subscriptions/a012dae1-f549-4616-ba99-5453b40bd3e9/resourceGroups/rg-csi022-BankInformation-test/providers/Microsoft.Web/sites/fa-csi022-hrplus-bankexport-test/functions/TransformBank10/listkeys?api-version=2025-05-01 HTTP/1.1" 200 70
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': '70'
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': '493a3737-cb2e-438d-84f2-a92b4bf1aa9e'
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=193743c3-6876-4c23-8fad-238f9423fe00,objectId=a592fdb0-fea4-4ea4-b66d-4860c062dca1/norwayeast/0f13dd39-a483-42bd-9239-3b380c3d7767'
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': '55d73f24-1b32-43ee-9059-ae12f4936800'
cli.azure.cli.core.sdk.policies: 'x-ms-routing-request-id': 'NORWAYEAST:20260609T080830Z:55d73f24-1b32-43ee-9059-ae12f4936800'
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: 4A15531A6FBF4D41AEC0668BD9C4BF5C Ref B: GVX011092611060 Ref C: 2026-06-09T08:08:30Z'
cli.azure.cli.core.sdk.policies: 'Date': 'Tue, 09 Jun 2026 08:08:30 GMT'
cli.azure.cli.core.sdk.policies: Response content:
cli.azure.cli.core.sdk.policies: **{"default":"V1ItTmKlNRr2MTqSQ-dZR4P-o3wEptKRlsxHSEn5MQYKAxFurAe17w=="}**
cli.knack.cli: Event: CommandInvoker.OnTransformResult [, ]
cli.knack.cli: Event: CommandInvoker.OnFilterResult []
**{
"id": null,
"kind": null,
"name": null,
"properties": null,
"type": null
}**
cli.knack.cli: Event: Cli.SuccessfulExecute []
cli.knack.cli: Event: Cli.PostExecute []
az_command_data_logger: exit code: 0
cli.__main__: Command ran in 1.448 seconds (init: 0.081, invoke: 1.367)
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 3958 in cache file under C:\Users\acp79\.azure\telemetry\20260609100831148
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 C:\Users\acp79\.azure C:\Users\acp79\.azure\telemetry\20260609100831148"
telemetry.process: Return from creating process 8412
telemetry.main: Finish creating telemetry upload process.

### Related command

az functionapp function keys list

### Errors

{
"id": null,
"kind": null,
"name": null,
"properties": null,
"type": null
}

### Issue script & Debug output

cli.knack.cli: Command arguments: ['functionapp', 'function', 'keys', 'list', '--resource-group', 'rg-csi022-BankInformation-test', '--name', 'fa-csi022-hrplus-bankexport-test', '--function-name', 'TransformBank10', '--debug']
cli.knack.cli: __init__ debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [, , ]
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.095 20 331
cli.azure.cli.core: appservice 0.137 91 303
cli.azure.cli.core: Total (2) 0.142 111 634
cli.azure.cli.core: Loaded 109 groups, 634 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command : functionapp function keys list
cli.azure.cli.core: Command table: functionapp function keys list
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate []
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to 'C:\Users\acp79\.azure\commands\2026-06-09.10-08-29.functionapp_function_keys_list.47568.log'.
az_command_data_logger: command args: functionapp function keys list --resource-group {} --name {} --function-name {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [.add_subscription_parameter at 0x000001F5B1F0C540>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [.add_ids_arguments at 0x000001F5B1F0CB80>, .add_global_policy_argument at 0x000001F5B1F0CCC0>, .add_cache_arguments at 0x000001F5B1F0CD60>, .update_breaking_change_info at 0x000001F5B1F0CE00>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [, , .parse_ids_arguments at 0x000001F5B1F0CC20>]
cli.azure.cli.core.commands.client_factory: Getting management service client client_type=WebSiteManagementClient
cli.azure.cli.core.auth.persistence: build_persistence: location='C:\\Users\\acp79\\.azure\\msal_token_cache.bin', encrypt=True
cli.azure.cli.core.auth.binary_cache: load: C:\Users\acp79\.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
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: 348b5e84-1798-4af5-9ce7-449186d780a7
cli.azure.cli.core.sdk.policies: Request URL: 'https://management.azure.com/subscriptions/a012dae1-f549-4616-ba99-5453b40bd3e9/resourceGroups/rg-csi022-BankInformation-test/providers/Microsoft.Web/sites/fa-csi022-hrplus-bankexport-test/functions/TransformBank10/listkeys?api-version=2025-05-01'
cli.azure.cli.core.sdk.policies: Request method: 'POST'
cli.azure.cli.core.sdk.policies: Request headers:
cli.azure.cli.core.sdk.policies: 'Accept': 'application/json'
cli.azure.cli.core.sdk.policies: 'x-ms-client-request-id': '666a2b9c-63da-11f1-a60a-c0a810f4a203'
cli.azure.cli.core.sdk.policies: 'CommandName': 'functionapp function keys list'
cli.azure.cli.core.sdk.policies: 'ParameterSetName': '--resource-group --name --function-name --debug'
cli.azure.cli.core.sdk.policies: 'User-Agent': 'AZURECLI/2.87.0 (MSI) azsdk-python-core/1.39.0 Python/3.13.13 (Windows-11-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: This request has no body
urllib3.connectionpool: Starting new HTTPS connection (1): management.azure.com:443
urllib3.connectionpool: https://management.azure.com:443 "POST /subscriptions/a012dae1-f549-4616-ba99-5453b40bd3e9/resourceGroups/rg-csi022-BankInformation-test/providers/Microsoft.Web/sites/fa-csi022-hrplus-bankexport-test/functions/TransformBank10/listkeys?api-version=2025-05-01 HTTP/1.1" 200 70
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': '70'
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': '493a3737-cb2e-438d-84f2-a92b4bf1aa9e'
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=193743c3-6876-4c23-8fad-238f9423fe00,objectId=a592fdb0-fea4-4ea4-b66d-4860c062dca1/norwayeast/0f13dd39-a483-42bd-9239-3b380c3d7767'
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': '55d73f24-1b32-43ee-9059-ae12f4936800'
cli.azure.cli.core.sdk.policies: 'x-ms-routing-request-id': 'NORWAYEAST:20260609T080830Z:55d73f24-1b32-43ee-9059-ae12f4936800'
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: 4A15531A6FBF4D41AEC0668BD9C4BF5C Ref B: GVX011092611060 Ref C: 2026-06-09T08:08:30Z'
cli.azure.cli.core.sdk.policies: 'Date': 'Tue, 09 Jun 2026 08:08:30 GMT'
cli.azure.cli.core.sdk.policies: Response content:
cli.azure.cli.core.sdk.policies: **{"default":"V1ItTmKlNRr2MTqSQ-dZR4P-o3wEptKRlsxHSEn5MQYKAxFurAe17w=="}**
cli.knack.cli: Event: CommandInvoker.OnTransformResult [, ]
cli.knack.cli: Event: CommandInvoker.OnFilterResult []
**{
"id": null,
"kind": null,
"name": null,
"properties": null,
"type": null
}**
cli.knack.cli: Event: Cli.SuccessfulExecute []
cli.knack.cli: Event: Cli.PostExecute []
az_command_data_logger: exit code: 0
cli.__main__: Command ran in 1.448 seconds (init: 0.081, invoke: 1.367)
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 3958 in cache file under C:\Users\acp79\.azure\telemetry\20260609100831148
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 C:\Users\acp79\.azure C:\Users\acp79\.azure\telemetry\20260609100831148"
telemetry.process: Return from creating process 8412
telemetry.main: Finish creating telemetry upload process.

### Expected behavior

The output:
{
"id": null,
"kind": null,
"name": null,
"properties": null,
"type": null
}
should contain the correct values and not null.

### Environment Summary

PS C:\cs\repos> az --version
azure-cli 2.87.0

core 2.87.0
telemetry 1.1.0

Dependencies:
msal 1.36.0
azure-mgmt-resource 24.0.0

Python location 'C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe'
Config directory 'C:\Users\acp79\.azure'
Extensions directory 'C:\Users\acp79\.azure\cliextensions'

Python (Windows) 3.13.13 (tags/v3.13.13:01104ce, Apr 7 2026, 19:25:48) [MSC v.1944 64 bit (AMD64)]

Legal docs and information: aka.ms/AzureCliLegal

### Additional context

_No response_

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.