@tauri-apps/api/event
The event system allows you to emit events to the backend and listen to events from it.
This package is also accessible with window.__TAURI__.event when app.withGlobalTauri in tauri.conf.json is set to true.
Functions
Section titled “Functions”emit()
Section titled “emit()”function emit<T>(event: string, payload?: T): Promise<void>;Defined in: packages/api/src/event.ts:188
Emits an event to all targets.
Example
Section titled “Example”import { emit } from '@tauri-apps/api/event';await emit('frontend-loaded', { loggedIn: true, token: 'authToken' });Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
T |
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
event |
string |
Event name. Must include only alphanumeric characters, -, /, : and _. |
payload? |
T |
Event payload. |
Returns
Section titled “Returns”1.0.0
emitTo()
Section titled “emitTo()”function emitTo<T>( target: string | EventTarget, event: string,payload?: T): Promise<void>;Defined in: packages/api/src/event.ts:210
Emits an event to all targets matching the given target.
Example
Section titled “Example”import { emitTo } from '@tauri-apps/api/event';await emitTo('main', 'frontend-loaded', { loggedIn: true, token: 'authToken' });Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
T |
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
target |
| string | EventTarget |
Label of the target Window/Webview/WebviewWindow or raw EventTarget object. |
event |
string |
Event name. Must include only alphanumeric characters, -, /, : and _. |
payload? |
T |
Event payload. |
Returns
Section titled “Returns”2.0.0
listen()
Section titled “listen()”function listen<T>( event: EventName, handler: EventCallback<T>,options?: Options): Promise<UnlistenFn>;Defined in: packages/api/src/event.ts:115
Listen to an emitted event to any target.
Example
Section titled “Example”import { listen } from '@tauri-apps/api/event';const unlisten = await listen<string>('error', (event) => { console.log(`Got error, payload: ${event.payload}`);});
// you need to call unlisten if your handler goes out of scope e.g. the component is unmountedunlisten();Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
T |
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
event |
EventName |
Event name. Must include only alphanumeric characters, -, /, : and _. |
handler |
EventCallback<T> |
Event handler callback. |
options? |
Options |
Event listening options. |
Returns
Section titled “Returns”A promise resolving to a function to unlisten to the event. Note that removing the listener is required if your listener goes out of scope e.g. the component is unmounted.
1.0.0
once()
Section titled “once()”function once<T>( event: EventName, handler: EventCallback<T>,options?: Options): Promise<UnlistenFn>;Defined in: packages/api/src/event.ts:159
Listens once to an emitted event to any target.
Example
Section titled “Example”import { once } from '@tauri-apps/api/event';interface LoadedPayload { loggedIn: boolean, token: string}const unlisten = await once<LoadedPayload>('loaded', (event) => { console.log(`App is loaded, loggedIn: ${event.payload.loggedIn}, token: ${event.payload.token}`);});
// you need to call unlisten if your handler goes out of scope e.g. the component is unmountedunlisten();Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
T |
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
event |
EventName |
Event name. Must include only alphanumeric characters, -, /, : and _. |
handler |
EventCallback<T> |
Event handler callback. |
options? |
Options |
Event listening options. |
Returns
Section titled “Returns”A promise resolving to a function to unlisten to the event. Note that removing the listener is required if your listener goes out of scope e.g. the component is unmounted.
1.0.0
Enumerations
Section titled “Enumerations”TauriEvent
Section titled “TauriEvent”Defined in: packages/api/src/event.ts:58
1.1.0
Enumeration Members
Section titled “Enumeration Members”| Enumeration Member | Value | Defined in |
|---|---|---|
DRAG_DROP |
"tauri://drag-drop" |
packages/api/src/event.ts:73 |
DRAG_ENTER |
"tauri://drag-enter" |
packages/api/src/event.ts:71 |
DRAG_LEAVE |
"tauri://drag-leave" |
packages/api/src/event.ts:74 |
DRAG_OVER |
"tauri://drag-over" |
packages/api/src/event.ts:72 |
WEBVIEW_CREATED |
"tauri://webview-created" |
packages/api/src/event.ts:70 |
WINDOW_BLUR |
"tauri://blur" |
packages/api/src/event.ts:64 |
WINDOW_CLOSE_REQUESTED |
"tauri://close-requested" |
packages/api/src/event.ts:61 |
WINDOW_CREATED |
"tauri://window-created" |
packages/api/src/event.ts:67 |
WINDOW_DESTROYED |
"tauri://destroyed" |
packages/api/src/event.ts:62 |
WINDOW_FOCUS |
"tauri://focus" |
packages/api/src/event.ts:63 |
WINDOW_MOVED |
"tauri://move" |
packages/api/src/event.ts:60 |
WINDOW_RESIZED |
"tauri://resize" |
packages/api/src/event.ts:59 |
WINDOW_RESUMED |
"tauri://resumed" |
packages/api/src/event.ts:69 |
WINDOW_SCALE_FACTOR_CHANGED |
"tauri://scale-change" |
packages/api/src/event.ts:65 |
WINDOW_SUSPENDED |
"tauri://suspended" |
packages/api/src/event.ts:68 |
WINDOW_THEME_CHANGED |
"tauri://theme-changed" |
packages/api/src/event.ts:66 |
Interfaces
Section titled “Interfaces”Defined in: packages/api/src/event.ts:30
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
T |
Properties
Section titled “Properties”| Property | Type | Description | Defined in |
|---|---|---|---|
event |
EventName |
Event name | packages/api/src/event.ts:32 |
id |
number |
Event identifier used to unlisten | packages/api/src/event.ts:34 |
payload |
T |
Event payload | packages/api/src/event.ts:36 |
Options
Section titled “Options”Defined in: packages/api/src/event.ts:46
Properties
Section titled “Properties”| Property | Type | Description | Defined in |
|---|---|---|---|
target? |
| string | EventTarget |
The event target to listen to, defaults to { kind: 'Any' }, see EventTarget. If a string is provided, EventTarget.AnyLabel is used. |
packages/api/src/event.ts:52 |
Type Aliases
Section titled “Type Aliases”EventCallback
Section titled “EventCallback”type EventCallback<T> = (event: Event<T>) => void;Defined in: packages/api/src/event.ts:39
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
T |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
event |
Event<T> |
Returns
Section titled “Returns”void
EventName
Section titled “EventName”type EventName = | `${TauriEvent}`| string & Record<never, never>;Defined in: packages/api/src/event.ts:44
EventTarget
Section titled “EventTarget”type EventTarget = | { kind: "Any";} | { kind: "AnyLabel"; label: string;} | { kind: "App";} | { kind: "Window"; label: string;} | { kind: "Webview"; label: string;} | { kind: "WebviewWindow"; label: string;};Defined in: packages/api/src/event.ts:22
UnlistenFn
Section titled “UnlistenFn”type UnlistenFn = () => void;Defined in: packages/api/src/event.ts:42
Returns
Section titled “Returns”void
© 2026 Tauri Contributors. CC-BY / MIT