mirror of
https://github.com/bitwarden/android.git
synced 2026-05-07 03:23:29 -05:00
[GH-ISSUE #6440] [PM-31444] Android says "No passkeys available" despite Bitwarden being unlocked + having a passkey #39411
Closed
opened 2026-04-23 18:16:26 -05:00 by GiteaMirror
·
30 comments
No Branch/Tag Specified
main
new-item-types/PM-32810_bank-account-discovery
pm-34038/card-scanner-qa-fixes
beta-for-qa
new-item-types/PM-32810_bank-account
target-sdk-37
PM-33982/build-device-screen
new-item-types/PM-34123_new-item-menu
new-item-types/PM-32806_passport
new-item-types/PM-32808_drivers-license
BWA-99/show-next-totp
BWA-99/add-preview-next-totp-code-setting
renovate/glidecompose
chore/improve-android-ui-verification-skill
sync-min-sdk
release/2026.4-rc51
fix/security-sast-22741894-bvwj
related-origin-passkey-creation
release/2026.4-rc50
platform/android-breaking-change-detection
innovation-sprint-2026-send-folder
release/2026.3-rc49
PM-34193-vault-lockout
android-collections
llm/add-resolving-sdk-updates-skill
QA-1523/sanity-test-saucelabs
release/2026.3-rc48
PM-26577-app-links-support
PM-26896-autofill-fix
release/2026.2-rc47
pr-6572
release/2026.2-rc46
release/2026.1-rc45
PM-30644/added-logs-for-debug
PM-30644/quicktile-nav-not-showing-migration
minor-gradle-updates
release/2026.1-rc42
release/2026.1-rc44
release/2026.1-rc43
PM-28834/set-landscape-on-horizonos-devices
PM-28468/validate-and-navigate-to-vault-migration
PM-20026/force-ltr-passwords-and-codes
release/2025.12-rc41
cmcg/testCoverage
PM-29014/talkback-support-for-passwords
release/2025.12-rc40
BRE-1305/publish_test
accept-user-certs
autofill-permissions
release/2025.11-rc39
PM-22479/check-all-certificates-validate-asset-links
release/2025.10-rc38
agalles/android-latest
retro-agent
PM-27001/skip-account-selection-only-one-exists-cxp
release/2025.10-rc37
agalles/test-1118
release/2025.10-rc36
PM-20593-token-refresh
QA-1126b/adding-native-sanity-test
release/2025.9-rc35
pm-25933/sdk-update-password
release/2025.9-rc34
release/2025.8-rc33
agalles/20250821-release
debug-release-issues
pm-24249-allow-automated-prs-for-sdk-updates
release/2025.8-rc32
release/WORKFLOW-TEST-2025.8-rc28
agalles/20250807release
release/2025.07-rc25
release/hotfix-v2025.7.0-bwa
pm-23311/export-vault-policy-bypass
release/2025.07-rc24
authenticator-pm-sync-flags-issue
release/hotfix-v2025.6.0-bwpm
release/2025.06-rc21
agalles/automate-android-fastlane-patch
release/2025.05-rc20
release/2025.04-rc19
languages/basque
release/2025.03-rc19
update-readme
qrcode/feature
innovation/archive/pm-19153-archive-items
qrcode/2-ui-fields
qrcode/1-page
hold-on-biometric-prompt-alternative
release-notes-process
release/2025.02-rc16
bwa-monorepo
PM-8223/new-device-verification-ux-improvements
pm-18451/exempt-from-policies
test-bwa
release/2025.01-rc15
release/2025.01-rc14
release/2024.12-rc13
pm-16670/sync-leave-notice
821
PM-16695/backport-lean-more-new-device-verification
release/hotfix-v2024.11.7
release/2024.11-rc1
pm-11304/collection-add-item-button
PM-14241/disabling-logs-app-crash
poc/offline-editing
new-version-calc
pm-11649/expired-link-services
pm-6702/add-feature-flag
pm-6702/email-verification-feature
pm-9933/marketing-copy-update
pm-6702/registration-flows
update-templates
pm-6701/email-verification-selfhost-registration
v2026.4.0-bwa
v2026.4.0-bwpm
v2026.3.1-bwa
v2026.3.1-bwpm
v2026.3.0-bwpm
v2026.3.0-bwa
v2026.2.1-bwpm
v2026.2.1-bwa
v2026.2.0-bwpm
v2026.2.0-bwa
v2026.1.1-bwa
v2026.1.1-bwpm
temp-test
v2026.1.0-bwpm
v2026.1.0-bwa
v2025.12.1-bwa
v2025.12.1-bwpm
v2025.12.0-bwa
v2025.12.0-bwpm
v2025.11.1-bwpm
v2025.11.1-bwa
v2025.11.0-bwpm
v2025.11.0-bwa
v2025.10.1-bwa
v2025.10.1-bwpm
v2025.10.0-bwa
v2025.10.0-bwpm
v2025.9.1-bwa
v2025.9.1-bwpm
v2025.9.0-bwa
v2025.9.0-bwpm
v2025.8.1-bwa
v2025.8.1-bwpm
v2025.8.0-bwa
v2025.8.0-bwpm
v2025.7.2-bwa
v2025.7.2-bwpm
v2025.7.1-bwa
v2025.7.1-bwpm
v2025.7.0-bwa
v2025.7.0-bwpm
v2025.6.1-bwpm
v2025.6.0-bwa
v2025.6.0-bwpm
v2025.1.0-bwa
v2025.5.0-bwa
v2025.5.0-bwpm
v2025.5.999
2025.4.0
v2025.4.0
untagged-4731eaadac73f3dfbbb8
v2025.3.0
v2025.2.0
untagged-815a165c5d70ffe75bc7
v2025.1.2
v2025.1.1
v2025.1.0
v2024.12.0
untagged-5a76b6392a4c8998c63a
v2024.11.7
v2024.11.6
v2024.11.5
v2024.11.4
v2024.11.3
v2024.11.2
v2024.11.1
v2024.11.0
v2024.10.2
v2024.10.1
v2024.10.0
v2024.9.0
v2024.8.1
v2024.8.0
v2024.7.3
v2024.7.2
v2024.7.1
v2024.7.0
v2024.6.1
v2024.6.0
v2024.5.1
v2024.4.1
v2024.4.2
v2024.4.0
v2024.3.3
v2024.3.1
v2024.3.0
v2024.2.1
v2024.2.0
v2024.1.1
v2024.1.0
v2023.12.0
v2023.10.0
v2023.9.2
maui-single-project-android
v2023.9.1
v2023.9.0
v2023.8.0
v2023.7.0
v2023.5.0
v2023.4.0
v2023.3.2
v2023.3.1
v2023.3.0
v2023.2.0
v2023.1.0
v2022.11.0
v2022.10.0
v2022.9.1
v2022.9.0
v2022.8.0
v2022.6.2
v2022.6.1
v2022.6.0
v2022.05.0
v2.18.0
v2.17.0
v2.16.4
v2.16.3
v2.16.2
v2.16.1
v2.15.0
v2.14.2
v2.14.1
v2.14.0
v2.13.0
v2.12.0
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.0
v2.9.1
v2.9.0
v2.8.2
v2.8.1
v2.8.0
v2.7.2
v2.7.0
v2.6.1
v2.6.0
v2.5.6
v.2.5.5
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.1
v2.3.0
v2.2.8
v2.2.7
v2.2.6
v2.2.2
v2.2.1
v2.2.0
v2.1.2
v2.1.0
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v1.22.1
v1.22.0
v1.21.0
v1.20.0
v1.19.0
v1.18.1
v1.18.0
v1.17.0
v1.16.0
v1.15.2
v1.15.1
v1.15.0
v1.14.4
v1.14.1
v1.14.0
v1.13.0
v1.12.2
v1.12.1
v1.12.0
v1.11.1
v1.11.0
v1.10.0
v1.9.0
v1.8.1
v1.8.0
v1.7.0
v1.6.5
v1.6.1
v1.6.0
v1.5.1
v1.5.0
v1.4.4
v1.4.3
v1.4.0
v1.3.0
v1.2.1
v1.2.0
v1.1.0
v1.0.0
v0.0.6
v0.0.5
v0.0.4
v0.0.3
v0.0.2
v0.0.1
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/android#39411
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @colemickens on GitHub (Jan 30, 2026).
Original GitHub issue: https://github.com/bitwarden/android/issues/6440
Origin
Native Application (non-browser app)
Web URL or App name
https://peanut.me
Passkey Action
Build Information
2026.1.0 (21141)
Additional Information
This has been happening for weeks. I provisioned a passkey for https://peanut.me.
Most of the time, this works great! I can login, I can sign transactions, etc. But if the network is even a tiny bit spotty, something bad happens.
For this last occurrence, I specifically pre-opened and pre-unlocked Bitwarden, then tried to trigger a transaction in Peanut, that requires a Passkey.
This is what I got:
I struggle to understand how this is not a SEVERE Android bug, or a problem with Bitwarden. Especially since I can trivially sit here and use the passkey for it, as seen in this video:
https://github.com/user-attachments/assets/5b1041f0-d505-40bf-9a22-93a8120d27cd
Issue Tracking Info
@bitwarden-bot commented on GitHub (Jan 30, 2026):
Thank you for your report! We've added this to our internal board for review.
ID: PM-31444
@colemickens commented on GitHub (Jan 30, 2026):
To further offer evidence:
@sshadminBW commented on GitHub (Jan 30, 2026):
Hi there,
I attempted to reproduce your issue and was unable to do so. I think your error could have its origin in a misconfiguration as in your screenshot you are being presented with the Google Password Manager to autofill your passkey and not Bitwarden.
I would recommend you confirm that the browser integration has been enabled for Google Chrome and that you have configured Bitwarden to autofill passwords on your device. https://bitwarden.com/help/auto-fill-android/
We use GitHub issues as a place to track bugs and other development related issues. If your issue persists, please write us back using our “Contact support” form located on our Help Center (https://bitwarden.com/help/).
You can include a link to this issue in the message content.
Alternatively, you can also search for an answer in our help documentation or get help from other Bitwarden users on our community forums (https://community.bitwarden.com/c/support/).
The issue here will be closed.
Thanks!
@colemickens commented on GitHub (Jan 30, 2026):
You didn't even read what I wrote. I explained it was sporadic. That HOW THE PASSKEY UX WORKS ON ANDROID.
Also you blew right by where I SHOWED A VIDEO OF THE PASSKEY WORKING AND IT SAYS BITWARDEN AS THE PROVIDER.
And the part where I explained it only happens sporadically
@pamperer562580892423 commented on GitHub (Jan 30, 2026):
Another user here.
I watched your video. The passkey you use (around second 13) is not a passkey from your BW vault. That is a passkey, that is stored in Google Password Manager itself. (from my own test: it depends at the least on your device, if it is stored locally on your device as a hardware-bound passkey - or in your Google account as a synced passkey)
@colemickens commented on GitHub (Jan 30, 2026):
Then there is a massive Android bug here. I have one singular passkey provision for Peanut.
I do NOT even have the Google Password manager enabled as an app, enabled in the OS, or enabled as a passkey provider.
More over, I just logged into it on my computer, with the Passkey saved in Bitwarden.
@colemickens commented on GitHub (Jan 30, 2026):
Like, I'm not sure what to tell you all, the Android passkey UI is confusing. In the blacked out part of the video BITWARDEN OPENS and I authorize it to present the Passkey.
I can film this from my MBP if I really need to.
@colemickens commented on GitHub (Jan 30, 2026):
https://github.com/user-attachments/assets/43bf2e09-39a5-4b1c-b72e-67da51f01bb9
@pamperer562580892423 commented on GitHub (Jan 30, 2026):
Just for comparison: this is how it looks like when I choose a passkey that is stored in my BW vault (Android 15, BW mobile app 2026.1.0):
@colemickens commented on GitHub (Jan 30, 2026):
As shown in the video above, my passkey is 100% coming from Bitwarden.
I am starting to wonder if Google is hijacking this in Chrome. A number of their documentation indicates that Chrome will just use Google Password Manager instead.
Which is really, really frustrating.
@colemickens commented on GitHub (Jan 30, 2026):
To further emphasize that I DO NOT use Google Password Manager, please see: which show NO provisioned accounts, and that it is disabled.
@pamperer562580892423 commented on GitHub (Jan 30, 2026):
Yeah, I saw your latest video. The unlock dialog is from Bitwarden - but the passkey you then choose is definitely not from Bitwarden.
Hm, GitHub is only for bug reports.
I think I can only say the following things now (as only another user):
@colemickens commented on GitHub (Jan 30, 2026):
As I've again shown with screenshots, I do not use Google Password Manger. I do not have a passkey provisioned with Google Password Manager. I do not think you are correct.
@colemickens commented on GitHub (Jan 30, 2026):
If the passkey were in Google Password Manager, I would not be able to login with the passkey provisioned in Bitwarden. As I just did, repeatedly, on my laptop, from Firefox.
Peanut does NOT allow more than one passkey, it's literally impossible. Like, the passkey is the private key to my wallet. It is strictly impossible for there to be two provisioned passkeys for it.
@pamperer562580892423 commented on GitHub (Jan 30, 2026):
@colemickens commented on GitHub (Jan 30, 2026):
As I just showed in the screenshots above, Google Password Manager has NO accounts nor passkeys.
I also know to check Google Password Manager (my account), and (my device). BOTH report zero accounts or passkeys. I'm happy to provide screenshots if it would help.
Furthermore, the UX changes if I lock Bitwarden, and /any/ movement through the GPM screen that we are worried about opens Bitwarden, prompts me to unlock it specifically, then when I return to GPM and click "More options", it indicates it's going to use the Passkey it discovered from Bitwarden.
@pamperer562580892423 commented on GitHub (Jan 30, 2026):
Yeah, that screen here - from your phone - would be interesting (BTW, redact your personal info if you post it - we don't need to see everything):
What would also be helpful: more infos to your device. Best thing (in general for this GitHub repository): in the Android app, go to Settings --> About --> Version --> and from there, you can copy (& paste here) all relevant device and app info.
@colemickens commented on GitHub (Jan 30, 2026):
Heh... That IS the page I showed above 😉 . It's literally empty, with the text "You'll find your Accounts and Passkeys here". haha.
But I can upload 2 new screenshots, one will have my account icon, the other will be from "the device" so you can be very, very, very sure that I have never once let a Passkey touch a Google Password Manager.
As for the version info, what app? I doubt I can screenshot the Bitwarden app. I'll try to screenshot them both, or at least provide you the version information.
EDIT: Cool, I see what you mean now - when I tap "Version" it gives me a chunk of text. Incoming...
@colemickens commented on GitHub (Jan 30, 2026):
And screenshot 1 is Google Password Manager (Cole.mickens@gmail.com). screenshot 2 is Google Password Manager (device).
Note they both show zero
accountspasswords or passkeys.@pamperer562580892423 commented on GitHub (Jan 30, 2026):
I think your screenshots only showed the "on the device" part. If you tap on the icon (top right) you can choose your Google account - and yeah, that's what I specifically meant:
What do you see, when you choose your Google account there?
@colemickens commented on GitHub (Jan 30, 2026):
No, the first screenshots up above have my Google avatar in the corner.
But regardless, the second set of screenshots show both of them completely empty of passwords+passkeys as described.
And sure I can show you this too, to show you I only have one Google account:
@pamperer562580892423 commented on GitHub (Jan 30, 2026):
Ah. Thanks!
Hmm. That really is strange then.
@pamperer562580892423 commented on GitHub (Jan 30, 2026):
And that you use Vaultwarden also makes it more complicated. Because now we also don't know, if the server-client interaction also comes into play here - and neither Bitwarden nor Vaultwarden could be sure, if either one would be involved or not.
The cleanest thing would be, to try to reproduce this with an official BW server first (self-hosted or cloud). Vaultwarden recommend this themselves here: https://github.com/dani-garcia/vaultwarden/wiki/Bitwarden-clients-troubleshooting
@colemickens commented on GitHub (Jan 30, 2026):
I will note, the UX with the Bitwarden.com account is basically identical. (That is to say, really confusing).
At this point, I am actually more suspicious of the Google Password Manager and it's role as mediator... :/
Thanks again, I'll update if I find out anything interesting. I'll probably ask the Vaultwarden people what they think too. I'd assume Passkeys are cached locally like anything else - they're not exactly stateful as far as I know?
@SaintPatrck commented on GitHub (Jan 30, 2026):
Hi @colemickens,
Could you enable Flight Recorder to capture logs when this issue manifests? I'd like to first confirm that Bitwarden is actually receiving the Passkey request in those instances where GPM shows up.
If you see "Get credential request received" in the logs you'll know that Bitwarden is receiving the request. Subsequent logs should indicate where it is failing, if it is within Bitwarden's process. If you do not see that log, it indicates GPM is somehow intercepting the request. In that case there is unfortunately little we can do since we never receive the request.
@colemickens commented on GitHub (Jan 30, 2026):
Hi @SaintPatrck,
To reiterate this, as I did on the forum:
The passkey is coming from Bitwarden.
But sure:
In the midst of the logs:
@colemickens commented on GitHub (Jan 30, 2026):
Full log here, just for good measure.
flight_recorder_2026-01-30_15-16-42.txt
@pamperer562580892423 commented on GitHub (Jan 30, 2026):
@SaintPatrck This forum thread is meant: https://community.bitwarden.com/t/android-says-no-passkeys-available-invalidly/93346
@trebory6 commented on GitHub (Mar 31, 2026):
Jumping in here to mention I'm having the same exact issue with gmail. I have a gmail email with a passkey stored in Bitwarden and I can't sign in with it because I get the same message. I figured it had more to do with gmail defaulting to the Google password manager but seeing this topic I'm not so sure.
Also, @colemickens, reading through this thread was painful watching you painstakingly show how you don't have any passkeys stored with Google, and still repeatedly not being understood or believed. You truly have way more patience than I do, I'd probably have gotten kicked off the topic within the first few messages. 😅 Know I commiserate with your frustration!
@pamperer562580892423 commented on GitHub (Mar 31, 2026):
@trebory6 It might have been shorter, if we would have known from the start, that Google Password Manager was deactivated, causing this "anomaly". (if I remember correctly) 😉
And about your issue: as Gmail is Google, it might be connected to this issue: https://github.com/bitwarden/android/issues/5506