Skip to content

docs(cua-driver-rs): sell --autostart's TCC benefit on macOS (grant once) - #1766

Merged
f-trycua merged 1 commit into
mainfrom
docs/autostart-tcc-benefit-messaging
May 30, 2026
Merged

docs(cua-driver-rs): sell --autostart's TCC benefit on macOS (grant once)#1766
f-trycua merged 1 commit into
mainfrom
docs/autostart-tcc-benefit-messaging

Conversation

@f-trycua

@f-trycua f-trycua commented May 30, 2026

Copy link
Copy Markdown
Collaborator

Install output + autostart docs pitched --autostart as bare "auto-start (optional)". On macOS it's the clean fix for the terminal-attribution problem we just chased through #1758#1765: a launchd-started daemon is attributed to com.trycua.driver, so prompts say "Cua Driver", you grant once, and grants persist — every call/mcp routes through the correctly-attributed always-on daemon.

  • install-local-rust.sh: macOS hint now "recommended on macOS" + explains the TCC win; --help too.
  • autostart.mdx: new macOS-TCC-benefit callout; fixed stale plist name (com.trycua.cua-driver-rs.plistcom.trycua.cua-driver.plist); points at cua-driver permissions status|grant.

Kept opt-in (a standing computer-control daemon is a deliberate choice). Linux unchanged (no TCC).

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Improved autostart setup instructions with clearer guidance for macOS LaunchAgent and Linux systemd configurations
    • Added explanation of how macOS permissions (Accessibility and Screen Recording) persist across reboots with the daemon
    • Enhanced help documentation with clarification on permissions requirements and daemon identity for successful setup

Review Change Stack

…nce)

The install output + autostart docs pitched `--autostart` as bare
"auto-start (optional)". On macOS it's more than convenience: a
launchd-started daemon is attributed to com.trycua.driver (not the
terminal that would otherwise spawn it), so permission prompts say
"Cua Driver", you grant Accessibility + Screen Recording ONCE, and the
grants persist — every `cua-driver call`/`mcp` then routes through the
correctly-attributed always-on daemon. This is the clean fix for the
terminal-attribution problem (#1491, PRs #1758#1765).

Changes:
- install-local-rust.sh: macOS hint now "recommended on macOS" and
  explains the TCC attribution win; the --autostart --help text too.
- autostart.mdx: new callout on the macOS TCC benefit; fixed the stale
  plist name (com.trycua.cua-driver-rs.plist → com.trycua.cua-driver.plist,
  matching what the script actually writes) and pointed at the new
  `cua-driver permissions status|grant` verbs.

Kept opt-in (a standing computer-control daemon is a deliberate choice).
Linux/systemd messaging unchanged — TCC is macOS-only.
@vercel

vercel Bot commented May 30, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment May 30, 2026 3:55am

Request Review

@coderabbitai

coderabbitai Bot commented May 30, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6fdd1cff-9eaf-4b05-addf-9337942138f6

📥 Commits

Reviewing files that changed from the base of the PR and between 8ba5cd0 and a94a392.

📒 Files selected for processing (2)
  • docs/content/docs/cua-driver/guide/getting-started/autostart.mdx
  • libs/cua-driver/scripts/_install-local-rust.sh

📝 Walkthrough

Walkthrough

Updated macOS autostart documentation and installation script help text to clarify that LaunchAgent-based autostart attributes the daemon to com.trycua.driver for TCC purposes. Users now see guidance on one-time permission grants and how to inspect/manage permissions by correct identity.

Changes

macOS autostart TCC attribution guidance

Layer / File(s) Summary
Autostart documentation updates
docs/content/docs/cua-driver/guide/getting-started/autostart.mdx
Platform table updated to direct users to install-local.sh --autostart with specific macOS LaunchAgent path. New macOS-focused info callout explains TCC attribution identity behavior, permission persistence across reboots, and guidance for checking/granting via cua-driver permissions commands.
Installation script help and post-install messaging
libs/cua-driver/scripts/_install-local-rust.sh
Expanded --help text for --autostart option with macOS-specific guidance about launchd daemon attribution to com.trycua.driver and one-time Accessibility/Screen Recording grant requirements. Replaced generic post-install hint with platform-specific "recommended on macOS" message including the same attribution and permission routing guidance.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

  • trycua/cua#1758: Modifies the same macOS autostart/TCC identity guidance in _install-local-rust.sh, aligning instructions with the stable macOS bundle behavior.
  • trycua/cua#1559: Renames the Rust macOS app bundle to CuaDriver.app with bundle ID com.trycua.driver, which directly enables the TCC attribution identity referenced in this PR's updates.
  • trycua/cua#1765: Adds check_permissions UX changes that report permission status by source identity (driver-daemon vs caller), complementing this PR's guidance on identity-specific permission grants.

Poem

🐰 A LaunchAgent hops into place,
TCC identity sets the pace—
Grant once, reboot with glee,
Permissions persist, wild and free!
com.trycua.driver leads the way. 🚀

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/autostart-tcc-benefit-messaging

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@f-trycua
f-trycua merged commit be8ecec into main May 30, 2026
7 of 9 checks passed
@f-trycua
f-trycua deleted the docs/autostart-tcc-benefit-messaging branch May 30, 2026 03:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant