Firebase Auth Emulator Now Mocks WebAuthn Passkeys
Firebase CLI v15.21.0 adds mock passkey support to the Auth emulator, so developers can test WebAuthn sign-in flows locally without hardware authenticators.

Firebase CLI v15.21.0, released June 17, 2026, ships mock WebAuthn passkey support in the Auth emulator for the first time. Developers testing passkey sign-in flows no longer need real hardware, a deployed Firebase project, or a WebAuthn-capable browser. The emulator intercepts the ceremony and returns deterministic results locally.
The addition is documented in the v15.21.0 release notes on GitHub.
Why this was a gap
Passkeys — FIDO2 credentials backed by device biometrics or security keys — have displaced passwords in most new authentication designs. Firebase Authentication added a WebAuthn provider for passkey support, but the Local Emulator Suite had no way to mock the WebAuthn ceremony. Any integration test touching passkey sign-in either required production Firebase, real hardware, or got skipped. Most teams skipped.
That gap is now closed. The emulator’s mock layer stands in for the authenticator, so registration and sign-in ceremonies both complete as expected in a local or CI run.
What the emulator covers
The mock supports the two core WebAuthn operations:
- Credential creation (registration): a user creates a passkey, the emulator returns a synthetic public key credential
- Credential assertion (sign-in): the user authenticates, the emulator asserts the stored credential without touching any hardware
Connection is unchanged. Point your app at the Auth emulator as you normally would and the mock passkey provider is available automatically.
This rounds out the emulator’s Auth coverage. SMS OTP, email magic links and Google Sign-In already had mock equivalents. Passkey was the last significant gap.
Key Takeaways
- CLI v15.21.0 (June 17, 2026) adds mock WebAuthn passkey support to the Firebase Auth emulator (release notes).
- No hardware authenticator or deployed Firebase project required for local or CI test runs.
- Both credential creation (registration) and credential assertion (sign-in) are covered.
- Connect your app to the emulator as usual — no extra configuration needed.
Other changes in CLI v15.21.0
Two other updates in the same release matter to Firebase developers:
Functions API dependencies: Cloud Functions can now declare additional Google Cloud API dependencies directly in code, so a function can specify which APIs need to be enabled at deploy time rather than requiring manual enablement beforehand.
Hosting emulator Cloud Run routing: The Hosting emulator now routes Cloud Run rewrites to local functions instead of hitting the live API. Before this fix, a rewrite targeting a Cloud Run service in local dev would call production, breaking local-only scenarios.
The release also fixed Astro 6 SSR deployments returning HTTP 500 errors due to the server/ directory being stripped from Cloud Functions packages, and patched ENOENT errors during Python functions initialization on Windows.


