Immediate UI mode for logins

Published: May 12, 2026

Immediate UI mode for logins is a web capability designed to streamline sign-in flows. This feature lets you proactively offer passkeys and managed passwords directly to your users when they reach a sign-in moment, such as clicking a Sign In or Checkout button.

Abstract

Immediate UI mode provides a mode that fails promptly if no credentials are locally available. This behavior mirrors preferImmediatelyAvailableCredentials APIs found on mobile platforms like Android and iOS. When credentials exist, the browser presents an immediate login dialog to the user. Otherwise, it rejects the promise silently, letting you provide alternative sign-in methods, for example, a sign-in form, without disrupting the user experience.

As of May 2026, Chrome is the only browser that supports immediate UI mode.

Check prerequisites

To use immediate UI mode, the user must already have eligible credentials available locally on their device. On Chrome, these credentials include:

  • Passkeys saved in a passkey provider such as Google Password Manager, Windows Hello, or iCloud Keychain.
  • Passwords saved in Google Password Manager.

If no local credentials exist, the API rejects the request without showing the immediate login dialog.

Detect feature support

Before you call immediate UI mode, verify whether the browser supports the immediateGet capability using the PublicKeyCredential.getClientCapabilities() method. If it is not supported, fall back to existing sign-in methods, such as email and password forms, phone number verification, or social logins.

async function checkImmediateAvailability() {
  try {
    const capabilities = await PublicKeyCredential.getClientCapabilities();
    if (capabilities.immediateGet) {
      console.log("Immediate UI mode is supported.");
    } else {
      console.log("Immediate UI mode is NOT supported.");
    }
  } catch (error) {
    console.error("Error checking client capabilities:", error);
  }
}

For broader browser support, use the polyfill available in the WebAuthn Polyfills GitHub repository.

Request credentials

To trigger the immediate login flow, call navigator.credentials.get() with the uiMode field set to 'immediate'.

By including password: true in your request, users can benefit from this experience if the browser supports password credentials.

// This call must follow a user gesture, like a button click
button.addEventListener('click', async (event) => {
  event.preventDefault();
  try {
    const cred =