MCPcopy Index your code
hub / github.com/ayangweb/tauri-plugin-macos-permissions

github.com/ayangweb/tauri-plugin-macos-permissions @v2.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.3.0 ↗ · + Follow
31 symbols 58 edges 13 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

tauri-plugin-macos-permissions

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

Method Description
checkAccessibilityPermission Check accessibility permission.
requestAccessibilityPermission Request accessibility permission.
checkFullDiskAccessPermission Check full disk access permission.
requestFullDiskAccessPermission Request full disk access permission.
checkScreenRecordingPermission Check screen recording permission.
requestScreenRecordingPermission Request screen recording permission.
checkMicrophonePermission Check microphone permission.
requestMicrophonePermission Request microphone permission.
checkCameraPermission Check camera permission.
requestCameraPermission Request camera permission.
checkInputMonitoringPermission Check input monitoring permission.
requestInputMonitoringPermission Request 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.

Core symbols most depended-on inside this repo

check
called by 3
examples/tauri-app/src/App.tsx
checkAccessibilityPermission
called by 2
guest-js/index.ts
checkMicrophonePermission
called by 2
guest-js/index.ts
checkCameraPermission
called by 2
guest-js/index.ts
requestAccessibilityPermission
called by 1
guest-js/index.ts
checkFullDiskAccessPermission
called by 1
guest-js/index.ts
checkScreenRecordingPermission
called by 1
guest-js/index.ts
requestMicrophonePermission
called by 1
guest-js/index.ts

Shape

Function 31

Languages

Rust55%
TypeScript45%

Modules by API surface

src/commands.rs12 symbols
guest-js/index.ts12 symbols
examples/tauri-app/src/App.tsx2 symbols
src/lib.rs1 symbols
examples/tauri-app/src-tauri/src/main.rs1 symbols
examples/tauri-app/src-tauri/src/lib.rs1 symbols
examples/tauri-app/src-tauri/build.rs1 symbols
build.rs1 symbols

For agents

$ claude mcp add tauri-plugin-macos-permissions \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page