tauri-app-single-instance

$npx mdskill add partme-ai/full-stack-skills/tauri-app-single-instance

Enforces single-instance behavior for Tauri apps and handles second-launch arguments or deep links.

  • Prevents multiple app instances from running and manages re-entry scenarios.
  • Integrates with the Tauri v2 single-instance plugin and command-line interfaces.
  • Triggers based on user mentions of single instance, duplicate prevention, or second launch.
  • Executes by registering a plugin callback to focus windows and forward arguments.
SKILL.md
.github/skills/tauri-app-single-instanceView on GitHub ↗
---
name: tauri-app-single-instance
description: "Prevent multiple app instances and handle second-launch arguments using the Tauri v2 single-instance plugin. Use when enforcing single-instance behavior, forwarding CLI arguments from a second launch, or focusing the existing window on re-entry."
license: Complete terms in LICENSE.txt
---


## When to use this skill

**ALWAYS use this skill when the user mentions:**
- Preventing multiple app instances from running
- Handling second-launch arguments or deep links
- Focusing the existing window when re-launched

**Trigger phrases include:**
- "single instance", "prevent duplicate", "second launch", "one instance only"

## How to use this skill

1. **Install the single-instance plugin**:
   ```bash
   cargo add tauri-plugin-single-instance
   ```
2. **Register the plugin** in your Tauri builder with a callback:
   ```rust
   tauri::Builder::default()
       .plugin(tauri_plugin_single_instance::init(|app, args, _cwd| {
           // Focus the main window when a second instance is launched
           if let Some(window) = app.get_webview_window("main") {
               window.set_focus().unwrap();
           }
           // Forward args to the running instance
           println!("Second launch args: {:?}", args);
       }))
   ```
3. **The callback receives**: the app handle, command-line arguments, and the working directory from the second launch
4. **Combine with deep-linking** to route `myapp://` URLs from the second instance to the existing window
5. **Combine with CLI plugin** to forward parsed arguments to the running app
6. **The second instance exits automatically** after the callback runs

## Outputs

- Single-instance plugin setup with window focus callback
- Second-launch argument forwarding pattern
- Integration with deep-linking and CLI plugins

## References

- https://v2.tauri.app/plugin/single-instance/

## Keywords

tauri single instance, prevent duplicate, second launch, window focus, args
More from partme-ai/full-stack-skills