Passkeys are now supported by 20% of the world's top 100 websites and 53% of consumers globally have enabled passkeys on at least one account, per the FIDO Alliance Authentication Barometer 2024. Amazon, WhatsApp, Coinbase, TikTok, Facebook, LinkedIn and X/Twitter have all shipped support since 2023.

Passkeys Cheat Sheet — dev-focused WebAuthn reference. Trusted by Ally, Stanford CS & more.
The W3C WebAuthn Level 3 specification defines a
range of DOM exceptions, but browsers deliberately collapse most failures (user
cancellation, timeouts, ineligible authenticators) into the
generic NotAllowedError to avoid privacy leaks, per the
W3C Privacy Considerations.
Many relying parties also define their own error messages, since there are not many best
demonstrated practices apart from the
FIDO Alliance's UX guidelines. This guide maps
the most common consumer-facing wordings to a clear cause and a practical fix, with
screenshots from both the original release and the latest iOS and
Android builds.
Discuss passkeys news and questions in r/passkey.
If a "google passkey not working" on your device, the first check is whether the browser, the OS and Google Play services are all on a current build, since most regressions are fixed within one or two releases.
Passkeys are passwordless credentials based on the WebAuthn API and the underlying CTAP 2.2 specification from the FIDO Alliance. The W3C standardized WebAuthn Level 1 in March 2019, Level 2 in April 2021 and Level 3 in 2024. Adoption hit roughly 1 billion enrolled credentials across major ecosystems by Q4 2024, per FIDO Alliance Authenticate 2024.
Try passkeys in a live demo.
The device generates a unique key pair on registration. Only the public key is sent to the relying party, while the private key stays inside the secure enclave, TPM or TEE. On sign-in, the server sends a challenge, the device unlocks the private key with Face ID, Touch ID or Windows Hello, signs the challenge and returns the signature. The relying party verifies it with the public key.
Because the private key never leaves the device, phishing and password reuse stop working as attack vectors. From a user perspective, the entire flow is a single biometric prompt.
See how many people actually use passkeys.
iCloud Keychain Enabled:
iCloud Keychain is the storage location for credentials on Apple devices and ships on iOS 16, iPadOS 16 and macOS Ventura 13 or later. Apple reported around 2.2 billion active devices in early 2024, of which over 90% run iOS 16 or later, per Apple's developer dashboard. To enable iCloud Keychain, navigate to your device's settings, select your Apple ID, go to iCloud and then enable iCloud Keychain (read more here). Per Apple's developer documentation, iCloud accounts with Keychain enabled are enforced to use MFA.
iOS 16 or macOS Ventura Required:
iOS 16 launched on 12 September 2022 and macOS Ventura 13 on 24 October 2022. On iOS 18 the storage moved into a dedicated Passwords app, which is why some prompts now read "Passwords" instead of "iCloud Keychain". Per Apple support, users on older OS builds cannot create or use passkeys at all.
Subscribe to our Passkeys Substack for the latest news.
Windows Hello Setup:
Windows Hello is required to create or use passkeys on Windows 10 and Windows 11 devices. Per Microsoft's Windows passkey documentation, Windows 11 build 22631 (November 2024) shipped the native passkey UI and Windows 11 25H2 (November 2025) added support for third-party passkey managers like 1Password and Bitwarden. Windows Hello accepts a fingerprint, a face scan or a 6-digit PIN. Configure it under Settings > Accounts > Sign-in options (read more here).
Android Version 9 or Later:
Android 9 (Pie) shipped on 6 August 2018 and is the minimum for the Credential Manager API. Per the Android distribution dashboard, Android 9 and later run on roughly 95% of active Android devices in 2026. Older builds cannot use passkeys at all because they miss the StrongBox Keymaster and the Credential Manager.
Google Play Services Updated:
Google Play services version 23.40 or later is required for the Credential Manager. Google Play services updates roughly every 4 to 6 weeks and most issues with "google passkey not working" trace back to a stale version. Update Google Play services and the system WebView under Settings > Apps and retry.
On all platforms, keep the browser on a current build. Safari, Chrome and Edge ship roughly weekly stable updates and most regressions are fixed within one or two releases.
See how many people actually use passkeys.
We track around 15 recurring error patterns across iOS, Android and Windows clients, which together account for the bulk of consumer support tickets observed across major relying parties. The next 6 sections group those errors by root cause: iCloud Keychain and the Apple Passwords app, no available credential, QR code and cross-device flows, Windows-specific issues, Android-specific issues and the generic WebAuthn or browser bucket.
Every entry includes screenshots from the original release as well as the latest iOS builds and Android Credential Manager builds, the most likely cause and a solution that has worked for others. Where useful, the entry references the W3C WebAuthn Level 3 specification, the FIDO Alliance specifications or the relevant platform documentation from Apple, Microsoft and the Android Credential Manager.
This group covers the two errors that Apple devices show when iCloud Keychain is not set up correctly. Both are surfaced by the system, not by the relying party. iCloud Keychain is a hard requirement for passkeys on iOS 16, iPadOS 16 or macOS Ventura 13 and later, per Apple's developer documentation. On iOS 18 the storage moved into the new Passwords app, which is why the wording changed.
On the latest iOS the wording reads "To use passkeys, you need to enable iCloud Keychain" and the path was renamed to Settings > Apple Account > iCloud > Passwords and Keychain:
On the latest iOS the prompt is now branded with the new Passwords app and reads "There are no matching passkeys saved in Passwords for ...":
These errors appear when the credential the user expects either is not on the current device, was already registered or has been deleted on one side and not the other. The WebAuthn properties AllowCredentials and excludeCredentials drive most of this behavior on the server side.
On Android the same error is surfaced by Google Play services with "No passkeys available. There aren't any passkeys for <relying party> on this device" and a "Use a different device" fallback:
The QR code flow uses the FIDO hybrid transport (also called CTAP 2.2 hybrid). Per the FIDO CTAP specifications, the two devices exchange a one-time secret over the QR code and then communicate over Bluetooth Low Energy at a maximum range of about 3 meters. Both Bluetooth and proximity are required, otherwise the flow fails silently.
On the latest iOS the cross-device QR sheet now reads "Scan QR Code. Scan this QR code with a compatible device to sign in to ...":
On Android the Credential Manager surfaces the same flow as "No available sign-in" with a Show QR code option and a fallback to Open Google Password Manager:
Windows builds have shipped several passkey-related regressions over the past 18 months. Per the Microsoft Windows passkey documentation, build 22631 (November 2024) added the native passkey UI and Windows 11 25H2 (November 2025) added third-party passkey manager support. Both shifts reset some Windows Hello state.
C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngc), then re-enrol
Windows Hello. Treat
Microsoft account
sign-in on Windows as best-effort and always keep at least one
non-passkey MFA option active.The Android Credential Manager API requires Google Play services 23.40 or later and relies on the secure lockscreen for user verification, per the Android Credential Manager documentation. Devices without a screen lock cannot enroll or use credentials at all.
These errors come straight from the browser or the
WebAuthn layer. They are intentionally generic to
protect user privacy. Browsers expose between
10 and 14 distinct DOM exceptions during a ceremony per the W3C spec, and the most common
one (NotAllowedError) covers cancel, timeout and silent platform refusal in a single
bucket.
Passkeys remove the password class of vulnerabilities by replacing shared secrets with public key cryptography. Real-world deployments report a 4x to 6x faster sign-in versus password plus OTP, with Verizon's 2024 Data Breach Investigations Report attributing 68% of breaches to a non-malicious human element including credential abuse. Cutting that surface area is the entire point.
In practice, the 15 errors above account for the bulk of consumer support tickets we see in the passkeys community, and getting troubleshooting right is essential for wider passkey adoption. Following creation best practices and login best practices reduces error rates significantly. To stay current on error handling and rollout details, subscribe to the passkeys Substack or join the community on Slack.
Corbado is the Passkey Intelligence Platform for CIAM teams running consumer authentication at scale. We help you see what IDP logs and generic analytics tools can't: which devices, OS versions, browsers and credential managers support passkeys, why enrollments don't turn into logins, where the WebAuthn flow fails and when an OS / browser update silently breaks login, all without replacing Okta, Auth0, Ping, Cognito or your in-house IDP. Two products: Corbado Observe layers observability for passkeys and any other login method. Corbado Connect adds managed passkeys with analytics built in (alongside your IDP). VicRoads runs passkeys for 5M+ users with Corbado (+80% passkey activation). Talk to a Passkey Expert →
This prompt appears when Windows Hello is disabled or no TPM is available, causing the system to fall back to hardware security key authentication. Enabling Windows Hello in your device's sign-in settings resolves this, but you must first create a Windows Hello passkey before using it for login.
This error typically results from an application glitch, a temporary server issue or incompatible device settings. Restarting the application or device and checking for OS and app updates usually resolves it. If the problem appears server-side, waiting and retrying later is recommended.
Timeout errors occur when the server takes too long to respond, usually due to network instability or high server load. Verifying your internet connection is the first step. If connectivity is stable, the issue is likely server-side and retrying after a short wait should resolve it.
Deleting a passkey client-side, such as from iCloud Keychain or Google Password Manager, without also removing it in the relying party's account settings causes 'no matching passkey' errors. The server still holds the public key and expects the credential, so both client-side and server-side deletion are required before registering a new passkey.
NotAllowedError is the generic WebAuthn error browsers return when a passkey ceremony
did not complete. It can mean user cancellation, timeout, a missing user gesture, a
blocked origin or a platform authenticator that refused the request. Browsers hide the
exact cause for privacy reasons. Retrying the flow after a direct user action and
confirming biometrics or PIN usually resolves it.
On iOS 18 and later the storage location moved into the new Passwords app, so the wording changed from "iCloud Keychain" to "Passwords". The error means the credential is missing on this device or iCloud sync is not active. Confirm iCloud Keychain is enabled on every Apple device used by the same Apple ID, force a sync by toggling iCloud Keychain off and on, then retry the sign-in. If no credential exists at all, register a new one from the relying party's account settings.
The Android Credential Manager surfaces this prompt when no matching credential is stored for the requested relying party on the current device. It typically offers a "Show QR code" option to use a passkey from another device via the FIDO hybrid transport, plus a fallback to open Google Password Manager. Either scan the QR code with a phone that already holds the credential, sign in with a fallback method, or register a new credential on the current device from the relying party's account settings.
The cross-device flow is the FIDO hybrid transport defined in CTAP 2.2. The desktop browser shows a QR code containing a one-time secret. A phone scans it with the camera and then connects back over Bluetooth Low Energy at a maximum range of about 3 meters. After the user verifies on the phone, the WebAuthn ceremony completes on the desktop. Both Bluetooth and proximity are required, otherwise the flow fails silently with generic "Something went wrong" or "We couldn't sign you in" messages.
Related Articles
Table of Contents