Skip to content
Tauri

@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();

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.

ParameterTypeDescription
protocolstringThe 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.

ParameterType
handler(urls) => void

Promise<UnlistenFn>

import { onOpenUrl } from '@tauri-apps/plugin-deep-link';
await onOpenUrl((urls) => { console.log(urls) });

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.

ParameterTypeDescription
protocolstringThe 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.

ParameterTypeDescription
protocolstringThe name of the protocol without ://.

Promise<null>

import { unregister } from '@tauri-apps/plugin-deep-link';
await unregister("my-scheme");

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