Blog Post

Apps on Azure Blog
10 MIN READ

How to Troubleshoot Azure Functions Not Visible in Azure Portal

vikasgupta5's avatar
vikasgupta5
Icon for Microsoft rankMicrosoft
Feb 22, 2026

How to Troubleshoot Azure Functions Not Visible in Azure Portal

Overview

Azure Functions is a powerful serverless compute service that enables you to run event-driven code without managing infrastructure. When you deploy functions to Azure, you expect to see them listed in the Azure Portal under your Function App. However, there are situations where your functions may not appear in the portal, even though they were successfully deployed.

This issue can be frustrating, especially when your functions are actually running and processing requests correctly, but you cannot see them in the portal UI. In this blog, we will explore the common causes of functions not appearing in the Azure Portal and provide step-by-step solutions to help you troubleshoot and resolve this issue.

Understanding How Functions Appear in the Portal

Before diving into troubleshooting, it's important to understand how the Azure Portal discovers and displays your functions.

Function Visibility Process

When you open a Function App in the Azure Portal, the following process occurs:

  1. Host Status Check: The portal queries your Function App's host status endpoint (/admin/host/status)
  2. Function Enumeration: The portal requests a list of functions from the Functions runtime
  3. Metadata Retrieval: For each function, the portal retrieves metadata including trigger type, bindings, and configuration
  4. UI Rendering: The portal displays the functions in the Functions blade

If any step in this process fails, your functions may not appear in the portal.

Key Files for Function Discovery

FilePurposeLocation
host.jsonHost configurationRoot of function app
function.jsonFunction metadata (script languages)Each function folder
*.dll or compiled codeFunction implementationbin folder or function folder
extensions.jsonExtension bindingsbin folder

Visibility Issue Categories

CategoryCommon Causes
DeploymentFailed deployment, missing files, package issues
Function ConfigurationInvalid function.json, binding errors, disabled
Host/RuntimeHost startup failure, runtime errors, worker issues
StorageAzureWebJobsStorage issues, connectivity
Portal/SyncSync triggers failure, cache issues, ARM API
NetworkingVNET, private endpoints, firewall blocking

Common Causes and Solutions

1. Function App Host Is Not Running

Symptoms:

  • No functions visible in the portal
  • "Function host is not running" error message
  • Host status shows "Error" or no response

Why This Happens:

The Functions host must be running for the portal to discover functions. If the host fails to start, functions won't be visible.

How to Verify:

You can check the host status using the following URL: Function API

https://<your-function-app>.azurewebsites.net/admin/host/status?code=<master-key>

Expected healthy response:

{ "state": "Running" }

Solution:

  1. Navigate to your Function App in the Azure Portal
  2. Go to Diagnose and solve problems
  3. Search for "Function App Down or reporting", "Function app startup issue"
  4. Review the diagnostics for startup errors

Common fixes:

  • Check Application Settings for missing or incorrect values
  • Verify AzureWebJobsStorage connection string is valid
  • Ensure FUNCTIONS_EXTENSION_VERSION is set correctly (e.g., ~4)
  • Check for missing extension bundles in host.json

2. Deployment Issues

Symptoms:

  • Functions visible locally but not in portal after deployment
  • Only some functions appear
  • Old versions of functions showing

Why This Happens:

Deployment problems can result in incomplete or corrupted deployments where function files are missing or incorrectly placed.

How to Verify:

The verification method depends on your hosting plan:

For Windows plans (Consumption, Premium, Dedicated) - Use Kudu:

  1. Navigate to Development Tools → Advanced Tools (Kudu)
  2. Go to Debug console → CMD or PowerShell
  3. Navigate to site/wwwroot
  4. Verify your function folders and files exist

Kudu is not available for Linux Consumption and Flex Consumption plans. Use alternatives such as SSH or Azure CLI instead. refer Deployment technologies in Azure Functions

For compiled languages (C#, F#), verify:

site/wwwroot/
├── host.json
├── bin/
│   ├── <YourAssembly>.dll
│   └── extensions.json
└── function1/
    └── function.json

 

Similarly for script languages (JavaScript, Python, PowerShell), verify:

Python Folder Structure

PowerShell Folder structure

NodeJS Folder structure

Solution:

  • Redeploy your function app using your preferred method:
    • Visual Studio / VS Code
    • Azure CLI
    • GitHub Actions / Azure DevOps
    • Kudu ZIP deploy
  • Clear the deployment cache: Restart your function app through Portal or CLI/PowerShell

        # Using Azure CLI az functionapp restart    

az functionapp restart --name <app-name> --resource-group <resource-group>

3. Invalid or Missing function.json

Symptoms:

  • Specific functions not appearing
  • Some functions visible, others missing
  • Function appears but shows wrong trigger type

Why This Happens:

Each function requires a valid function.json file (generated at build time for compiled languages, or manually created for script languages). If this file is missing, malformed, or contains errors, the function won't be discovered.

Example of Valid function.json for http trigger:

{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": ["get", "post"]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "$return"
    }
  ]
}

 

Common function.json Errors:

