Desktop app browser cannot complete passkey / WebAuthn sign-in (no platform authenticator, no Bluetooth hybrid transport)

Status Closed — duplicate
Reported on v2.1.235
Maintainer reply None cached
Activity 1 comment · opened Aug 19, 2026 · closed Aug 25, 2026

Summary

The desktop app's built-in browser cannot complete passkey / WebAuthn authentication. Cross-device passkeys over Bluetooth (CTAP2 hybrid transport) are the case I hit most, but platform passkeys fail too. Any site that has moved to passkey-only or passkey-preferred login is effectively unusable inside the app.

Environment

  • Claude Code 2.1.235
  • macOS 26.6.1 (build 25G76), arm64, Darwin 25.6.0
  • Claude Code desktop app (ClaudeCode.app)

What happens

Navigate to any site that offers passkey sign-in inside the app's browser. The passkey flow either never presents a prompt, or presents one that cannot reach an authenticator. There is no QR / Bluetooth hybrid-transport path offered, so a passkey stored on a phone or in a platform keychain cannot be used.

Expected

Passkey sign-in works, including:

  1. Platform authenticator (Touch ID / the macOS keychain).
  2. Cross-device hybrid transport over Bluetooth, the QR-code flow that lets a passkey on a phone authorize a desktop login.

Why this matters

Passkey adoption is no longer a niche. For anyone who does not reuse passwords, passkeys plus a password manager are the whole login story, and a browser that supports neither forces manual credential entry for every single site. See the sibling reports I am filing on system password manager access and on browser session persistence - together they mean every authenticated site has to be logged into by hand, repeatedly.

Notes

I understand embedded Chromium does not get hybrid transport for free and that this likely needs explicit platform integration rather than a flag. Filing it as a demand signal rather than as an easy fix. If only one of the two is feasible, the platform authenticator path is the more valuable half.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