openclaw - ✅(Solved) Fix [Docs]: warn that granting macOS Accessibility to node grants GUI automation to all npm packages [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

OpenClaw on macOS can rely on Peekaboo or similar GUI automation paths that lead users to grant Accessibility permissions to the node executable. That is a meaningful security risk and should be documented prominently.

Granting Accessibility to node does not scope the permission to OpenClaw. It effectively grants GUI automation capability to any npm package that runs through the same node binary.

Root Cause

Users may reasonably assume they are granting permission to OpenClaw only, when in practice they may be widening the trust boundary to all code running through that Node install.

This is especially relevant in setups that use Peekaboo or other macOS UI automation workflows.

Fix Action

Fixed

PR fix notes

PR #69654: docs: warn about node Accessibility grants

Description (problem / solution / changelog)

Summary

  • Problem: macOS Accessibility docs did not clearly warn about granting permissions to a shared node runtime.
  • Why it matters: TCC grants Accessibility to the process identity macOS sees, so a node grant can apply to any npm package launched through that same binary.
  • What changed: Added a prominent Node/CLI runtime warning to the macOS permissions docs and linked to it from the Peekaboo Bridge security notes.
  • What did NOT change (scope boundary): No runtime behavior, permission prompts, signing logic, or bridge authorization behavior changed.

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor required for the fix
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #69561
  • Related #
  • This PR fixes a bug or regression

Root Cause (if applicable)

N/A

  • Root cause: N/A
  • Missing detection / guardrail: N/A
  • Contributing context (if known): N/A

Regression Test Plan (if applicable)

N/A

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
  • Target test or file: pnpm check:docs
  • Scenario the test should lock in: Documentation formatting, linting, glossary, and internal links remain valid.
  • Why this is the smallest reliable guardrail: The change is docs-only.
  • Existing test that already covers this (if any): pnpm check:docs
  • If no new test is added, why not: Docs-only change.

User-visible / Behavior Changes

Users reading macOS permission docs now see a warning that granting Accessibility to node is broader than granting it to a signed app/helper.

Diagram (if applicable)

N/A

Before:
[user reads macOS permission docs] -> [no explicit node Accessibility warning]

After:
[user reads macOS permission docs] -> [sees node runtime warning] -> [can choose signed app/helper instead]

Security Impact (required)

  • New permissions/capabilities? (Yes/No) No
  • Secrets/tokens handling changed? (Yes/No) No
  • New/changed network calls? (Yes/No) No
  • Command/tool execution surface changed? (Yes/No) No
  • Data access scope changed? (Yes/No) No
  • If any Yes, explain risk + mitigation: N/A

Repro + Verification

Environment

  • OS: macOS
  • Runtime/container: local repository checkout
  • Model/provider: N/A
  • Integration/channel (if any): docs
  • Relevant config (redacted): N/A

Steps

  1. Read docs/platforms/mac/permissions.md.
  2. Read docs/platforms/mac/peekaboo.md.
  3. Run pnpm check:docs.

Expected

  • Docs warn that granting Accessibility to node grants broad GUI automation access to packages run by that Node binary.
  • Docs checks pass.

Actual

  • Docs warning added.
  • pnpm check:docs passed.

Evidence

Attach at least one:

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

pnpm check:docs passed locally:

  • markdownlint: 0 errors
  • docs-link-audit: broken_links=0

Human Verification (required)

What you personally verified (not just CI), and how:

  • Verified scenarios: Reviewed the updated docs and ran pnpm check:docs.
  • Edge cases checked: Internal link from Peekaboo docs to the new permissions section resolves in the docs link audit.
  • What you did not verify: Rendered docs site in a browser.

Review Conversations

  • I replied to or resolved every bot review conversation I addressed in this PR.
  • I left unresolved only the conversations that still need reviewer or maintainer judgment.

If a bot review conversation is addressed by this PR, resolve that conversation yourself. Do not leave bot review conversation cleanup for maintainers.

Compatibility / Migration

  • Backward compatible? (Yes/No) Yes
  • Config/env changes? (Yes/No) No
  • Migration needed? (Yes/No) No
  • If yes, exact upgrade steps: N/A

Risks and Mitigations

  • Risk: The warning could be interpreted as a runtime change.
    • Mitigation: The summary and security impact sections explicitly state this is docs-only.

Changed files

  • docs/platforms/mac/peekaboo.md (modified, +4/-0)
  • docs/platforms/mac/permissions.md (modified, +20/-0)
RAW_BUFFERClick to expand / collapse

Summary

OpenClaw on macOS can rely on Peekaboo or similar GUI automation paths that lead users to grant Accessibility permissions to the node executable. That is a meaningful security risk and should be documented prominently.

Granting Accessibility to node does not scope the permission to OpenClaw. It effectively grants GUI automation capability to any npm package that runs through the same node binary.

Why this matters

Users may reasonably assume they are granting permission to OpenClaw only, when in practice they may be widening the trust boundary to all code running through that Node install.

This is especially relevant in setups that use Peekaboo or other macOS UI automation workflows.

Requested improvement

Please add a prominent warning in the relevant docs and setup flows that explains:

  • macOS Accessibility may be requested for node
  • granting that permission is broader than granting it to a signed app bundle
  • this can expose the machine to GUI automation by other npm packages
  • users who do not need GUI automation should avoid enabling those paths
  • users should prefer safer isolated/app-bundled approaches when available

Related context

There is already a related security issue discussing this risk:

  • #7227

I am filing this docs issue because the risk deserves clearer operator-facing guidance even before a deeper architectural fix lands.

Environment

  • OpenClaw 2026.4.15
  • macOS
  • npm/Homebrew-hosted global package workflow

extent analysis

TL;DR

Add a prominent warning in the documentation and setup flows to inform users about the security risks of granting Accessibility permissions to the node executable on macOS.

Guidance

  • Document the security risk: clearly explain in the relevant documentation that granting Accessibility permissions to node on macOS can expose the machine to GUI automation by other npm packages.
  • Emphasize the scope of permission: highlight that granting Accessibility to node is broader than granting it to a signed app bundle and affects all code running through the same node binary.
  • Provide safer alternatives: recommend isolated or app-bundled approaches when available, especially for users who do not need GUI automation.
  • Reference related issues: link to related security issues, such as #7227, to provide additional context and information.

Example

No code snippet is necessary for this issue, as it focuses on documentation and user guidance.

Notes

This solution applies to the specific environment mentioned (OpenClaw 2026.4.15, macOS, npm/Homebrew-hosted global package workflow) and may not be relevant to other setups.

Recommendation

Apply workaround: add a prominent warning in the documentation and setup flows to inform users about the security risks, as this is a necessary step to mitigate the issue until a deeper architectural fix is implemented.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING