AZFD0013: The configured runtime does not match the worker runtime metadata found in the deployed function app artifacts

This event occurs when a function app has a FUNCTIONS_WORKER_RUNTIME setting specifying a language stack, but a payload for a different stack is deployed to it.

Value
Event ID AZFD0013
Severity Warning or Error

Event description

The FUNCTIONS_WORKER_RUNTIME application setting indicates the language or language stack on which the function app runs, such as python. For more information on valid values, see the FUNCTIONS_WORKER_RUNTIME reference. The deployed application must correspond with the provided value. If there is a mismatch, it means that either the value of FUNCTIONS_WORKER_RUNTIME is incorrect, or that an unexpected payload was deployed to the application.

This event may appear for apps that were previously using inconsistent and undefined behavior to continue running while in a mismatch state. Follow the instructions in this article to resolve the event for these applications. Doing so allows these apps to take advantage of performance enhancements and ensure that they can continue to operate as expected.

.NET apps undergoing a migration from the in-process model to the isolated worker may encounter this event temporarily during that process. When FUNCTIONS_WORKER_RUNTIME is updated to dotnet-isolated, but the application is still using an in-process model payload, this event may appear until the migration is completed. See the migration guidance for instructions on using deployment slots to prevent this event from appearing in your production environment.

How to resolve the event

The event message indicates the current value of FUNCTIONS_WORKER_RUNTIME and the detected runtime metadata from the app payload. These values must be aligned, either by deploying an application payload of the appropriate type or by updating the setting to an expected value

For most applications, the correct resolution is to update the value of FUNCTIONS_WORKER_RUNTIME. To do so, on your function app in Azure, set the FUNCTIONS_WORKER_RUNTIME application setting to the expected value for your application payload. The expected value is not necessarily the same as the detected runtime metadata, though in many cases it will be. Use the following table to determine the correct value to use:

Detected payload Expected FUNCTIONS_WORKER_RUNTIME value
CSharp dotnet
custom custom
dotnet dotnet
dotnet-isolated dotnet-isolated
java java
node node
powershell powershell
python python
Any multi-stack payload1 dotnet

1 A multi-stack payload is a comma-separated list of stack values. Multi-stack payloads are only supported for Logic Apps Standard.

When running locally in the Azure Functions Core Tools, you should also add FUNCTIONS_WORKER_RUNTIME to the local.settings.json file.

For apps following a migration guide, see that guide for relevant instructions. Migrating .NET applications to the isolated worker model involves first setting FUNCTIONS_WORKER_RUNTIME to dotnet-isolated before deploying the updated application payload, and this event may appear temporarily between those steps.

When to suppress the event

This event shouldn't be suppressed.