Skip to content

@clerk/expo v3: Android AuthView treats optional fields as required, while iOS hides them #8418

@HardikPanchasaraZignuts

Description

Preliminary Checks

Reproduction

https://github.com/clerk/clerk-expo-quickstart

Publishable key

pk_test_YWNlLW1vbnN0ZXItNzcuY2xlcmsuYWNjb3VudHMuZGV2JA

Description

Reproducible with the official Clerk Expo quickstart
(https://github.com/clerk/clerk-expo-quickstart) with no additional changes.
Steps:

  1. Clone the quickstart repo
  2. Set First Name & Last Name to "Optional" in Clerk Dashboard
    (User & Authentication → Personal Information)
  3. Run npx expo prebuild --clean && npx expo run:android
  4. Sign up → reach "Profile Details" step
  5. Observe: Done button blocked until optional name fields are filled
  6. Repeat on iOS → optional name fields not shown at all

Expected Behavior (matching Web)

Optional fields should be visible but not block the submit button on all platforms.

Actual Behavior

Platform Optional fields shown Blocks button Correct?
Web ✅ Shown (labeled "Optional") ❌ No ✅ Correct
iOS (SwiftUI) ❌ Not shown at all ❌ No ❌ Bug — should show as optional
Android (Jetpack Compose) ✅ Shown ✅ Yes — blocks ❌ Bug — should not block

Summary of Bugs

  • iOS: Optional fields (First/Last name) are completely hidden —
    users have no way to fill them during sign-up
  • Android: Optional fields are shown but incorrectly block the
    "Done" button, treating them as Required
  • Root cause: Both native SDKs (SwiftUI + Jetpack Compose)
    misinterpret the "Optional" setting from the Dashboard

Environment

- @clerk/expo: 3.2.4
- expo: 54.0.33
- react-native: 0.81.5
- react: 19.1.0
- AuthView mode: signInOrUp
- Android: Physical device (tested)
- iOS: Physical device (tested)
- Clerk Dashboard: First Name & Last Name set to "Optional"
- Native components: @clerk/expo/native AuthView (beta)

Metadata

Metadata

Assignees

Labels

needs-triageA ticket that needs to be triaged by a team member

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions