Skip to content

feat(cua-driver)!: simplify permissions and add session identity - #2616

Merged
f-trycua merged 10 commits into
mainfrom
codex/permission-simplification-0130
Jul 28, 2026
Merged

feat(cua-driver)!: simplify permissions and add session identity#2616
f-trycua merged 10 commits into
mainfrom
codex/permission-simplification-0130

Conversation

@f-trycua

@f-trycua f-trycua commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • make standard the promptless practical default for ordinary automation
  • make bounded a deny-by-default, launch-approved resource manifest with terminal revocation
  • keep unrestricted as the explicit bypass mode
  • replace Cua-owned consent UI with launch grants or a trusted embedding callback for existing logged-in Chromium profiles
  • add content-free authorization and activity host interfaces to the Rust, Python, and TypeScript SDKs
  • add a sanitized public session-name badge below the semantic cursor on macOS, Windows, Linux X11, and supported Wayland paths
  • remove the obsolete native consent modal, persistent banner, and overlay UI crate
  • update CLI, MCP, SDK, installer, cursor-personalization, browser-profile, and migration documentation

Why

The previous permission model interrupted normal autonomous workflows and coupled authorization to a daemon-owned UI. This change keeps Cua Driver practical and host-neutral while preserving an explicit boundary around attaching to a logged-in Chromium profile.

User impact

This is an intentional breaking contract change:

  • ordinary standard sessions no longer prompt for routine actions
  • bounded sessions use manifest version 2 for applications, directories, browser profiles, and termination rules
  • standalone standard sessions authorize logged-in Chromium attachment at launch with --grant existing-profile
  • embedded applications can supply DriverAuthorizationHost
  • the cursor can show a sanitized, color-coded public session label

Validation

  • full cargo test -p cua-driver suite passed
  • changed core, SDK, and cursor crates pass strict Clippy
  • generated CLI, MCP, Python, and TypeScript contracts are current
  • TypeScript typecheck and package tests passed, 6 tests
  • Python package tests passed, 28 tests with 3 optional executable checks skipped
  • public docs production build passed, 93 static pages
  • public docs link check passed with 0 errors
  • public docs hygiene check passed
  • macOS Lume VM suite at 0ce7c7f1a6e1497309fd309f6bfdfd915b661d4f: 143 delivered, 8 expected refusals, 0 failed, 0 skipped
  • Windows interactive matrix: 33 delivered, 3 expected refusals, 0 failed, 0 skipped
  • Linux Wayland interactive matrix: 25 delivered, 7 expected refusals, 0 failed, 0 skipped
  • Linux X11 interactive matrix: 25 delivered, 7 expected refusals, 0 failed, 0 skipped
  • cursor showcase on every platform passed an external pixel oracle

Cursor recordings

macOS

macos-cursor-showcase.mp4

Windows

windows-cursor-showcase.mp4

Linux Wayland

linux-wayland-cursor-showcase.mp4

Linux X11

linux-x11-cursor-showcase.mp4

Release

This PR intentionally does not create or publish a release. Release automation may prepare metadata for a future Cua Driver release after merge.

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