Environment / Context
- Windows 11 Build 26300; default UAC configuration:
EnableLUA=1, ConsentPromptBehaviorAdmin=5, PromptOnSecureDesktop=1 (secure desktop enabled).
- Role: AI agent (automation agent) - performs authorized test/deployment tasks on a controlled machine on behalf of the user; the execution chain requires programmatically confirming or cancelling UAC elevation prompts.
- Verification approach: multiple user-mode techniques (desktop attach; window and UI Automation enumeration; simulated input; launching a helper process) were tested one by one.
Observed behavior (with the secure desktop enabled, all four paths were unable to reach the prompt)
- Attach to secure desktop:
OpenInputDesktop returns ACCESS_DENIED (error 5); cannot attach.
- Window / UIA enumeration: the consent dialog on the secure desktop is not visible (window enumeration and UI Automation both count 0).
- Simulated input: Alt-key and mouse-click injection have no effect.
- Launching a helper process while the prompt is active: the process cannot be created (no output produced).
Note: the UAC prompt process (consent) runs at SYSTEM integrity level; Microsoft documentation states that no approach can access UI running at System IL.
Evidence
- Microsoft documentation "Assistive technology security considerations": no accessibility/automation approach can access UI running at System IL; UI on the UAC desktop can only be accessed by processes started on that desktop with SYSTEM - fully consistent with my testing.
- "Ease of Access assistive technology registration": the
SecureDesktopAccommodation mechanism only allows substituting Microsoft-provided apps (Narrator / Magnifier / On-Screen Keyboard) to run on the secure desktop; third-party code does not enter the secure desktop.
- Winlogon desktop security model (public Microsoft documentation): only a very restricted set of accounts (e.g., LocalSystem) can access that desktop.
- Local test snapshot (2026-10-14, read-only checks): while the prompt was active - probe results
win32=0 / uia=0 / attach err=5; tool verdict controllable=false.
Impact
- No user-mode program can confirm or cancel UAC prompts while the secure desktop is enabled - this is by design (to prevent malware from auto-approving elevation), not a defect.
- An AI agent (automation agent) hits this wall in the middle of authorized tasks: it can neither confirm (approve) nor cancel (deny), so the automation loop must halt and wait for a human click.
- Affected legitimate scenarios: deployment/test automation on controlled machines, accessibility tools, automation steps in remote assistance.
- The only path that allows programmatic control is disabling the secure desktop (
PromptOnSecureDesktop=0): the prompt moves to the interactive desktop and can be detected and operated; the tradeoff is that any process on the machine could simulate clicks to auto-approve while the prompt is up (lowered security boundary); it can be restored at any time.
Impact in the age of AI agents
- AI agents (computer-use / CLI agents / MCP ecosystem) are making "end-to-end task completion on Windows" the norm: elevation-requiring operations (installing software, changing system settings, deploying services) are unavoidable steps in these flows.
- In the default configuration, the UAC prompt on the secure desktop is unreachable for every user-mode agent framework (screen understanding, simulated input, UI Automation, process automation) - the agent loop necessarily stops at the "last mile" and must wait for a human click.
- Unattended scenarios (CI / test machines, remote operations, self-hosted lab machines) cannot be automated end to end. To work around this, four compromises are common in practice: disabling the secure desktop, scheduled-task whitelists, third-party credential caching (e.g., gsudo), or turning UAC off entirely - each lowers the security baseline or adds a third-party trust surface.
- The ecosystem currently lacks an official "controlled elevation channel for agents" (a declarative / managed whitelist-style mechanism); every framework invents its own workaround - a lose-lose for both security and operability.
- Recent Microsoft directions (built-in Sudo for Windows, recently discussed elevation-protection mechanisms) show that elevation UX is being revisited, but public documentation still has no supported prompt-handling mechanism for agents / automation.
Questions
- Is there an officially supported, documented mechanism that allows third-party software (AI agents / automation agents / accessibility tools / managed enterprise automation) to confirm or cancel UAC elevation prompts while the secure desktop is enabled?
- If not, what is Microsoft's recommended official practice for elevation automation by an AI agent on a controlled machine (scheduled tasks / Sudo for Windows / policy combinations)?
Reproduction
- Keep the default UAC configuration (
PromptOnSecureDesktop=1).
- Trigger any elevation request (run a program that requires elevation).
- Attempt to attach to the secure desktop / enumerate windows and UIA / inject simulated input with a user-mode helper - all fail (see the section above).
- After setting
PromptOnSecureDesktop to 0, repeat steps 2-3 - the prompt can be detected and operated on the interactive desktop.
Local measurement 2026-10-14; read-only checks + public Microsoft documentation.