migrating-tauri-apps

Migrates Tauri applications from v1 or v2 beta to v2 stable.

Updated Jun 7, 2026
One-click install
npx skills add https://github.com/dt418/better-shot-x --skill migrating-tauri-apps-dt418
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: migrating-tauri-apps
Source: https://github.com/dt418/better-shot-x/tree/main/.agents/skills/migrating-tauri-apps
Command: npx skills add https://github.com/dt418/better-shot-x --skill migrating-tauri-apps-dt418

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Upgrading a Tauri desktop application to v2 stable involves many breaking changes across configuration files, Rust APIs, JavaScript packages, and the permission system, and missing any one of them causes build failures or runtime permission errors. ## Core Features & Use Cases - Guided v1 to v2 migration: Covers config restructuring (package fields to top-level, allowlist to capabilities), the new mainBinaryName field, and bundle reorganization. - API and plugin migration tables: Maps removed v1 APIs to their v2 plugin replacements for Rust (Window to WebviewWindow) and JavaScript (@tauri-apps/api/tauri to @tauri-apps/api/core). - V2 beta to stable updates: Handles the core: permission prefix requirement and the new mobile dev server configuration using TAURI_DEV_HOST. - Use Case: You have a Tauri v1 app using the allowlist and built-in dialog/fs APIs. Follow the checklist to run tauri migrate, generate capability files, install the dialog and fs plugins, and update renamed functions like createDir to mkdir. ## Quick Start Migrate my Tauri v1 application to v2 stable and update the configuration, capabilities, and plugin imports.

Frequently Asked Questions about migrating-tauri-apps

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate a Tauri v1 app to v2?

Run the automated migration with the latest Tauri CLI using npm run tauri migrate, then manually verify the changes. You must restructure tauri.conf.json to top-level fields, add mainBinaryName, replace the allowlist with capability files, and install plugins for removed APIs.

What replaces the Tauri v1 allowlist in v2?

The v1 allowlist is replaced by a capability-based ACL system using JSON files in src-tauri/capabilities/. Each file defines windows and permissions such as core:default or fs:allow-read-text-file, and the migrate command auto-generates them from your allowlist.

What changed between Tauri v2 beta and v2 stable?

Core permissions now require the core: prefix, so path:default becomes core:path:default, or use core:default for all. The mobile dev server no longer exposes on the network; configure your dev server host from the TAURI_DEV_HOST environment variable instead.

Why did my Tauri v2 app lose IndexedDB data on Windows?

Production Windows apps in v2 serve from http://tauri.localhost instead of https, which resets IndexedDB and cookies. Set useHttpsScheme to true in the window configuration to preserve the old origin and keep existing storage.

Which Tauri v1 APIs moved to plugins in v2?

Dialog, http, fs, clipboard, global-shortcut, notification, os, process, shell, updater, and cli all moved to separate plugins. Install the npm package like @tauri-apps/plugin-fs, add the Rust crate, and register it with .plugin() in the builder.