defineConfig(), choose a storage backend, and let TypeScript infer all your value types — no boilerplate, no runtime surprises.
Sensitive fields like API keys and passwords are marked with keyring() and stored in the OS keyring (Windows Credential Manager, macOS Keychain, or Linux Secret Service) — they never touch disk.
Quickstart
Get a working config up and running in under 5 minutes
Installation
Add the Rust plugin and TypeScript API to your Tauri project
Core Concepts
Understand schemas, providers, keyring, and path resolution
API Reference
Explore the full TypeScript and Rust API surface
Key features
Type-safe schemas
defineConfig() gives you full TypeScript inference — no casting, no anyOS keyring integration
Mark fields with
keyring() and secrets are stored in the platform keyring, never on diskMultiple storage backends
Choose JSON, YAML, TOML, encrypted Binary (XChaCha20-Poly1305), or SQLite
Fluent builder API
Chainable
.lock(), .unlock(), .createIfMissing() on every operationBatch operations
loadAll / saveAll / patchAll in a single IPC round-tripFile watching
React to external changes or in-app events with
watchExternal and onChangeExport and Import
Convert configs between JSON, YAML, and TOML on the fly
Schema migrations
Version your schema and auto-migrate old configs on load
Get started in 3 steps
Install the plugin
Add both the Rust crate and the npm package to your Tauri project.See the full installation guide for manual setup.
Define your schema
Use
defineConfig() to describe your configuration shape. Mark sensitive values with keyring().tauri-plugin-configurate is pre-release software (0.x). Breaking changes may be introduced in any minor version. Pin to an exact version in production and review release notes before upgrading.