Describe the bug
When calling open(url) or open(url, 'chromium') from @tauri-apps/plugin-shell on mobile (Android and iOS), the link opens inside an in‑app webview overlay instead of the system browser. This webview has no back button, address bar, or close controls. The system back gesture dismisses the entire app rather than navigating back, leaving the user stuck on the external page with no way to return to the app.
Reproduction
- Create a Tauri v2 mobile project with
shell:allow-open permission granted in tauri.conf.json.
- In a React component, call:
import { open } from '@tauri-apps/plugin-shell';
await open('https://example.com');
- Build and run on an Android device/emulator or iOS device.
- Click the link. The in‑app webview appears.
- Attempt to return to the app using the system back gesture → app closes completely.
Expected behavior
Expected behavior
Links should open in the device's default external browser (Chrome, Safari, etc.) when { target: '_blank' } or a browser‑specific target is specified, allowing the user to easily switch back to the app.
Actual behavior
- The URL loads in an in‑app webview that overlays the entire screen.
- No back button or navigation UI is present.
- Swiping back closes the entire Tauri application instead of dismissing the webview.
- This happens regardless of whether
'chromium', 'safari', or no second argument is passed
Full tauri info output
npm run tauri info
> just-dare@0.0.0 tauri
> tauri info
[✔] Environment
- OS: Windows 10.0.26200 x86_64 (X64)
✔ WebView2: 147.0.3912.72
✔ MSVC: Visual Studio Community 2022
✔ rustc: 1.93.1 (01f6ddf75 2026-02-11)
✔ cargo: 1.93.1 (083ac5135 2025-12-15)
✔ rustup: 1.28.2 (e4f3ad6f8 2025-04-28)
✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
- node: 24.13.0
- npm: 11.12.1
[-] Packages
- tauri 🦀: 2.10.3
- tauri-build 🦀: 2.5.6
- wry 🦀: 0.54.2, (outdated, latest: 0.55.0)
- tao 🦀: 0.34.8
- tauri-cli 🦀: 2.5.0 (outdated, latest: 2.10.1)
- @tauri-apps/api : 2.10.1
- @tauri-apps/cli : 2.5.0 (outdated, latest: 2.10.1)
[-] Plugins
- tauri-plugin-os 🦀: 2.3.2
- @tauri-apps/plugin-os : 2.3.2
- tauri-plugin-opener 🦀: 2.5.3
- @tauri-apps/plugin-opener : 2.5.3
- tauri-plugin-notification 🦀: 2.2.2, (outdated, latest: 2.3.3)
- @tauri-apps/plugin-notification : 2.2.2 (outdated, latest: 2.3.3)
- tauri-plugin-barcode-scanner 🦀: 2.4.4
- @tauri-apps/plugin-barcode-scanner : 2.4.4
- tauri-plugin-store 🦀: 2.2.0, (outdated, latest: 2.4.2)
- @tauri-apps/plugin-store : 2.2.0 (outdated, latest: 2.4.2)
- tauri-plugin-dialog 🦀: 2.7.0
- @tauri-apps/plugin-dialog : 2.7.0
- tauri-plugin-shell 🦀: 2.3.5
- @tauri-apps/plugin-shell : 2.3.5
- tauri-plugin-clipboard-manager 🦀: 2.2.2, (outdated, latest: 2.3.2)
- @tauri-apps/plugin-clipboard-manager : 2.2.2 (outdated, latest: 2.3.2)
- tauri-plugin-log 🦀: 2.4.0, (outdated, latest: 2.8.0)
- @tauri-apps/plugin-log : 2.4.0 (outdated, latest: 2.8.0)
- tauri-plugin-fs 🦀: 2.5.0
- @tauri-apps/plugin-fs : not installed!
[-] App
- build-type: bundle
- CSP: default-src 'self'; img-src 'self' data: blob: https://ipfs.io; media-src 'self' data: blob:; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; connect-src 'self' ipc: http://ipc.localhost https://ipc.localhost https://tauri.localhost https://ipfs.io; camera 'self'; microphone 'self'
- frontendDist: ../dist
- devUrl: http://127.0.0.1:1460/
- framework: React
- bundler: Vite
Stack trace
Additional context
No response
Describe the bug
When calling
open(url)oropen(url, 'chromium')from@tauri-apps/plugin-shellon mobile (Android and iOS), the link opens inside an in‑app webview overlay instead of the system browser. This webview has no back button, address bar, or close controls. The system back gesture dismisses the entire app rather than navigating back, leaving the user stuck on the external page with no way to return to the app.Reproduction
shell:allow-openpermission granted intauri.conf.json.Expected behavior
Expected behavior
Links should open in the device's default external browser (Chrome, Safari, etc.) when
{ target: '_blank' }or a browser‑specific target is specified, allowing the user to easily switch back to the app.Actual behavior
'chromium','safari', or no second argument is passedFull
tauri infooutputStack trace
Additional context
No response