Skip to main content
tauri-plugin-configurate gives your Tauri v2 desktop application a robust, type-safe configuration system. Define a schema once, and the plugin handles reading and writing JSON, YAML, TOML, or encrypted binary files — with sensitive fields transparently stored in the OS keyring on Windows, macOS, and Linux.

Installation

Add the Rust crate and npm package to your Tauri project in minutes

Quick Start

Define a schema, create your first config, and load it back in under 5 minutes

Core Concepts

Understand schemas, providers, keyring fields, and permissions

API Reference

Full TypeScript and Rust API documentation

What You Can Do

Multi-Format Storage

Store config as JSON, YAML, TOML, or encrypted binary — swap formats without changing your application logic

OS Keyring Secrets

Mark any field as keyring() to store secrets in the platform keychain instead of plain files

Full Type Safety

Schema-driven TypeScript types so your IDE catches mismatches before runtime

Batch Operations

Load or save multiple configs in a single IPC round-trip with Configurate.loadAll()

Schema Migrations

Version your schema and define migration steps — upgrades run automatically on load

File Watching

React to config changes made by external processes with watchExternal()

Get Started

1

Install the packages

Add tauri-plugin-configurate to your Cargo.toml and tauri-plugin-configurate-api to your frontend.
2

Register the plugin

Call .plugin(tauri_plugin_configurate::init()) in your Tauri builder and grant configurate:default permissions.
3

Define your schema

Use defineConfig() to describe the shape and types of your configuration, including any keyring-protected fields.
4

Create and load config

Instantiate Configurate, call .create() to write your first config, and .load() to read it back with full types.
tauri-plugin-configurate supports desktop platforms only (Windows, macOS, Linux). Android and iOS are not supported.