Introduction When Azure Functions fails to start, all function invocations are unavailable. The host startup error can stem from incompatible extension bundles, missing app settings, invalid function.json bindings, or runtime version mismatches.

Symptoms - Function App status in Azure Portal shows error indicator - Kudu console shows host startup errors in LogFiles/application/functions/host - All functions show as disabled or with error status - HTTP trigger returns 503 Service Unavailable

Common Causes - Extension bundle version incompatible with Functions runtime version - Missing AzureWebJobsStorage connection string (required for all plans) - Invalid function.json binding configuration - Python requirements.txt missing azure-functions package - .NET function app build mismatch (target framework vs runtime)

Step-by-Step Fix 1. **Check host startup logs in Kudu**: Navigate to https://<app-name>.scm.azurewebsites.net/api/logs/application/functions/host/

  1. 1.Verify AzureWebJobsStorage is set:
  2. 2.```bash
  3. 3.az functionapp config appsettings list --name <app-name> --resource-group <rg> \
  4. 4.--query "[?name=='AzureWebJobsStorage']"
  5. 5.`
  6. 6.This setting is mandatory even for Premium and Dedicated plans.
  7. 7.Check extension bundle version in host.json:
  8. 8.```json
  9. 9.{
  10. 10."version": "2.0",
  11. 11."extensionBundle": {
  12. 12."id": "Microsoft.Azure.Functions.ExtensionBundle",
  13. 13."version": "[4.*, 5.0.0)"
  14. 14.}
  15. 15.}
  16. 16.`
  17. 17.Version 4.x is required for Functions runtime v4.
  18. 18.Check runtime version:
  19. 19.```bash
  20. 20.az functionapp show --name <app-name> --resource-group <rg> --query linuxFxVersion
  21. 21.`
  22. 22.For .NET apps, verify target framework:
  23. 23.```bash
  24. 24.cat <project>.csproj | grep TargetFramework
  25. 25.# Must be net8.0 for Functions v4 on .NET 8
  26. 26.`

Prevention - Pin extension bundle versions in host.json - Use CI/CD pipeline with func CLI validation before deploy - Enable Application Insights for startup failure alerts - Test function app locally with `func start` before deployment - Use Azure Functions Core Tools for local development parity