---
read_when:
    - Налагодження відсутніх або завислих запитів дозволів macOS
    - Вирішення, чи надавати дозвіл «Доступність» Node або середовищу виконання CLI
    - Пакування або підписування застосунку macOS
    - Зміна ідентифікаторів пакетів або шляхів встановлення застосунку
summary: Вимоги до збереження дозволів macOS (TCC) і підписування
title: Дозволи macOS
x-i18n:
    generated_at: "2026-06-27T17:47:17Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 7b7e21c53bff16c3023e2b6509894717c3d0ef96524951b0d0c5975d2fc91019
    source_path: platforms/mac/permissions.md
    workflow: 16
---

Надання дозволів у macOS є крихким. TCC пов’язує наданий дозвіл із
підписом коду застосунку, ідентифікатором пакета та шляхом на диску. Якщо щось із цього зміниться,
macOS вважатиме застосунок новим і може скинути або приховати запити.

## Вимоги для стабільних дозволів

- Той самий шлях: запускайте застосунок із фіксованого розташування (для OpenClaw, `dist/OpenClaw.app`).
- Той самий ідентифікатор пакета: зміна bundle ID створює нову ідентичність дозволів.
- Підписаний застосунок: непідписані збірки або збірки з ad-hoc підписом не зберігають дозволи.
- Узгоджений підпис: використовуйте справжній сертифікат Apple Development або Developer ID,
  щоб підпис залишався стабільним між повторними збірками.

Ad-hoc підписи генерують нову ідентичність під час кожної збірки. macOS забуде попередні
дозволи, а запити можуть повністю зникнути, доки не буде очищено застарілі записи.

## Дозволи Доступності для середовищ виконання Node і CLI

Надавайте перевагу наданню Доступності OpenClaw.app, Peekaboo.app або іншому підписаному
помічнику з власним ідентифікатором пакета замість загального бінарного файлу `node`.

macOS TCC надає Доступність ідентичності коду процесу, який він бачить. Якщо робочий процес
Homebrew, nvm, pnpm або npm призводить до того, що спільний виконуваний файл `node`
отримує Доступність, будь-який JavaScript-пакет, запущений через той самий
виконуваний файл, може успадкувати привілеї автоматизації GUI.

Вважайте запис `node` у Системних параметрах широким дозволом для цього середовища виконання Node,
а не дозволом для одного пакета npm. Не надавайте Доступність
`node`, якщо ви не довіряєте кожному скрипту та пакету, запущеному через саме це
встановлення Node.

Якщо ви випадково надали Доступність `node`, видаліть цей запис із
Системні параметри -> Приватність і безпека -> Доступність. Потім надайте дозвіл підписаному
застосунку або помічнику, який має відповідати за автоматизацію UI.

## Контрольний список відновлення, коли запити зникають

1. Закрийте застосунок.
2. Видаліть запис застосунку в Системні параметри -> Приватність і безпека.
3. Перезапустіть застосунок із того самого шляху та повторно надайте дозволи.
4. Якщо запит усе ще не з’являється, скиньте записи TCC за допомогою `tccutil` і спробуйте ще раз.
5. Деякі дозволи з’являються знову лише після повного перезапуску macOS.

Приклади скидання (замініть bundle ID за потреби):

```bash
sudo tccutil reset Accessibility ai.openclaw.mac
sudo tccutil reset ScreenCapture ai.openclaw.mac
sudo tccutil reset AppleEvents
```

## Дозволи на файли й папки (Робочий стіл/Документи/Завантаження)

macOS також може обмежувати доступ до Робочого столу, Документів і Завантажень для термінальних/фонових процесів. Якщо читання файлів або списки каталогів зависають, надайте доступ тому самому контексту процесу, який виконує файлові операції (наприклад, Terminal/iTerm, застосунок, запущений через LaunchAgent, або процес SSH).

Обхідний шлях: перемістіть файли в робочий простір OpenClaw (`~/.openclaw/workspace`), якщо хочете уникнути дозволів для кожної папки.

Якщо ви тестуєте дозволи, завжди підписуйте справжнім сертифікатом. Ad-hoc
збірки прийнятні лише для швидких локальних запусків, де дозволи не мають значення.

## Пов’язане

- [застосунок macOS](/uk/platforms/macos)
- [підписування macOS](/uk/platforms/mac/signing)
