
Tauri V2
Ship a cross-platform desktop or mobile app with a web UI and Rust-native APIs using Tauri v2 without guessing IPC, capabilities, or release signing.
Overview
Tauri v2 is an agent skill most often used in Build (also Ship, Operate) that guides cross-platform Tauri apps—Rust commands, IPC, capabilities, plugins, and release builds.
Install
npx skills add https://github.com/nodnarbnitram/claude-code-extensions --skill tauri-v2What is this skill?
- Implements #[tauri::command] handlers with structured Rust error handling for the frontend
- Documents IPC patterns: invoke, events, and channels between webview and backend
- Configures security capabilities and permissions for plugins (fs, dialog, shell, store, etc.)
- Covers desktop (macOS, Windows, Linux) and mobile (iOS, Android) build and deployment
- Aligns Vite + TanStack Router frontends with tauri.conf.json and Cargo.toml
- Covers desktop and mobile targets across macOS, Windows, Linux, iOS, and Android
- Documents plugin families including fs, dialog, shell, and store
Adoption & trust: 4.9k installs on skills.sh; 11 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You want a desktop or mobile app with a web UI but Rust for native power, and Tauri v2 IPC, capabilities, and signing feel easy to misconfigure.
Who is it for?
Indie builders shipping a Tauri v2 app with Vite or similar and needing authoritative IPC, plugin, and deployment guidance in the agent session.
Skip if: Pure web-only SPAs with no desktop shell, teams standardized on Electron-only workflows, or projects still locked on Tauri v1 without a migration plan.
When should I use this skill?
Keywords include tauri, tauri v2, tauri.conf.json, src-tauri, #[tauri::command], tauri::invoke, or capabilities.json—or when building Rust-backed desktop/mobile apps.
What do I get? / Deliverables
You get concrete patterns for commands, security config, plugin usage, and cross-platform packaging aligned with current Tauri v2 documentation.
- Configured tauri.conf.json and Cargo.toml patterns
- Rust command modules with IPC wiring
- Capabilities and plugin permission setup notes
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Tauri work is where solo builders wire web frontends to Rust backends and third-party plugins—the core integration layer of the product. Capabilities, invoke/events/channels, and plugin wiring are integration problems more than pure UI or a single API route.
Where it fits
Define #[tauri::command] handlers and event channels between your Vite UI and Rust services.
Hook TanStack Router pages to tauri::invoke without breaking SSR assumptions.
Configure updater, code signing, and platform-specific bundles before release.
Adjust tray icons, sidecars, or deep-link plugins after users install the binary.
How it compares
Framework integration skill for Tauri’s Rust + webview model—not a generic React or pure Rust CLI tutorial.
Common Questions / FAQ
Who is tauri-v2 for?
Solo and indie developers building cross-platform desktop or mobile apps with Tauri v2, a web frontend, and Rust backend commands.
When should I use tauri-v2?
During Build when wiring invoke/events, capabilities, and plugins; during Ship when configuring signing and multi-target releases; and during Operate when adjusting tray, updater, or runtime behavior.
Is tauri-v2 safe to install?
Review the Security Audits panel on this Prism page and inspect the skill source in your repo before granting shell, filesystem, or network access to your agent.
SKILL.md
READMESKILL.md - Tauri V2
# Tauri v2+ Development Skill > Build cross-platform desktop and mobile apps with web frontends and Rust backends. | | | |---|---| | **Status** | Active | | **Version** | 1.0.1 | | **Last Updated** | 2026-04-02 | | **Confidence** | 4/5 | | **Production Tested** | https://v2.tauri.app/ | ## What This Skill Does Provides expert assistance for Tauri v2 application development, covering the full development lifecycle from project setup to cross-platform deployment. Specializes in Rust backend commands, IPC patterns, security configuration, and frontend-backend communication. ### Core Capabilities - Implement Rust commands with `#[tauri::command]` and proper error handling - Configure IPC patterns (invoke, events, channels) for frontend-backend communication - Set up security capabilities and permissions for plugins and APIs - Access exhaustive reference docs for plugins (fs, dialog, shell, store, etc.), updater/distribution signing, and advanced runtime (tray, sidecars, deep links) - Build and deploy for desktop (macOS, Windows, Linux) and mobile (iOS, Android) - Integrate Vite + TanStack Router frontends with Tauri backends - Configure tauri.conf.json and Cargo.toml for cross-platform builds ## Auto-Trigger Keywords ### Primary Keywords Exact terms that strongly trigger this skill: - tauri - tauri v2 - tauri.conf.json - src-tauri - #[tauri::command] - tauri::invoke - capabilities.json ### Secondary Keywords Related terms that may trigger in combination: - rust backend - desktop app - cross-platform app - webview - invoke command - emit event - app permissions - bundle desktop ### Error-Based Keywords Common error messages that should trigger this skill: - "Command not found" - "Permission denied" (in Tauri context) - "Failed to invoke command" - "Missing capability" - "Cannot read property of undefined" (invoke result) - "tauri build failed" - "Missing Rust target" ## Known Issues Prevention | Issue | Root Cause | Solution | |-------|-----------|----------| | Command not found | Missing from `generate_handler![]` | Register all commands in the macro | | Permission denied | Missing capability configuration | Add required permissions to capabilities file | | State access panic | Type mismatch in `State<T>` | Use exact type matching `.manage()` call | | White screen | Frontend not building | Verify `beforeDevCommand` and `devUrl` | | Mobile build fails | Missing Rust targets | Run `rustup target add <platform-targets>` | | IPC timeout | Blocking in async command | Use non-blocking async or spawn threads | ## When to Use ### Use This Skill For - Creating new Tauri v2 projects or commands - Configuring permissions and capabilities - Setting up IPC (invoke, events, channels) - Debugging command invocation issues - Cross-platform build configuration - Plugin integration and configuration - Mobile (iOS/Android) deployment setup ### Don't Use This Skill For - Tauri v1 development (use migration guide then this skill) - Pure frontend development without Tauri integration - Native mobile development (Swift/Kotlin directly) - Backend API development without Tauri ## Version Policy > [!NOTE] > This skill targets **Tauri v2+**. Feature availability may vary across minor versions. When exact version timing matters, check the [official Tauri changelog](https://github.com/tauri-apps/tauri/blob/dev/crates/tauri/CHANGELOG.md) and release notes for `tauri`, `@tauri-apps/api`, `@tauri-apps/cli`, and relevant plugins. ## Quick Usage ```bash # Create new Tauri project npm create tauri-app@latest # Add Tauri to existing project npm install -D @tauri-apps/cli@latest npx tauri init # Development npm run tauri dev # Production build npm run tauri build # Add a plugin (e.g., fs, dialog, store) cargo tauri add fs # Adds tauri-plugin-fs to Cargo.toml + JS package cargo tauri add dialog cargo tauri add store # Mobile development cargo tauri android init # One-time setup cargo tauri android dev # Run on Android cargo taur