App settings reference for Azure Functions

App settings in a function app contain global configuration options that affect all functions for that function app. When you run locally, these settings are accessed as local environment variables. This article lists the app settings that are available in function apps.

There are several ways that you can add, update, and delete function app settings:

There are other global configuration options in the host.json file and in the local.settings.json file.


The Application Insights instrumentation key if you're using Application Insights. See Monitor Azure Functions.

Key Sample value
APPINSIGHTS_INSTRUMENTATIONKEY 5dbdd5e9-af77-484b-9032-64f83bb83bb


In version 2.x of the Functions runtime, configures app behavior based on the runtime environment. This value is read during initialization. You can set AZURE_FUNCTIONS_ENVIRONMENT to any value, but three values are supported: Development, Staging, and Production. When AZURE_FUNCTIONS_ENVIRONMENT isn't set, it defaults to Development on a local environment and Production on Azure. This setting should be used instead of ASPNETCORE_ENVIRONMENT to set the runtime environment.


Optional storage account connection string for storing logs and displaying them in the Monitor tab in the portal. The storage account must be a general-purpose one that supports blobs, queues, and tables. See Storage account and Storage account requirements.

Key Sample value
AzureWebJobsDashboard DefaultEndpointsProtocol=https;AccountName=[name];AccountKey=[key]


For performance and experience, it is recommended to use APPINSIGHTS_INSTRUMENTATIONKEY and App Insights for monitoring instead of AzureWebJobsDashboard


true means disable the default landing page that is shown for the root URL of a function app. Default is false.

Key Sample value
AzureWebJobsDisableHomepage true

When this app setting is omitted or set to false, a page similar to the following example is displayed in response to the URL <functionappname>

Function app landing page


true means use Release mode when compiling .NET code; false means use Debug mode. Default is true.

Key Sample value
AzureWebJobsDotNetReleaseCompilation true


A comma-delimited list of beta features to enable. Beta features enabled by these flags are not production ready, but can be enabled for experimental use before they go live.

Key Sample value
AzureWebJobsFeatureFlags feature1,feature2


Specifies the repository or provider to use for key storage. Currently, the supported repositories are blob storage ("Blob") and the local file system ("Files"). The default is blob in version 2 and file system in version 1.

Key Sample value
AzureWebJobsSecretStorageType Files


The Azure Functions runtime uses this storage account connection string for all functions except for HTTP triggered functions. The storage account must be a general-purpose one that supports blobs, queues, and tables. See Storage account and Storage account requirements.

Key Sample value
AzureWebJobsStorage DefaultEndpointsProtocol=https;AccountName=[name];AccountKey=[key]


Path to the compiler used for TypeScript. Allows you to override the default if you need to.

Key Sample value
AzureWebJobs_TypeScriptPath %HOME%\typescript


Dictates whether editing in the Azure portal is enabled. Valid values are "readwrite" and "readonly".

Key Sample value


The version of the Functions runtime to use in this function app. A tilde with major version means use the latest version of that major version (for example, "~2"). When new versions for the same major version are available, they are automatically installed in the function app. To pin the app to a specific version, use the full version number (for example, "2.0.12345"). Default is "~2". A value of ~1 pins your app to version 1.x of the runtime.

Key Sample value


Specifies the maximum number of language worker processes, with a default value of 1. The maximum value allowed is 10. Function invocations are evenly distributed among language worker processes. Language worker processes are spawned every 10 seconds until the count set by FUNCTIONS_WORKER_PROCESS_COUNT is reached. Using multiple language worker processes is not the same as scaling. Consider using this setting when your workload has a mix of CPU-bound and I/O-bound invocations. This setting applies to all non-.NET languages.

Key Sample value


The language worker runtime to load in the function app. This will correspond to the language being used in your application (for example, "dotnet"). For functions in multiple languages you will need to publish them to multiple apps, each with a corresponding worker runtime value. Valid values are dotnet (C#/F#), node (JavaScript/TypeScript), java (Java), powershell (PowerShell), and python (Python).

Key Sample value


For consumption & Premium plans only. Connection string for storage account where the function app code and configuration are stored. See Create a function app.

Key Sample value
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING DefaultEndpointsProtocol=https;AccountName=[name];AccountKey=[key]


For consumption & Premium plans only. The file path to the function app code and configuration. Used with WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Default is a unique string that begins with the function app name. See Create a function app.

Key Sample value
WEBSITE_CONTENTSHARE functionapp091999e2


The maximum number of instances that the function app can scale out to. Default is no limit.


This setting is a preview feature - and only reliable if set to a value <= 5

Key Sample value


Default is "8.11.1".

Key Sample value


Enables your function app to run from a mounted package file.

Key Sample value

Valid values are either a URL that resolves to the location of a deployment package file, or 1. When set to 1, the package must be in the d:\home\data\SitePackages folder. When using zip deployment with this setting, the package is automatically uploaded to this location. In preview, this setting was named WEBSITE_RUN_FROM_ZIP. For more information, see Run your functions from a package file.


By default Functions proxies will utilize a shortcut to send API calls from proxies directly to functions in the same Function App, rather than creating a new HTTP request. This setting allows you to disable that behavior.

Key Value Description
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true Calls with a backend url pointing to a function in the local Function App will no longer be sent directly to the function, and will instead be directed back to the HTTP front end for the Function App
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL false This is the default value. Calls with a backend url pointing to a function in the local Function App will be forwarded directly to that Function


This setting controls whether %2F is decoded as slashes in route parameters when they are inserted into the backend URL.

Key Value Description
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES true Route parameters with encoded slashes will have them decoded. will become
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES false This is the default behavior. All route parameters will be passed along unchanged


Here is an example proxies.json in a function app at the URL

    "$schema": "",
    "proxies": {
        "root": {
            "matchCondition": {
                "route": "/{*all}"
            "backendUri": "{all}"
URL Decoding Input Output

Next steps

Learn how to update app settings

See global settings in the host.json file

See other app settings for App Service apps