tauri-app-single-instance
$
npx mdskill add partme-ai/full-stack-skills/tauri-app-single-instanceEnforces 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