Skip to main content
Computer use is a research preview on macOS that requires a Pro or Max plan. It is not available on Team or Enterprise plans. It requires an interactive session, so it is not available in non-interactive mode with the -p flag.
Computer use lets Claude open apps, control your screen, and work on your machine the way you would. From the CLI, Claude can compile a Swift app, launch it, click through every button, and screenshot the result, all in the same conversation where it wrote the code. This page covers how computer use works in the CLI. For the Desktop app on macOS or Windows, see computer use in Desktop.

What you can do with computer use

Computer use handles tasks that require a GUI: anything you’d normally have to leave the terminal and do by hand.
  • Build and validate native apps: ask Claude to build a macOS menu bar app. Claude writes the Swift, compiles it, launches it, and clicks through every control to verify it works before you ever open it.
  • End-to-end UI testing: point Claude at a local Electron app and say “test the onboarding flow.” Claude opens the app, clicks through signup, and screenshots each step. No Playwright config, no test harness.
  • Debug visual and layout issues: tell Claude “the modal is clipping on small windows.” Claude resizes the window, reproduces the bug, screenshots it, patches the CSS, and verifies the fix. Claude sees what you see.
  • Drive GUI-only tools: interact with design tools, hardware control panels, the iOS Simulator, or proprietary apps that have no CLI or API.

When computer use applies

Claude has several ways to interact with an app or service. Computer use is the broadest and slowest, so Claude tries the most precise tool first:
  • If you have an MCP server for the service, Claude uses that.
  • If the task is a shell command, Claude uses Bash.
  • If the task is browser work and you have Claude in Chrome set up, Claude uses that.
  • If none of those apply, Claude uses computer use.
Screen control is reserved for things nothing else can reach: native apps, simulators such as the iOS Simulator, and tools without an API.

Enable computer use

Computer use is available as a built-in MCP server called computer-use. It’s off by default until you enable it.
1

Open the MCP menu

In an interactive Claude Code session, run:
Find computer-use in the server list. It shows as disabled.
2

Enable the server

Select computer-use and choose Enable. The setting persists per project, so you only do this once for each project where you want computer use.
3

Grant macOS permissions

The first time Claude tries to use your computer, you’ll see a prompt to grant two macOS permissions:
  • Accessibility: lets Claude click, type, and scroll
  • Screen Recording: lets Claude see what’s on your screen
The prompt includes links to open the relevant System Settings pane. Grant both, then select Try again in the prompt. macOS may require you to restart Claude Code after granting Screen Recording.
After setup, ask Claude to do something that needs the GUI:

Approve apps per session

Enabling the computer-use server doesn’t grant Claude access to every app on your machine. The first time Claude needs a specific app in a session, a prompt appears in your terminal showing:
  • Which apps Claude wants to control
  • Any extra permissions requested, such as clipboard access
  • How many other apps will be hidden while Claude works
Choose Allow for this session or Deny. Approvals last for the current session. You can approve multiple apps at once when Claude requests them together. Apps with broad reach show an extra warning in the prompt so you know what approving them grants: These apps aren’t blocked. The warning lets you decide whether the task warrants that level of access. Claude’s level of control also varies by app category: browsers and trading platforms are view-only, terminals and IDEs are click-only, and everything else gets full control. See app permissions in Desktop for the complete tier breakdown.

How Claude works on your screen

Understanding the flow helps you anticipate what Claude will do and how to intervene.

One session at a time

Only one session at a time can use your computer. Claude Code takes a machine-wide lock when a session performs its first computer use action. Claude Code releases it when that session exits, not when the task finishes. If another session is already using your computer, Claude Code rejects new attempts and tells you which session holds the lock. Exit that session first.

Apps are hidden while Claude works

When Claude starts controlling your screen, other visible apps are hidden so Claude interacts with only the approved apps. Your terminal window stays visible and is excluded from screenshots, so you can watch the session and Claude never sees its own output. When Claude finishes the turn, hidden apps are restored automatically.

Screenshots are downscaled automatically

Claude Code downscales every screenshot before sending it to the model. You don’t need to lower your display resolution or resize windows on Retina or other high-resolution displays. A 16-inch MacBook Pro at native Retina resolution captures at 3456×2234 and downscales to roughly 1372×887, preserving aspect ratio. There is no setting to change the target size. If on-screen text or controls are too small for Claude to read after downscaling, increase their size in the app rather than changing your display resolution.

Stop at any time

When Claude acquires the lock, a macOS notification appears: “Claude is using your computer · press Esc to stop.” Press Esc anywhere to abort the current action immediately, or press Ctrl+C in the terminal. Either way, Claude stops, unhides your apps, and returns control to you. The session keeps the computer use lock until it exits. A second notification appears when Claude is done.

Safety and the trust boundary

Unlike the