When logging in using the ios app, the webauthn pop-up window cannot be used, and the blue login button cannot be displayed correctly and cannot be clicked.
At least in my case, I've been having this issue for quite long time, login in the browser and browser plug-in has no issues at all.
Vaultwarden Build Version
v1.35.7
Deployment method
Official Container Image
Custom deployment method
No response
Reverse Proxy
traefik v3.5.1
Host/Server Operating System
Linux
Operating System Version
Kubernetes / K3s
Clients
iOS
Client Version
No response
Steps To Reproduce
Set up 2fa via webauthn
Login via ios client
Logs
When the pop-up window pops up, vaultwarden will display the following log.
Originally created by @LostAttractor on GitHub (Apr 17, 2026).
Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/7107
### Prerequisites
- [x] I have searched the existing **Closed _AND_ Open** [Issues](https://github.com/dani-garcia/vaultwarden/issues?q=is%3Aissue%20) **_AND_** [Discussions](https://github.com/dani-garcia/vaultwarden/discussions?discussions_q=)
- [x] I have searched and read the [documentation](https://github.com/dani-garcia/vaultwarden/wiki/)
### Vaultwarden Support String
When logging in using the ios app, the webauthn pop-up window cannot be used, and the blue login button cannot be displayed correctly and cannot be clicked.
At least in my case, I've been having this issue for quite long time, login in the browser and browser plug-in has no issues at all.
<img width="2089" height="1440" alt="Image" src="https://github.com/user-attachments/assets/4b0744d1-f6c5-4497-b2b5-270d2c006158" />
<img width="1369" height="973" alt="Image" src="https://github.com/user-attachments/assets/1d736a2b-e05a-451a-90fb-ce5a32e1ed89" />
### Vaultwarden Build Version
v1.35.7
### Deployment method
Official Container Image
### Custom deployment method
_No response_
### Reverse Proxy
traefik v3.5.1
### Host/Server Operating System
Linux
### Operating System Version
Kubernetes / K3s
### Clients
iOS
### Client Version
_No response_
### Steps To Reproduce
1. Set up 2fa via webauthn
2. Login via ios client
### Logs
When the pop-up window pops up, vaultwarden will display the following log.
<img width="1566" height="175" alt="Image" src="https://github.com/user-attachments/assets/d1c0171b-40b7-4904-8023-00418432f580" />
GiteaMirror
added the bug label 2026-04-20 15:02:59 -05:00
That should be correct.
And what is a long time? Since when do you have these issues, because i would have expected more reports regarding this if other users had the same.
Also, could you try the current :testing tagged container, there were some small changes which might have solved it already.
<!-- gh-comment-id:4265873783 -->
@BlackDex commented on GitHub (Apr 17, 2026):
That should be correct.
And what is a long time? Since when do you have these issues, because i would have expected more reports regarding this if other users had the same.
Could you enabled the Flight Recorder function of the Bitwarden client and share the results, mainly any errors.
See https://bitwarden.com/help/flight-recorder/
Also, could you try the current `:testing` tagged container, there were some small changes which might have solved it already.
I have the same issue.
Since my English isn’t very good, I’m using AI tools along with my Bitwarden flight log and Vaultwarden data to provide additional context and help you resolve our shared issue.
My iPhone screenshot is almost identical to the one LostAttractor mentioned earlier, so I won’t go into detail here.
I'm encountering the exact same issue on the :testing tag. Here is a detailed report.
Summary
Symptom: When logging into the iOS app with WebAuthn (CanoKey) enabled, the 2FA pop-up appears but is non-interactive. The blue "Login" button remains unresponsive.
Crucial Context: The WebAuthn flow works perfectly in a browser (Edge/Safari) on the same iOS device. This isolates the issue to the iOS native client implementation, not the hardware key or server configuration.
Image Tested: vaultwarden/server:testing (Digest: ca1a2588a568). The flight recorder log provided below was captured using this exact image.
Environment
Your environment (Generated via diagnostics page)
Vaultwarden version: v1.35.7-0ed8ab68
Web-vault version: v2026.2.0
OS/Arch: linux/x86_64
Running within a container: true (Base: Debian)
Database type: SQLite
Database version: 3.51.1
Uses config.json: true
Uses a reverse proxy: true
IP Header check: true (X-Real-IP)
Internet access: true
Internet access via a proxy: false
DNS Check: true
Browser/Server Time Check: true
Server/NTP Time Check: true
Domain Configuration Check: true
HTTPS Check: true
Websocket Check: true
HTTP Response Checks: true
Config & Details (Generated via diagnostics page)
Show Config & Details
Environment settings which are overridden: DOMAIN, ADMIN_TOKEN
Given that this issue persists in the latest :testing image and does not occur in the mobile browser on the same device, this strongly suggests that the problem lies in the adaptation of the Bitwarden iOS app. Additionally, since I do not have an official Bitwarden server account, I am unable to test the behavior on the official server. If you need any additional server-side logs, I can provide them, but due to my busy academic schedule, it may take a while.
<!-- gh-comment-id:4273776988 -->
@BA-Capple commented on GitHub (Apr 18, 2026):
I have the same issue.
Since my English isn’t very good, I’m using AI tools along with my Bitwarden flight log and Vaultwarden data to provide additional context and help you resolve our shared issue.
My iPhone screenshot is almost identical to the one LostAttractor mentioned earlier, so I won’t go into detail here.
---
I'm encountering the exact same issue on the `:testing` tag. Here is a detailed report.
### Summary
- **Symptom**: When logging into the iOS app with WebAuthn (CanoKey) enabled, the 2FA pop-up appears but is **non-interactive**. The blue "Login" button remains unresponsive.
- **Crucial Context**: **The WebAuthn flow works perfectly in a browser (Edge/Safari) on the *same* iOS device.** This isolates the issue to the iOS native client implementation, not the hardware key or server configuration.
- **Image Tested**: `vaultwarden/server:testing` (Digest: `ca1a2588a568`). **The flight recorder log provided below was captured using this exact image.**
### Environment
### Your environment (Generated via diagnostics page)
* Vaultwarden version: v1.35.7-0ed8ab68
* Web-vault version: v2026.2.0
* OS/Arch: linux/x86_64
* Running within a container: true (Base: Debian)
* Database type: SQLite
* Database version: 3.51.1
* Uses config.json: true
* Uses a reverse proxy: true
* IP Header check: true (X-Real-IP)
* Internet access: true
* Internet access via a proxy: false
* DNS Check: true
* Browser/Server Time Check: true
* Server/NTP Time Check: true
* Domain Configuration Check: true
* HTTPS Check: true
* Websocket Check: true
* HTTP Response Checks: true
### Config & Details (Generated via diagnostics page)
<details><summary>Show Config & Details</summary>
**Environment settings which are overridden:** DOMAIN, ADMIN_TOKEN
**Config:**
```json
{
"_duo_akey": null,
"_enable_duo": true,
"_enable_email_2fa": false,
"_enable_smtp": false,
"_enable_yubico": true,
"_icon_service_csp": "",
"_icon_service_url": "",
"_ip_header_enabled": true,
"_max_note_size": 10000,
"_smtp_img_src": "***:",
"admin_ratelimit_max_burst": 3,
"admin_ratelimit_seconds": 300,
"admin_session_lifetime": 20,
"admin_token": "***",
"allowed_connect_src": "",
"allowed_iframe_ancestors": "",
"attachments_folder": "data/attachments",
"auth_request_purge_schedule": "30 * * * * *",
"authenticator_disable_time_drift": false,
"data_folder": "data",
"database_conn_init": "",
"database_idle_timeout": 600,
"database_max_conns": 10,
"database_min_conns": 2,
"database_timeout": 30,
"database_url": "***************",
"db_connection_retries": 15,
"disable_2fa_remember": false,
"disable_admin_token": false,
"disable_icon_download": false,
"dns_prefer_ipv6": false,
"domain": "*****://*********************",
"domain_origin": "*****://*********************",
"domain_path": "",
"domain_set": true,
"duo_context_purge_schedule": "30 * * * * *",
"duo_host": null,
"duo_ikey": null,
"duo_skey": null,
"duo_use_iframe": false,
"email_2fa_auto_fallback": false,
"email_2fa_enforce_on_verified_invite": false,
"email_attempts_limit": 3,
"email_change_allowed": true,
"email_expiration_time": 600,
"email_token_size": 6,
"emergency_access_allowed": true,
"emergency_notification_reminder_schedule": "0 3 * * * *",
"emergency_request_timeout_schedule": "0 7 * * * *",
"enable_db_wal": true,
"enable_websocket": true,
"enforce_single_org_with_reset_pw_policy": false,
"event_cleanup_schedule": "0 10 0 * * *",
"events_days_retain": null,
"experimental_client_feature_flags": "",
"extended_logging": true,
"helo_name": null,
"hibp_api_key": null,
"http_request_block_non_global_ips": true,
"http_request_block_regex": null,
"icon_blacklist_non_global_ips": true,
"icon_blacklist_regex": null,
"icon_cache_folder": "data/icon_cache",
"icon_cache_negttl": 259200,
"icon_cache_ttl": 2592000,
"icon_download_timeout": 10,
"icon_redirect_code": 302,
"icon_service": "internal",
"incomplete_2fa_schedule": "30 * * * * *",
"incomplete_2fa_time_limit": 3,
"increase_note_size_limit": false,
"invitation_expiration_hours": 120,
"invitation_org_name": "Vaultwarden",
"invitations_allowed": false,
"ip_header": "X-Real-IP",
"job_poll_interval_ms": 30000,
"log_file": null,
"log_level": "info",
"log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f",
"login_ratelimit_max_burst": 10,
"login_ratelimit_seconds": 60,
"org_attachment_limit": null,
"org_creation_users": "",
"org_events_enabled": false,
"org_groups_enabled": false,
"password_hints_allowed": true,
"password_iterations": 600000,
"purge_incomplete_sso_auth": "0 20 0 * * *",
"push_enabled": false,
"push_identity_uri": "https://identity.bitwarden.com",
"push_installation_id": "***",
"push_installation_key": "***",
"push_relay_uri": "https://push.bitwarden.com",
"reload_templates": false,
"require_device_email": false,
"rsa_key_filename": "data/rsa_key",
"send_purge_schedule": "0 5 * * * *",
"sendmail_command": null,
"sends_allowed": true,
"sends_folder": "data/sends",
"show_password_hint": false,
"signups_allowed": false,
"signups_domains_whitelist": "",
"signups_verify": false,
"signups_verify_resend_limit": 6,
"signups_verify_resend_time": 3600,
"smtp_accept_invalid_certs": false,
"smtp_accept_invalid_hostnames": false,
"smtp_auth_mechanism": null,
"smtp_debug": false,
"smtp_embed_images": true,
"smtp_explicit_tls": null,
"smtp_from": "",
"smtp_from_name": "***********",
"smtp_host": null,
"smtp_password": null,
"smtp_port": 587,
"smtp_security": "starttls",
"smtp_ssl": null,
"smtp_timeout": 15,
"smtp_username": null,
"sso_allow_unknown_email_verification": false,
"sso_audience_trusted": null,
"sso_auth_only_not_session": false,
"sso_authority": "",
"sso_authorize_extra_params": "",
"sso_callback_path": "*****://**************************************************",
"sso_client_cache_expiration": 0,
"sso_client_id": "",
"sso_client_secret": "***",
"sso_debug_tokens": false,
"sso_enabled": false,
"sso_master_password_policy": null,
"sso_only": false,
"sso_pkce": true,
"sso_scopes": "email profile",
"sso_signups_match_email": true,
"templates_folder": "data/templates",
"tmp_folder": "data/tmp",
"trash_auto_delete_days": null,
"trash_purge_schedule": "0 5 0 * * *",
"use_sendmail": false,
"use_syslog": false,
"user_attachment_limit": null,
"user_send_limit": null,
"web_vault_enabled": true,
"web_vault_folder": "web-vault/",
"yubico_client_id": null,
"yubico_secret_key": null,
"yubico_server": null
}
```
</details>
### Flight Recorder Log (iOS Client)
Bitwarden iOS Flight Recorder
🕒 Log Start: 2026-04-18T21:02:08+08:00
⏳ Log Duration: 1h
📝 Bitwarden 2026.3.1 (3062)
📦 Bundle: com.8bit.bitwarden
📱 Device: iPhone18,3
🍏 System: iOS 26.3.1
🦀 SDK: 2.0.0-4735-26e2b10
🧱 Commit: bitwarden/ios/release/2026.3-rc45@38c8ad14567bf9aed197861bc1fcfcaa9b438e4d
💻 Build Source: bitwarden/ios/actions/runs/23565719717/attempts/1
👤 User ID: n/a
2026-04-18T21:02:08+08:00: [Navigation] View dismissed: EnableFlightRecorderView
2026-04-18T21:02:08+08:00: Response B60C2CDC-8CD3-4823-99ED-DA1F5A8677DF: https://ddns.**.top:14433/api/config 200
2026-04-18T21:02:11+08:00: [Navigation] View appeared: SettingsView
2026-04-18T21:02:12+08:00: [Navigation] View dismissed: SettingsView
2026-04-18T21:02:13+08:00: Request 5256F8A1-A3C1-490A-AD5F-ECCF7EB73ABA: GET https://ddns.c**.top:14433/api/devices/knowndevice
2026-04-18T21:02:13+08:00: Response 5256F8A1-A3C1-490A-AD5F-ECCF7EB73ABA: https://ddns.c****.top:14433/api/devices/knowndevice 200
2026-04-18T21:02:14+08:00: [Navigation] View appeared: LoginView
2026-04-18T21:02:19+08:00: Request 3198EEAA-885C-4EE7-97A2-8157B32E4C73: POST https://ddns.**e.top:14433/identity/accounts/prelogin
2026-04-18T21:02:19+08:00: Response 3198EEAA-885C-4EE7-97A2-8157B32E4C73: https://ddns.**.top:14433/identity/accounts/prelogin 200
2026-04-18T21:02:19+08:00: Request A912D3D5-5810-40F6-91EC-BFCA229C1C33: POST https://ddns.c***e.top:14433/identity/connect/token
2026-04-18T21:02:19+08:00: Response A912D3D5-5810-40F6-91EC-BFCA229C1C33: https://ddns.***.top:14433/identity/connect/token 400
2026-04-18T21:02:19+08:00: [Navigation] View appeared: TwoFactorAuthView
2026-04-18T21:02:34+08:00: [Navigation] View dismissed: TwoFactorAuthView
2026-04-18T21:02:41+08:00: Request 86A9E345-677F-445F-A4F1-47A864B83F17: GET https://ddns.**.top:14433/api/config
2026-04-18T21:02:41+08:00: Response 86A9E345-677F-445F-A4F1-47A864B83F17: https://ddns.**.top:14433/api/config 200
2026-04-18T21:02:42+08:00: [Navigation] View appeared: LandingView
2026-04-18T21:02:42+08:00: [Navigation] View appeared: SettingsView
2026-04-18T21:02:42+08:00: Error: noActiveAccount
0 Bitwarden 0x0000000102daab48 Bitwarden + 27464
1 BitwardenShared 0x0000000103658b10 block_destroy_helper + 105136
2 BitwardenShared 0x000000010321a529 __swift_memcpy1_1 + 6169
3 BitwardenShared 0x000000010339601d objectdestroyTm + 43153
4 BitwardenShared 0x000000010321f519 objectdestroyTm + 1133
5 libswift_Concurrency.dylib 0x000000019dad87d1 BD47057B-7F76-39EF-93C5-8C00B9914832 + 444369
2026-04-18T21:02:44+08:00: [Navigation] View appeared: AboutView
2026-04-18T21:02:45+08:00: [Navigation] View appeared: FlightRecorderLogsView
*Log captured during a failed login attempt while running the `:testing` server image.*
### Conclusion
Given that this issue persists in the latest `:testing` image and **does not occur in the mobile browser on the same device**, this strongly suggests that the problem lies in the adaptation of the Bitwarden iOS app. Additionally, since I do not have an official Bitwarden server account, I am unable to test the behavior on the official server. If you need any additional server-side logs, I can provide them, but due to my busy academic schedule, it may take a while.
---
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.
Originally created by @LostAttractor on GitHub (Apr 17, 2026).
Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/7107
Prerequisites
Vaultwarden Support String
When logging in using the ios app, the webauthn pop-up window cannot be used, and the blue login button cannot be displayed correctly and cannot be clicked.
At least in my case, I've been having this issue for quite long time, login in the browser and browser plug-in has no issues at all.
Vaultwarden Build Version
v1.35.7
Deployment method
Official Container Image
Custom deployment method
No response
Reverse Proxy
traefik v3.5.1
Host/Server Operating System
Linux
Operating System Version
Kubernetes / K3s
Clients
iOS
Client Version
No response
Steps To Reproduce
Logs
When the pop-up window pops up, vaultwarden will display the following log.
@BlackDex commented on GitHub (Apr 17, 2026):
That should be correct.
And what is a long time? Since when do you have these issues, because i would have expected more reports regarding this if other users had the same.
Could you enabled the Flight Recorder function of the Bitwarden client and share the results, mainly any errors.
See https://bitwarden.com/help/flight-recorder/
Also, could you try the current
:testingtagged container, there were some small changes which might have solved it already.@BA-Capple commented on GitHub (Apr 18, 2026):
I have the same issue.
Since my English isn’t very good, I’m using AI tools along with my Bitwarden flight log and Vaultwarden data to provide additional context and help you resolve our shared issue.
My iPhone screenshot is almost identical to the one LostAttractor mentioned earlier, so I won’t go into detail here.
I'm encountering the exact same issue on the
:testingtag. Here is a detailed report.Summary
vaultwarden/server:testing(Digest:ca1a2588a568). The flight recorder log provided below was captured using this exact image.Environment
Your environment (Generated via diagnostics page)
Config & Details (Generated via diagnostics page)
Show Config & Details
Environment settings which are overridden: DOMAIN, ADMIN_TOKEN
Config:
Flight Recorder Log (iOS Client)
Bitwarden iOS Flight Recorder
🕒 Log Start: 2026-04-18T21:02:08+08:00
⏳ Log Duration: 1h
📝 Bitwarden 2026.3.1 (3062)
📦 Bundle: com.8bit.bitwarden
📱 Device: iPhone18,3
🍏 System: iOS 26.3.1
🦀 SDK: 2.0.0-4735-26e2b10
🧱 Commit: bitwarden/ios/release/2026.3-rc45@38c8ad14567bf9aed197861bc1fcfcaa9b438e4d
💻 Build Source: bitwarden/ios/actions/runs/23565719717/attempts/1
👤 User ID: n/a
2026-04-18T21:02:08+08:00: [Navigation] View dismissed: EnableFlightRecorderView
2026-04-18T21:02:08+08:00: Response B60C2CDC-8CD3-4823-99ED-DA1F5A8677DF: https://ddns..top:14433/api/config 200
2026-04-18T21:02:11+08:00: [Navigation] View appeared: SettingsView
2026-04-18T21:02:12+08:00: [Navigation] View dismissed: SettingsView
2026-04-18T21:02:13+08:00: Request 5256F8A1-A3C1-490A-AD5F-ECCF7EB73ABA: GET https://ddns.c.top:14433/api/devices/knowndevice
2026-04-18T21:02:13+08:00: Response 5256F8A1-A3C1-490A-AD5F-ECCF7EB73ABA: https://ddns.c****.top:14433/api/devices/knowndevice 200
2026-04-18T21:02:14+08:00: [Navigation] View appeared: LoginView
2026-04-18T21:02:19+08:00: Request 3198EEAA-885C-4EE7-97A2-8157B32E4C73: POST https://ddns.e.top:14433/identity/accounts/prelogin
2026-04-18T21:02:19+08:00: Response 3198EEAA-885C-4EE7-97A2-8157B32E4C73: https://ddns..top:14433/identity/accounts/prelogin 200
2026-04-18T21:02:19+08:00: Request A912D3D5-5810-40F6-91EC-BFCA229C1C33: POST https://ddns.ce.top:14433/identity/connect/token
2026-04-18T21:02:19+08:00: Response A912D3D5-5810-40F6-91EC-BFCA229C1C33: https://ddns..top:14433/identity/connect/token 400
2026-04-18T21:02:19+08:00: [Navigation] View appeared: TwoFactorAuthView
2026-04-18T21:02:34+08:00: [Navigation] View dismissed: TwoFactorAuthView
2026-04-18T21:02:41+08:00: Request 86A9E345-677F-445F-A4F1-47A864B83F17: GET https://ddns..top:14433/api/config
2026-04-18T21:02:41+08:00: Response 86A9E345-677F-445F-A4F1-47A864B83F17: https://ddns..top:14433/api/config 200
2026-04-18T21:02:42+08:00: [Navigation] View appeared: LandingView
2026-04-18T21:02:42+08:00: [Navigation] View appeared: SettingsView
2026-04-18T21:02:42+08:00: Error: noActiveAccount
0 Bitwarden 0x0000000102daab48 Bitwarden + 27464
1 BitwardenShared 0x0000000103658b10 block_destroy_helper + 105136
2 BitwardenShared 0x000000010321a529 __swift_memcpy1_1 + 6169
3 BitwardenShared 0x000000010339601d objectdestroyTm + 43153
4 BitwardenShared 0x000000010321f519 objectdestroyTm + 1133
5 libswift_Concurrency.dylib 0x000000019dad87d1 BD47057B-7F76-39EF-93C5-8C00B9914832 + 444369
2026-04-18T21:02:44+08:00: [Navigation] View appeared: AboutView
2026-04-18T21:02:45+08:00: [Navigation] View appeared: FlightRecorderLogsView
Log captured during a failed login attempt while running the
:testingserver image.Conclusion
Given that this issue persists in the latest
:testingimage and does not occur in the mobile browser on the same device, this strongly suggests that the problem lies in the adaptation of the Bitwarden iOS app. Additionally, since I do not have an official Bitwarden server account, I am unable to test the behavior on the official server. If you need any additional server-side logs, I can provide them, but due to my busy academic schedule, it may take a while.