Minimal reproducible example
https://github.com/sezergec/issue-for-expo.git
Steps to reproduce
I have structured my app as follows:
app/_layout.tsx: Contains the global backgroundImage and a Stack.
app/(auth)/_layout.tsx: Uses a Stack.
app/(protected)/_layout.tsx: Uses a Stack.
app/(protected)/(tabs)/_layout.tsx: Uses unstable-native-tabs.
When configured this way, none of the files under the (tabs) directory can access or display the backgroundImage. This is because unstable-native-tabs creates an opaque native layer that blocks the background image from the root layout.
Environment
expo-env-info 2.0.12 environment info:
System:
OS: macOS 26.2
Shell: 5.9 - /bin/zsh
Binaries:
Node: 24.14.1 - /opt/homebrew/bin/node
npm: 11.12.1 - /opt/homebrew/bin/npm
Managers:
CocoaPods: 1.16.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 25.2, iOS 26.2, macOS 26.2, tvOS 26.2, visionOS 26.2, watchOS 26.2
IDEs:
Android Studio: 2025.1 AI-251.25410.109.2511.13752376
Xcode: 26.2/17C52 - /usr/bin/xcodebuild
npmPackages:
expo: ~55.0.15 => 55.0.15
expo-router: ~55.0.12 => 55.0.12
expo-updates: ~55.0.20 => 55.0.20
react: 19.2.0 => 19.2.0
react-dom: 19.2.0 => 19.2.0
react-native: 0.83.4 => 0.83.4
npmGlobalPackages:
eas-cli: 18.6.0
Expo Workflow: managed
Expo Doctor Diagnostics
... % npx expo-doctor@latest
17/17 checks passed. No issues detected!
Minimal reproducible example
https://github.com/sezergec/issue-for-expo.git
Steps to reproduce
I have structured my app as follows:
app/_layout.tsx: Contains the global backgroundImage and a Stack.
app/(auth)/_layout.tsx: Uses a Stack.
app/(protected)/_layout.tsx: Uses a Stack.
app/(protected)/(tabs)/_layout.tsx: Uses unstable-native-tabs.
When configured this way, none of the files under the (tabs) directory can access or display the backgroundImage. This is because unstable-native-tabs creates an opaque native layer that blocks the background image from the root layout.
Environment
Expo Doctor Diagnostics