Azure VM stuck in 'Updating' state after resize

Server & Cloud Intermediate 👁 14 views 📅 May 25, 2026

Your Azure VM won't leave the 'Updating' state after you resize it. I've seen this with Standard_D series VMs. The fix is a manual force-resize.

When this error shows up

You're in the Azure portal, you resized your VM from a Standard_D2s_v3 to a Standard_D4s_v3. The portal shows 'Updating'—and it stays there. For hours. You refresh the page, wait overnight, it's still 'Updating'. The VM is unresponsive. You can't SSH in, RDP won't connect. This happens most often with Gen2 VMs running Windows Server 2022 or Ubuntu 22.04, but I've seen it on CentOS 7 and Windows 10 too. The trigger is almost always a resize that changes the VM's generation (like moving from a v2 to v3 series) or a resize that requires a different host SKU.

Root cause

Azure's orchestration layer got confused. When you resize a VM, the platform tries to migrate it to a new host node that matches the new size. If the target host doesn't have capacity, or if there's a transient networking issue, the update job hangs. The VM thinks it's still moving, but the move never completes. The portal reads the VM's provisioning state, which is stuck in 'Updating' because the Azure Resource Manager (ARM) operation hasn't signaled completion. The VM itself might be running fine, but its metadata is corrupted. The real fix here isn't patience—it's forcing a second resize operation that breaks the deadlock.

Fix: Force a resize via PowerShell or CLI

  1. Check the VM's current state
    Open Azure Cloud Shell (PowerShell mode). Run:
    Get-AzVM -ResourceGroupName "your-rg" -Name "your-vm" -Status | Select-Object -ExpandProperty Statuses
    Look for a status that says ProvisioningState/Updating. If it's there, you're stuck.
  2. Stop the VM forcibly
    Run:
    Stop-AzVM -ResourceGroupName "your-rg" -Name "your-vm" -Force
    This sends a stop command that overrides the hung operation. Wait 2–3 minutes. The portal should show 'Stopped (deallocated)'. If it doesn't, proceed anyway.
  3. Resize the VM to a temporary size
    Pick a size the VM can definitely move to—something in the same family. For a Standard_D4s_v3 target, go to Standard_D2s_v3 first. Run:
    $vm = Get-AzVM -ResourceGroupName "your-rg" -Name "your-vm"
    $vm.HardwareProfile.VmSize = "Standard_D2s_v3"
    Update-AzVM -ResourceGroupName "your-rg" -VM $vm
    This forces a new ARM deployment. The old 'Updating' state gets replaced. Wait for the operation to finish—usually 30 seconds.
  4. Resize back to the desired size
    Now resize to what you originally wanted:
    $vm.HardwareProfile.VmSize = "Standard_D4s_v3"
    Update-AzVM -ResourceGroupName "your-rg" -VM $vm
    Confirm the portal shows 'Running' after a minute.
  5. Start the VM
    Run:
    Start-AzVM -ResourceGroupName "your-rg" -Name "your-vm"
    Test connectivity with SSH or RDP.

If it still fails

Three things to check. First, make sure you're not in a region that's low on capacity. Use Get-AzComputeResourceSku | Where-Object {$_.ResourceType -eq 'virtualMachines' -and $_.Name -eq 'Standard_D4s_v3'} and check the Restrictions field. If it shows NoCapacityForResourceType, pick a different region or VM size. Second, your VM might have an extension that's also stuck. Run Get-AzVMExtension -ResourceGroupName "your-rg" -VMName "your-vm" and if any show 'Updating', remove them with Remove-AzVMExtension then reinstall. Third, if you're using Azure Policy with auto-remediation, that can keep kicking off updates. Check your policy assignments and temporarily disable any that target the VM. I've seen a policy that auto-installs an agent cause this exact hang. Skip the portal refresh cycle—it won't fix it. PowerShell or CLI is the way out.

Was this solution helpful?