ErrorExampleFix
Missing type{"bindings": [{"name": "req"}]}Add "type": "httpTrigger"
Invalid direction"direction": "input"Use "in" or "out"
Syntax errorMissing comma or bracketValidate JSON syntax
Wrong binding nameMismatched parameter namesMatch code parameter names

Solution:

  1. Check the function folder in Kudu for function.json
  2. Validate the JSON syntax using a JSON validator
  3. For compiled functions, ensure your project builds successfully
  4. Check build output for warnings about function metadata

4. V2 Programming Model Issues (Python/Node.js)

Symptoms:

  • Using Python v2 or Node.js v4 programming model
  • Functions defined in code but not visible in portal
  • No function.json files in function folders

Why This Happens:

The V2 programming model for Python and v4 model for Node.js define functions using decorators/code instead of function.json files. The portal requires the host to be running to discover these functions dynamically.

Python V2 Example:

import azure.functions as func
import logging

app = func.FunctionApp()

@app.function_name(name="HttpTrigger1")
@app.route(route="hello", auth_level=func.AuthLevel.FUNCTION)
def hello(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')
    return func.HttpResponse("Hello!")

Node.js V4 Example:

const { app } = require('@azure/functions');

app.http('HttpTrigger1', {
    methods: ['GET', 'POST'],
    authLevel: 'function',
    handler: async (request, context) => {
        context.log('HTTP trigger function processed a request.');
        return { body: 'Hello!' };
    }
});

Solution:

  1. Verify the host is running (see Solution #1)
  2. Check your entry point configuration.
  3. Check Application Insights for host startup errors related to function registration
  4. Check folder structure - Python folder structure

5. Extension Bundle or Dependencies Missing

Symptoms:

  • Functions not appearing after adding new trigger types
  • Host fails to start with extension-related errors
  • Works locally but not in Azure

Why This Happens:

Azure Functions uses extension bundles to provide trigger and binding implementations. If the bundle is missing or incorrectly configured, functions using those triggers won't work.

How to Verify:

Check your host.json for extension bundle configuration: extension bundle

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Solution:

  1. Ensure extension bundle is configured in host.json
  2. Use a compatible version range:
    • For Functions v4: [4.*, 5.0.0)
  3. For compiled C# apps using explicit extensions, ensure all NuGet packages are installed:
  4. Check for extension installation errors and fix it

6. Sync Trigger Issues

Symptoms:

  • Functions deployed successfully
  • Host is running
  • Portal still shows no functions or outdated function list

Why This Happens:

The Azure Portal caches function metadata. Sometimes this cache becomes stale or the sync process between the function host and the portal fails.

Solution:

  1. Force a sync from the portal:
    • Navigate to your Function App
    • Click Refresh button in the Functions blade
    • If that doesn't work, go to Overview → Restart
  2. Trigger a sync via REST API:
    1. Sync Trigger
    2. az rest --method post --url https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/sites/<APP_NAME>/syncfunctiontriggers?api-version=2016-08-01

7. Storage Account Connectivity Issues

Symptoms:

  • Functions not visible
  • Host shows errors related to storage
  • "Unable to get function keys" error

Why This Happens:

Azure Functions requires access to the storage account specified in AzureWebJobsStorage for:

  • Storing function keys and secrets
  • Coordinating distributed triggers
  • Maintaining internal state

If the function app cannot connect to storage, the host may fail to start properly.

How to Verify:

Check the Application Settings: Storage considerations for Azure Functions

  • AzureWebJobsStorage - Must be a valid connection string
  • WEBSITE_CONTENTAZUREFILECONNECTIONSTRING - For Consumption/Premium plans
  • WEBSITE_CONTENTSHARE - File share name

Solution:

  1. Verify the storage account exists and is accessible
  2. Check for firewall rules on the storage account:
    • Go to Storage Account → Networking
    • Ensure Function App has access (public endpoint or VNet integration)
  3. Regenerate connection strings if storage keys were rotated:
    • Get new connection string from storage account
    • Update AzureWebJobsStorage in Function App settings
  4. For VNet-integrated apps, ensure:
    • Service endpoints or private endpoints are configured
    • DNS resolution works for storage endpoints

Check for more details - Storage considerations for Azure Functions

8. WEBSITE_RUN_FROM_PACKAGE Issues

Symptoms:

  • Functions not visible after deployment
  • Functions were visible before but disappeared
  • "No functions found" in the portal
  • Read-only file system errors in logs

Why This Happens:

When WEBSITE_RUN_FROM_PACKAGE is configured, Azure Functions runs directly from a deployment package (ZIP file) instead of extracting files to wwwroot. If the package is inaccessible, corrupted, or misconfigured, the host cannot load your functions.

Understanding WEBSITE_RUN_FROM_PACKAGE Values:

ValueBehavior
1Indicates that the function app runs from a local package file deployed in the c:\home\data\SitePackages (Windows) or /home/data/SitePackages (Linux) folder of your function app.
<URL>Sets a URL that is the remote location of the specific package file you want to run. Required for functions apps running on Linux in a Consumption plan
Not setTraditional deployment (files extracted to wwwroot)

How to Verify:

  1. Check the app setting value.
  2. If using URL, verify package accessibility.
  3. Check if package exists properly (when value is 1):
    • Go to Kudu → Debug Console
    • Navigate to d:\home\data\SitePackages
    • Verify a .zip file exists and packagename.txt points to it
  4. Verify package contents:
    • Download the package
    • Extract and verify host.json and function files are present at the root level (not in a subfolder)

Common Issues:

IssueSymptomSolution
Expired SAS tokenPackage URL returns 403Generate new SAS with longer expiry
Package URL not accessiblePackage URL returns 404Verify blob exists and URL is correct
Wrong package structureFiles in subfolderEnsure files are at ZIP root, not in a nested folder
Corrupted packageHost startup errorsRe-deploy with fresh package
Storage firewall blockingTimeout errorsAllow Function App access to storage

9. Configuration Filtering Functions

Symptoms:

  • Only some functions visible
  • Specific functions always missing
  • Functions worked before a configuration change

Why This Happens:

Azure Functions provides configuration options to filter which functions are loaded. If these are misconfigured, functions may be excluded.

Configuration Options to Check:

  1. host.json functions array: Host.json -> functions
{ "functions": ["Function1", "Function2"] }

Solution:

  1. Remove the functions array from host.json (or ensure all desired functions are listed)

10. Networking Configuration Issues

Symptoms:

  • Functions not visible in portal but app responds to requests
  • "Unable to reach your function app" error in portal
  • Portal timeout when loading functions
  • Functions visible intermittently
  • Host status endpoint not reachable from portal

Why This Happens:

When your Function App has networking restrictions configured (VNet integration, private endpoints, access restrictions), the Azure Portal may not be able to communicate with your function app to discover and display functions. The portal needs to reach your app's admin endpoints to enumerate functions.

Common Networking Configurations That Cause Issues:

ConfigurationImpactPortal Behavior
Private Endpoint only (no public access)Portal can't reach admin APIs"Unable to reach function app"
Access Restrictions (IP filtering)Portal IPs blockedTimeout loading functions
VNet Integration with forced tunnelingOutbound calls failHost can't start properly
Storage account behind firewallHost can't access keys/stateHost startup failures
NSG blocking outbound trafficCan't reach Azure servicesVarious failures

 

Important Note:

When your Function App is fully private (no public access), you won't be able to see functions in the Azure Portal from outside your network. This is expected behavior.

Using Diagnose and Solve Problems

The Azure Portal provides built-in diagnostics to help troubleshoot function visibility issues.

How to Access:

  1. Navigate to your Function App in the Azure Portal
  2. Select Diagnose and solve problems from the left menu
  3. Search for relevant detectors:
    • Function App Down or Reporting Errors

    • SyncTrigger Issues
    • Deployment
    • Networking

Quick Troubleshooting Checklist

Use this checklist to quickly diagnose functions not appearing in the portal:

  • Host Status: Is the host running? Check /admin/host/status
  • Files Present: Are function files deployed? Check via Kudu
  • function.json Valid: Is the JSON syntax correct?
  • Run From Package: If using WEBSITE_RUN_FROM_PACKAGE, is package accessible and configured right?
  • Extension Bundle: Is extensionBundle properly configured in host.json?
  • Storage Connection: Is AzureWebJobsStorage valid and reachable?
  • No Filters: Is functions array in host.json filtering?
  • V2 Model: For Python/Node.js v2, is host running to register?
  • Sync Triggered: Has the portal synced with the host?
  • Networking: Can the portal reach the app? Check access restrictions/private endpoints

Verifying Functions via REST API

If you cannot see functions in the portal but believe they're deployed, you can verify directly: Functions API

List All Functions:

curl "https://<app>.azurewebsites.net/admin/functions?code=<master-key>"

 

Or directly from here with auth: List Functions

 

Check Specific Function:

curl "https://<app>.azurewebsites.net/admin/functions/<function-name>?code=<master-key>"

Get Host Status:

curl "https://<app>.azurewebsites.net/admin/host/status?code=<master-key>"

If these APIs return your functions but the portal doesn't show them, the issue is likely a portal caching/sync problem (see Solution #6).

Conclusion

Functions not appearing in the Azure Portal can be caused by various issues, from deployment problems to configuration filtering. By following the troubleshooting steps outlined in this article, you should be able to identify and resolve the issue.

Key Takeaways:

  1. Always verify the host is running first
  2. Check that function files are correctly deployed
  3. Validate function.json and host.json configurations
  4. Ensure storage connectivity is working
  5. Use the built-in diagnostics in the Azure Portal
  6. Force a sync if functions are deployed but not visible

If you continue to experience issues after following these steps, consider opening a support ticket with Microsoft Azure Support, providing:

  • Function App name and resource group
  • Steps to reproduce the issue
  • Any error messages observed
  • Recent deployment or configuration changes

References

Have questions or feedback? Leave a comment below.

Updated Feb 23, 2026
Version 2.0
No CommentsBe the first to comment