Docs

Commands

A command is a Rust function the frontend can call with invoke().

Define a command

src-tauri/src/main.rs
rust
#[tauri::command]
fn greet(name: &str) -> String {
    format!("Hello, {name}!")
}

fn main() {
    tauri::Builder::default()
        .invoke_handler(tauri::generate_handler![greet])
        .run(tauri::generate_context!())
        .expect("error while running tauri");
}

Call it from Svelte

svelte
svelte
<script lang="ts">
  import { invoke } from '@tauri-apps/api/core';
  let msg = $state('');
  async function run() { msg = await invoke('greet', { name: 'Ada' }); }
</script>

<button onclick={run}>Greet</button>
<p>{msg}</p>