IT Error Decoder

How to Fix New-MgApplicationPermission is not recognized

Error message

The term 'New-MgApplicationPermission' is not recognized as the name of a cmdlet.

If you're seeing "New-MgApplicationPermission is not recognized", you're not alone. Here's what it means, why it happens, and the steps to resolve it.

What this error means

PowerShell cannot find a cmdlet with that exact name. Often the cmdlet does not exist under that name, or the required Microsoft Graph submodule is not installed/imported.

Why this happens

There is no cmdlet literally named 'New-MgApplicationPermission' in the Microsoft.Graph PowerShell SDK. Application permissions are managed by updating the application's RequiredResourceAccess and assigning app role assignments via different cmdlets.

Step-by-step fix

  1. Install or update the Microsoft Graph PowerShell SDK.

    command
    Install-Module Microsoft.Graph -Scope CurrentUser -Force
  2. List the cmdlets that actually exist for application permissions.

    command
    Get-Command -Module Microsoft.Graph.Applications *Permission*
    Get-Command -Module Microsoft.Graph.Applications *AppRoleAssignment*
  3. To grant an application permission to a service principal, use New-MgServicePrincipalAppRoleAssignment instead.

    command
    New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId <sp-id> -PrincipalId <sp-id> -ResourceId <graph-sp-id> -AppRoleId <app-role-id>
  4. If you intended to add a delegated/app permission to an app registration, update the app's RequiredResourceAccess via Update-MgApplication.

Affected products

Microsoft Graph PowerShell

Still broken? Try these

  • Run `Get-Module Microsoft.Graph -ListAvailable` to confirm the SDK is installed.
  • Make sure you opened a fresh PowerShell session after installing the module.
  • Search the docs for the exact cmdlet name before scripting unfamiliar verbs.

Related errors

Frequently asked questions

What does "New-MgApplicationPermission is not recognized" mean?

PowerShell cannot find a cmdlet with that exact name. Often the cmdlet does not exist under that name, or the required Microsoft Graph submodule is not installed/imported.

What causes "New-MgApplicationPermission is not recognized"?

There is no cmdlet literally named 'New-MgApplicationPermission' in the Microsoft.Graph PowerShell SDK. Application permissions are managed by updating the application's RequiredResourceAccess and assigning app role assignments via different cmdlets.

How do I fix "New-MgApplicationPermission is not recognized"?

1. Install or update the Microsoft Graph PowerShell SDK. 2. List the cmdlets that actually exist for application permissions. 3. To grant an application permission to a service principal, use New-MgServicePrincipalAppRoleAssignment instead. 4. If you intended to add a delegated/app permission to an app registration, update the app's RequiredResourceAccess via Update-MgApplication. Always test changes in a non-production environment first.

Browse more errors in Microsoft Graph PowerShell: Fix Microsoft Graph PowerShell errors. Insufficient privileges, invalid object ID, missing cmdlets, token problems, and more. Or paste your own error into the error decoder tool to find a match. You can also go back to the homepage to browse common errors by topic.