multiAI Summary Pending
tauri-app-single-instance
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.
223 stars
Installation
Claude Code / Cursor / Codex
$curl -o ~/.claude/skills/tauri-app-single-instance/SKILL.md --create-dirs "https://raw.githubusercontent.com/partme-ai/full-stack-skills/main/skills/tauri-skills/tauri-app-single-instance/SKILL.md"
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/tauri-app-single-instance/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How tauri-app-single-instance Compares
| Feature / Agent | tauri-app-single-instance | Standard Approach |
|---|---|---|
| Platform Support | multi | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Which AI agents support this skill?
This skill is compatible with multi.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
## 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