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

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/tauri-app-single-instance/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How tauri-app-single-instance Compares

Feature / Agenttauri-app-single-instanceStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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