tauri-plugin-macos-permissions

December 14, 2025 · View on GitHub

This plugin only works on tauri v2, if you need the v1 plugin, feel free to submit a PR!

Support for checking and requesting macos system permissions.

https://github.com/user-attachments/assets/acb63744-9773-420a-8a96-6a485c94f5d6

Install

cargo add tauri-plugin-macos-permissions

You can install the JavaScript Guest bindings using your preferred JavaScript package manager:

pnpm add tauri-plugin-macos-permissions-api

Usage

src-tauri/src/lib.rs

pub fn run() {
    tauri::Builder::default()
+       .plugin(tauri_plugin_macos_permissions::init())
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

src-tauri/capabilities/default.json

{
    ...
    "permissions": [
        ...
+       "macos-permissions:default"
    ]
}

If you need to access the microphone or camera permissions, please update src-tauri/Info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
     ...
+    <key>NSMicrophoneUsageDescription</key>
+    <string>Describe why your app needs to use microphone permission</string>
+    <key>NSCameraUsageDescription</key>
+    <string>Describe why your app needs to use camera permissions</string>
</dict>
</plist>

Afterwards all the plugin's APIs are available through the JavaScript guest bindings:

import { checkAccessibilityPermission } from "tauri-plugin-macos-permissions-api";

const authorized = await checkAccessibilityPermission();
console.log(authorized); // true

Methods

MethodDescription
checkAccessibilityPermissionCheck accessibility permission.
requestAccessibilityPermissionRequest accessibility permission.
checkFullDiskAccessPermissionCheck full disk access permission.
requestFullDiskAccessPermissionRequest full disk access permission.
checkScreenRecordingPermissionCheck screen recording permission.
requestScreenRecordingPermissionRequest screen recording permission.
checkMicrophonePermissionCheck microphone permission.
requestMicrophonePermissionRequest microphone permission.
checkCameraPermissionCheck camera permission.
requestCameraPermissionRequest camera permission.
checkInputMonitoringPermissionCheck input monitoring permission.
requestInputMonitoringPermissionRequest input monitoring permission.

Example

git clone https://github.com/ayangweb/tauri-plugin-macos-permissions.git
pnpm install

pnpm build

cd examples/tauri-app

pnpm install

pnpm tauri dev

Thanks

Who's Use It

  • EcoPaste - Open source cross-platform clipboard management tool.

  • BongoCat - Open source cross-platform desktop pets.

  • Coco AI - Search, Connect, Collaborate, Your Personal AI Search and Assistant, all in one space.

  • Cardinal - Fastest and most accurate file searching tool for macOS.