SeleniumHQ/selenium · error · WebDriverException
This browser does not support Federated Credential Managemen
Error message
This browser does not support Federated Credential Management. Please ensure you're using a supported browser.
What it means
Raised by _require_fedcm_support() (called by the FedCM dialog/account properties) when the session capabilities do not advertise FedCM support. Selenium gates FedCM (Federated Credential Management) interaction behind a capability (ArgOptions.FEDCM_CAPABILITY) that the browser must accept; if it is absent/false, the FedCM dialog API is unavailable.
Source
Thrown at py/selenium/webdriver/remote/webdriver.py:1660
`driver.fedcm.account_list`
`driver.fedcm.select_account(0)`
`driver.fedcm.accept()`
`driver.fedcm.dismiss()`
`driver.fedcm.enable_delay()`
`driver.fedcm.disable_delay()`
`driver.fedcm.reset_cooldown()`
"""
return self._fedcm
@property
def supports_fedcm(self) -> bool:
"""Returns whether the browser supports FedCM capabilities."""
return self.capabilities.get(ArgOptions.FEDCM_CAPABILITY, False)
def _require_fedcm_support(self) -> None:
"""Raises an exception if FedCM is not supported."""
if not self.supports_fedcm:
raise WebDriverException(
"This browser does not support Federated Credential Management. "
"Please ensure you're using a supported browser."
)
@property
def dialog(self) -> Dialog:
"""Returns the FedCM dialog object for interaction."""
from selenium.webdriver.common.fedcm.dialog import Dialog
self._require_fedcm_support()
return Dialog(self)
def fedcm_dialog(self, timeout=5, poll_frequency=0.5, ignored_exceptions=None):
"""Waits for and returns the FedCM dialog.
Args:
timeout: How long to wait for the dialog.
poll_frequency: How frequently to poll.View on GitHub (pinned to aa36b38e69)
Solutions
- Enable the FedCM capability at session creation: options.enableFedCm = True (or set_capability with ArgOptions.FEDCM_CAPABILITY).
- Use a recent Chrome/Chromium build that supports FedCM.
- Check driver.supports_fedcm before touching driver.dialog or driver.fedcm methods.
Example fix
# before options = webdriver.ChromeOptions() driver = webdriver.Chrome(options=options) driver.dialog # raises # after options = webdriver.ChromeOptions() options.enableFedCm = True driver = webdriver.Chrome(options=options) driver.dialog # works
Defensive patterns
Strategy: validation
Validate before calling
if not driver.supports_fedcm:
raise RuntimeError('Enable FedCM: options.enableFedCm = True, use a supported browser')
driver.dialog Type guard
def fedcm_supported(driver) -> bool:
return bool(driver.supports_fedcm) Try / catch
from selenium.common.exceptions import WebDriverException
try:
driver.dialog
except WebDriverException:
# skip FedCM interaction; browser/capability unsupported
pass Prevention
- Set options.enableFedCm = True at session creation.
- Use a recent Chromium that supports FedCM.
- Check driver.supports_fedcm before FedCM interactions.
When it happens
Trigger: Accessing driver.dialog (or any property that calls _require_fedcm_support()) on a session whose capabilities do not have the FedCM capability set to True. The check is `not self.capabilities.get(ArgOptions.FEDCM_CAPABILITY, False)`.
Common situations: Using a browser/version that does not support FedCM, or forgetting to enable the FedCM capability at session creation. FedCM support is browser-dependent (recent Chrome versions).
Related errors
- no capabilities provided for merge
- Capability keys must be strings: ${typeof key}
- Downloads must be enabled in options
- Cannot set readonly attribute
- Strategy can only be one of the following: normal, eager, no
AI-assisted analysis of SeleniumHQ/selenium@aa36b38e69 (2026-08-14).
Data as JSON: /api/errors/991a8129cda2bda4.
Report an issue: GitHub.