@tauri-apps/plugin-deep-link
function getCurrent(): Promise<string[] | null>
Get the current URLs that triggered the deep link. Use this on app load to check whether your app was started via a deep link.
Promise
<string
[] | null
>
import { getCurrent } from '@tauri-apps/plugin-deep-link';const urls = await getCurrent();
- Windows / Linux: This function reads the command line arguments and checks if there’s only one value, which must be an URL with scheme matching one of the configured values.
Section titled “- Windows / Linux: This function reads the command line arguments and checks if there’s only one value, which must be an URL with scheme matching one of the configured values.”Note that you must manually check the arguments when registering deep link schemes dynamically with [Self::register
].
Additionally, the deep link might have been provided as a CLI argument so you should check if its format matches what you expect..
2.0.0
Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/deep-link/guest-js/index.ts#L23
function isRegistered(protocol): Promise<boolean>
Check whether the app is the default handler for the specified protocol.
Parameter | Type | Description |
---|---|---|
protocol | string | The name of the protocol without :// . |
Promise
<boolean
>
import { isRegistered } from '@tauri-apps/plugin-deep-link';await isRegistered("my-scheme");
2.0.0
Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/deep-link/guest-js/index.ts#L80
function onOpenUrl(handler): Promise<UnlistenFn>
Helper function for the deep-link://new-url
event to run a function each time the protocol is triggered while the app is running. Use getCurrent
on app load to check whether your app was started via a deep link.
Parameter | Type |
---|---|
handler | (urls ) => void |
Promise
<UnlistenFn
>
import { onOpenUrl } from '@tauri-apps/plugin-deep-link';await onOpenUrl((urls) => { console.log(urls) });
- Windows / Linux: Unsupported without the single-instance plugin. The OS will spawn a new app instance passing the URL as a CLI argument.
Section titled “- Windows / Linux: Unsupported without the single-instance plugin. The OS will spawn a new app instance passing the URL as a CLI argument.”2.0.0
Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/deep-link/guest-js/index.ts#L99
function register(protocol): Promise<null>
Register the app as the default handler for the specified protocol.
Parameter | Type | Description |
---|---|---|
protocol | string | The name of the protocol without :// . For example, if you want your app to handle tauri:// links, call this method with tauri as the protocol. |
Promise
<null
>
import { register } from '@tauri-apps/plugin-deep-link';await register("my-scheme");
2.0.0
Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/deep-link/guest-js/index.ts#L42
function unregister(protocol): Promise<null>
Unregister the app as the default handler for the specified protocol.
Parameter | Type | Description |
---|---|---|
protocol | string | The name of the protocol without :// . |
Promise
<null
>
import { unregister } from '@tauri-apps/plugin-deep-link';await unregister("my-scheme");
- macOS / Linux / Android / iOS: Unsupported.
Section titled “- macOS / Linux / Android / iOS: Unsupported.”2.0.0
Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/deep-link/guest-js/index.ts#L61
© 2025 Tauri Contributors. CC-BY / MIT