Desktop control changes the unit of permission.
GitHub put computer use into public preview for Copilot CLI and its desktop app on macOS and Windows. The tool can read accessible content and visual context, click controls, enter text, press keys, scroll, drag, and move through workflows across applications.[1]
That is useful for legacy and GUI-only software. It also means permission cannot stop at "may run a command." The desktop route has four separate questions. What can the agent observe? Which applications can it control? What data can move between them? Which approvals survive the session?
A desktop approval grants a route through changing windows, not one fixed command over known arguments.
Use the narrow tool before the visual tool.
GitHub's documentation says an API, MCP server, terminal command, filesystem tool, or dedicated browser tool usually provides more structured information and more predictable results. Computer use is for tasks that require a visual interface.[2]
This is a routing rule, not a preference. A direct tool exposes named inputs and outputs. A desktop agent has to infer state from controls, accessibility data, screenshots, timing, and window position. Each extra inference is another place for stale state or the wrong target.
IF DIRECT_TOOL_EXISTS=YES
USE_DIRECT_TOOL
ELSE
NAME_APPLICATIONS
NAME_ALLOWED_ACTIONS
NAME_SENSITIVE_VIEWS
SET_STOP_PATH
REVIEW_RESULT
Saved approval is not current intent.
Computer use is off by default. When an application asks for approval, a user can allow it for the session, save approval for later sessions, or deny it. A saved "Always allow" decision applies to Copilot CLI and the Copilot app on the same computer. Removing it blocks future sessions, but does not revoke access already granted to a running session.[2]
That last detail belongs in the control itself. A permission list needs two actions: remove future approval and stop the active session. Showing only one creates a false kill switch.
Screen permission and shell isolation cover different routes.
On macOS, computer use asks for Accessibility permission to control application elements and Screen Recording permission to inspect windows when visual context is needed. Apple says third-party collection follows that party's terms and privacy policy, and macOS lets users review screen-recording access in Privacy & Security settings.[3]
Local sandboxing limits command access to files, networks, credentials, and system functions. GitHub says the sandbox is off by default. Without it, agent-run shell commands have the same access as the signed-in user. The local sandbox uses operating-system controls and is lighter than a separate virtual machine or container.[4]
Do not merge these controls into one "safe mode" lamp. A shell can be restricted while a desktop route sees sensitive windows. A desktop route can be disabled while a command still reads broad filesystem paths. Record both states.
The stop path has to match the live route.
GitHub documents a live interrupt. Press Escape twice in Copilot CLI. In the desktop app, use Stop or press Escape. The same documentation warns that changing layouts, timing, window state, ambiguous instructions, and unexpected on-screen content can cause wrong controls, repeated actions, or unintended changes.[2]
Put the stop instruction beside the control that starts desktop authority. Test it against a disposable workflow. Then review the target application, visible information, requested permission, result, and any saved approval before using the route on consequential work.