This one came up at work last week. An engineer’s Windows Hello for Business entry got deleted from Entra ID. Right after that, she was stuck in a loop of sign-in prompts asking her to set up authentication again, her PIN stopped working, and when she tried to add a passkey from the Security info page she got this:
“Passkey not registered. This might be due to a timeout, a canceled request or a private browsing window.”
None of those reasons was the real cause, which is why it took a bit of digging. If you manage Entra ID, you will probably run into this too, so here is what was going on and how I fixed it.
What was actually wrong
Windows Hello for Business works with a key pair. The private key lives on the device, protected by the TPM, and the PIN or fingerprint unlocks it. The public key is registered on the user’s account in Entra ID.
When you delete the Windows Hello entry from the user’s Authentication methods page, you only remove the public key. The private key and the PIN container are still sitting on the laptop. So Windows thinks Hello is set up and keeps trying to sign in with a key that Entra has never heard of. The user can’t simply set it up again either, because the old container is still in the way.
I confirmed it by running this in her own session:
dsregcmd /statusUnder User State, NgcSet was YES, so a Hello container existed locally. But the SSO State section showed the PRT failing with these errors:
AADSTS130004: UserPrincipal doesn't have the NGC key configured
AADSTS135010: UserPrincipal doesn't have the key ID configuredBoth mean the same thing. The device is presenting a Hello key and Entra has no matching one on the user. The Authentication methods page in the portal showed no Windows Hello entry at all, which matched.
One small tip. Run dsregcmd /status as the affected user, not as yourself or an admin. NgcSet is per user, so if you run it under another account you will be looking at the wrong container.
How I fixed it
The goal is to clear the old container on the device so Windows can start fresh and register a new key.
First, the user needs a way to sign in that isn’t the PIN. A password works, or a passkey. If she can’t pass MFA because her methods are tangled up in the same mess, issue a Temporary Access Pass.
Then remove the old PIN. Go to Settings, Accounts, Sign-in options, PIN (Windows Hello), and select Remove. If that button is greyed out or fails, open a command prompt in the user’s session and run:
certutil -deletehellocontainerSign out and restart the machine so the container is really gone.
After the restart, sign in with the password. The Windows Hello setup prompt should show up. She goes through MFA, sets a new PIN, and adds a fingerprint or face if the laptop supports it. The whole thing takes two to five minutes. If the laptop was only recently enrolled in Intune, the policy may take a while to arrive, and you can speed it up with a manual sync under Settings, Accounts, Access work or school, Info, Sync.
To check that it worked, run dsregcmd /status again. NgcSet should be YES with a new NgcKeyId, different from the old one. Then refresh the user’s Authentication methods page in Entra and you should see the Windows Hello entry back. If the portal looks stale, which it sometimes does, ask Graph directly:
GET /users/{id}/authentication/windowsHelloForBusinessMethodsAbout that “Passkey not registered” message
That popup is a generic error from the passkey registration flow, and the text it gives is only a guess at the cause. A timeout, a cancelled prompt, or a private browsing window can all trigger it, so it is worth retrying once in a normal window and finishing the Windows Security prompt quickly.
In this case the real problem was the broken Hello state on the device. Once the container was cleared and Hello was re-provisioned, there was nothing left to fix on the passkey side. If you still see the error after that, check whether your authentication methods policy actually allows that passkey type for the user.
If it still doesn’t work
Open Event Viewer on the device and look at these two logs, under Applications and Services Logs, Microsoft, Windows:
- HelloForBusiness, Operational
- User Device Registration, Admin
They usually say plainly where provisioning failed. Beyond that, check that WHfB is still enabled for her through Intune or group policy, that the device can reach login.microsoftonline.com and enterpriseregistration.windows.net, that the TPM is healthy, that the clock is right, and that no Conditional Access policy is blocking the registration step.
Doing it properly next time
The lesson for me was that deleting the entry in Entra is only half of a reset. If a user’s Hello needs to be redone, there are two clean ways to do it. One is to have the user pick “I forgot my PIN” on the device, which resets both sides together. The other is, if you do delete the entry in Entra, to have the user remove the PIN on the device straight afterwards so the two sides stay in sync.
It’s worth writing this into your helpdesk process. The mismatch is easy to create and not obvious when you first see it, since the user just reports that their PIN stopped working and the error message points you somewhere else entirely.

