You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)
This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.
Reproduction
I've provided a replay instead of a reproduction
Publishable key
pk_live_Y2xlcmsuZGhhd2FsLmNvLmluJA
Description
Steps to reproduce:
Open an Expo app using @clerk/expo and render AuthView on Android.
Focus the email input field.
Press the return/enter key on the keyboard.
Press it a few more times and continue typing.
Expected behavior:
The email input should behave like a standard single-line email field.
Pressing return should dismiss the keyboard, submit, or otherwise trigger a normal single-line input action.
It should not insert newline characters into the email field.
Actual behavior:
On Android, pressing return inserts a newline into the email input instead of dismissing the keyboard.
The field accepts multiple newline characters.
You can continue typing after the newline.
This makes the email input behave like a multiline field, which seems incorrect for an email input.
On iOS, pressing return closes the keyboard, which seems like the correct behavior.
Screen.Recording.2026-04-17.at.2.51.55.pm.mov
NOTE: Separate issue, but possibly worth noting: tapping outside the input does not dismiss the keyboard on either iOS or Android.
Preliminary Checks
I have reviewed the documentation: https://clerk.com/docs
I have searched for existing issues: https://github.com/clerk/javascript/issues
I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)
This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.
Reproduction
I've provided a replay instead of a reproduction
Publishable key
pk_live_Y2xlcmsuZGhhd2FsLmNvLmluJA
Description
Steps to reproduce:
@clerk/expoand renderAuthViewon Android.Expected behavior:
The email input should behave like a standard single-line email field.
Actual behavior:
On Android, pressing return inserts a newline into the email input instead of dismissing the keyboard.
On iOS, pressing return closes the keyboard, which seems like the correct behavior.
Screen.Recording.2026-04-17.at.2.51.55.pm.mov
NOTE: Separate issue, but possibly worth noting: tapping outside the input does not dismiss the keyboard on either iOS or Android.
Environment
❯ pnpm dlx envinfo --system --browsers --binaries --npmPackages System: OS: macOS 26.4.1 CPU: (8) arm64 Apple M3 Memory: 251.42 MB / 16.00 GB Shell: 5.9 - /bin/zsh Binaries: Node: 24.13.0 - /Users/arishi/.local/state/fnm_multishells/1237_1776390715701/bin/node npm: 11.12.1 - /Users/arishi/.local/state/fnm_multishells/1237_1776390715701/bin/npm pnpm: 10.33.0 - /Users/arishi/.local/state/fnm_multishells/1237_1776390715701/bin/pnpm bun: 1.3.12 - /opt/homebrew/bin/bun Watchman: 2026.03.30.00 - /opt/homebrew/bin/watchman Browsers: Chrome: 147.0.7727.56 Safari: 26.4 npmPackages: @clerk/expo: ^3.2.0 => 3.2.0 @expo-google-fonts/inter: ^0.4.2 => 0.4.2 @expo-google-fonts/jetbrains-mono: ^0.4.1 => 0.4.1 @expo-google-fonts/plus-jakarta-sans: ^0.4.2 => 0.4.2 @expo/ui: ~55.0.11 => 55.0.11 @expo/vector-icons: ^15.1.1 => 15.1.1 @gorhom/bottom-sheet: ^5.2.9 => 5.2.9 @inkjs/ui: ^2.0.0 => 2.0.0 @openai/codex-sdk: ^0.121.0 => 0.121.0 @react-native-community/datetimepicker: 8.6.0 => 8.6.0 @react-native-masked-view/masked-view: 0.3.2 => 0.3.2 @react-navigation/bottom-tabs: ^7.15.9 => 7.15.9 @react-navigation/elements: ^2.9.14 => 2.9.14 @react-navigation/native: ^7.2.2 => 7.2.2 @repo/server: workspace:* => undefined @sentry/react-native: ^8.8.0 => 8.8.0 @tanstack/react-form: ^1.29.0 => 1.29.0 @tanstack/react-query: ^5.99.0 => 5.99.0 @trivago/prettier-plugin-sort-imports: ^6.0.2 => 6.0.2 @trpc/client: ^11.16.0 => 11.16.0 @trpc/tanstack-react-query: ^11.16.0 => 11.16.0 @types/big.js: ^6.2.2 => 6.2.2 @types/node: ^25.6.0 => 25.6.0 @types/react: ~19.2.14 => 19.2.14 @types/yargs: ^17.0.35 => 17.0.35 big.js: ^7.0.1 => 7.0.1 date-fns: ^4.1.0 => 4.1.0 eslint: ^9.39.4 => 9.39.4 eslint-config-expo: ~55.0.0 => 55.0.0 eslint-config-prettier: ^10.1.8 => 10.1.8 expo: ~55.0.15 => 55.0.15 expo-application: ^55.0.14 => 55.0.14 expo-auth-session: ~55.0.14 => 55.0.14 expo-blur: ~55.0.14 => 55.0.14 expo-build-properties: ~55.0.13 => 55.0.13 expo-constants: ~55.0.14 => 55.0.14 expo-crypto: ~55.0.14 => 55.0.14 expo-dev-client: ~55.0.27 => 55.0.27 expo-device: ~55.0.15 => 55.0.15 expo-font: ~55.0.6 => 55.0.6 expo-glass-effect: ~55.0.10 => 55.0.10 expo-haptics: ~55.0.14 => 55.0.14 expo-image: ~55.0.8 => 55.0.8 expo-insights: ~55.0.16 => 55.0.16 expo-linear-gradient: ~55.0.13 => 55.0.13 expo-linking: ~55.0.13 => 55.0.13 expo-network: ~55.0.13 => 55.0.13 expo-router: ~55.0.12 => 55.0.12 expo-secure-store: ~55.0.13 => 55.0.13 expo-splash-screen: ~55.0.18 => 55.0.18 expo-status-bar: ~55.0.5 => 55.0.5 expo-symbols: ~55.0.7 => 55.0.7 expo-system-ui: ~55.0.15 => 55.0.15 expo-updates: ~55.0.20 => 55.0.20 expo-web-browser: ~55.0.14 => 55.0.14 heroui-native: ^1.0.2 => 1.0.2 ink: ^7.0.0 => 7.0.0 prettier: ^3.8.3 => 3.8.3 prettier-plugin-tailwindcss: ^0.7.2 => 0.7.2 react: 19.2.0 => 19.2.0 react-devtools-core: ^7.0.1 => 7.0.1 react-dom: 19.2.0 => 19.2.0 react-native: 0.83.4 => 0.83.4 react-native-easing-gradient: ^1.1.1 => 1.1.1 react-native-gesture-handler: ~2.30.1 => 2.30.1 react-native-keyboard-controller: ~1.20.7 => 1.20.7 react-native-reanimated: 4.2.3 => 4.2.3 react-native-safe-area-context: ~5.6.2 => 5.6.2 react-native-screens: ~4.24.0 => 4.24.0 react-native-svg: 15.15.3 => 15.15.3 react-native-web: ~0.21.2 => 0.21.2 react-native-worklets: 0.7.2 => 0.7.2 superjson: ^2.2.6 => 2.2.6 tailwind-merge: ^3.5.0 => 3.5.0 tailwind-variants: ^3.2.2 => 3.2.2 tailwindcss: ^4.2.2 => 4.2.2 tsx: ^4.21.0 => 4.21.0 typescript: ~5.9.3 => 5.9.3 uniwind: ^1.6.2 => 1.6.2 yargs: ^18.0.0 => 18.0.0 zod: ^4.3.6 => 4.3.6