Opener
このコンテンツはまだ日本語訳がありません。
This plugin allows you to open files and URLs in a specified, or the default, application. It also supports “revealing” files in the system’s file explorer.
Supported Platforms
This plugin requires a Rust version of at least 1.77.2
Platform | Level | Notes |
---|---|---|
windows | ||
linux | ||
macos | ||
android | | Only allows to open URLs via |
ios | | Only allows to open URLs via |
Setup
Install the opener plugin to get started.
Use your project’s package manager to add the dependency:
npm run tauri add opener
yarn run tauri add opener
pnpm tauri add opener
deno task tauri add opener
bun tauri add opener
cargo tauri add opener
-
Run the following command in the
src-tauri
folder to add the plugin to the project’s dependencies inCargo.toml
:cargo add tauri-plugin-opener -
Modify
lib.rs
to initialize the plugin:src-tauri/src/lib.rs #[cfg_attr(mobile, tauri::mobile_entry_point)]pub fn run() {tauri::Builder::default().plugin(tauri_plugin_opener::init()).run(tauri::generate_context!()).expect("error while running tauri application");} -
Install the JavaScript Guest bindings using your preferred JavaScript package manager:
npm install @tauri-apps/plugin-openeryarn add @tauri-apps/plugin-openerpnpm add @tauri-apps/plugin-openerdeno add npm:@tauri-apps/plugin-openerbun add @tauri-apps/plugin-opener
Usage
The shell plugin is available in both JavaScript and Rust.
import { openPath } from '@tauri-apps/plugin-opener';// when using `"withGlobalTauri": true`, you may use// const { openPath } = window.__TAURI__.opener;
// opens a file using the default program:await openPath('/path/to/file');// opens a file using `vlc` command on Windows:await openPath('C:/path/to/file', 'vlc');
Note that app
is an instance of App
or AppHandle
.
use tauri_plugin_opener::OpenerExt;
// opens a file using the default program:app.opener().open_path("/path/to/file", None::<&str>);// opens a file using `vlc` command on Windows:app.opener().open_path("C:/path/to/file", Some("vlc"));
Permissions
By default all potentially dangerous plugin commands and scopes are blocked and cannot be accessed. You must modify the permissions in your capabilities
configuration to enable these.
See the Capabilities Overview for more information and the step by step guide to use plugin permissions.
{ "$schema": "../gen/schemas/desktop-schema.json", "identifier": "main-capability", "description": "Capability for the main window", "windows": ["main"], "permissions": [ { "identifier": "opener:allow-open-path", "allow": [ { "path": "/path/to/file" } ] } ]}
Default Permission
This permission set allows opening mailto:
, tel:
, https://
and http://
urls using their default application
as well as reveal file in directories using default file explorer
allow-open-url
allow-reveal-item-in-dir
allow-default-urls
Permission Table
Identifier | Description |
---|---|
|
This enables opening |
|
Enables the open_path command without any pre-configured scope. |
|
Denies the open_path command without any pre-configured scope. |
|
Enables the open_url command without any pre-configured scope. |
|
Denies the open_url command without any pre-configured scope. |
|
Enables the reveal_item_in_dir command without any pre-configured scope. |
|
Denies the reveal_item_in_dir command without any pre-configured scope. |
© 2025 Tauri Contributors. CC-BY / MIT