Claude Code computer use: enable it, approve apps and fix common errors

How to enable the built-in computer-use MCP server in the Claude Code CLI, what per-app approval, hidden apps and the one-session lock mean, how to fix its common errors, and the alternatives.

By Paul Kasten · Updated

Short answer: Claude Code has computer use built in as an MCP server called computer-use. On macOS with a Pro or Max plan, run /mcp, select computer-use, choose Enable, and grant your terminal Accessibility and Screen Recording. Claude then asks before it controls each app, hides your other apps while it works, and lets only one session use the computer at a time; it does not run in claude -p. If you need parallel sessions, other plans or no hidden apps, a separate computer use MCP server fills that gap.

What it is and who gets it

Computer use in the Claude Code CLI lets Claude open apps, click, type and take screenshots from the same conversation in which it writes code. Anthropic's examples: build a macOS app and click through every control, reproduce a layout bug by resizing a window, or drive the iOS Simulator without writing XCTest (source).

It is a research preview with firm requirements:

  • macOS only. Not in the CLI on Linux or Windows.
  • Pro or Max, signed in through claude.ai. Not on Team or Enterprise, not with Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry.
  • An interactive session. Not available in non-interactive mode with -p.

If you would rather use it in the Claude Desktop app, which has a background mode on macOS, see Claude computer use on the Mac.

Enable the computer-use server

  1. Start Claude Code in your project and run /mcp.
  2. Find computer-use in the server list. It shows as disabled.
  3. Select it and choose Enable. The setting persists per project, so you do this once per project.
  4. The first time Claude uses your computer, a prompt asks for two macOS permissions for your terminal app: Accessibility (click, type, scroll) and Screen Recording (see the screen). It links to the right System Settings panes. Grant both and select Try again.

Then ask for a GUI task, for example:

Build the app target, launch it, and click through each tab to make
sure nothing crashes. Screenshot any error states you find.

Per-app approval

Enabling the server does not open every app to Claude. The first time it needs an app in a session, your terminal shows which apps it wants, any extra permissions such as clipboard access, and how many other apps will be hidden. You choose Allow for this session or Deny. Approvals end with the session.

Some apps carry an extra warning because of what they reach:

WarningApplies to
Equivalent to shell accessTerminal, iTerm, VS Code, Warp and other terminals and IDEs
Can read or write any fileFinder
Can change system settingsSystem Settings

The warning does not block these apps. Approve Finder if Claude needs to click the desktop, the Dock or a Finder window.

The level of control also depends on the app category: browsers and trading platforms are view-only, terminals and IDEs are click-only, everything else gets full control. Claude Code cannot type into your IDE through computer use, and it cannot fill forms in a browser. For web work Claude uses Claude in Chrome when you have it set up.

How it behaves on your screen

  • Other apps are hidden. When Claude starts controlling the screen, your other visible apps disappear so it only interacts with the approved ones. Your terminal stays visible and is excluded from screenshots. Hidden apps return when the turn ends; in the CLI that is always on.
  • One session at a time. A session takes a lock at its first computer use action and keeps it until the session exits, not until the task finishes.
  • Screenshots are downscaled. A 16-inch MacBook Pro at native Retina resolution captures at 3456 by 2234 and is downscaled to roughly 1372 by 887. There is no setting for this; if text is too small for Claude, enlarge it in the app.
  • Esc stops it. A notification says "Claude is using your computer · press Esc to stop." Esc anywhere or Ctrl+C in the terminal aborts, unhides your apps and returns control. The session keeps the lock until it exits.

Common errors and fixes

"Computer use is in use by another Claude session"

Another Claude Code session holds the lock. Exit that session; finishing its task is not enough. If the other session crashed, the lock is released automatically once Claude detects that the process is gone. To run GUI work from several sessions at once, see running several AI agents at once.

The macOS permissions prompt keeps coming back

macOS often needs the requesting process restarted after you grant Screen Recording. Quit Claude Code completely and start a new session. If the prompt persists, open System Settings > Privacy & Security > Screen Recording and check that your terminal app is listed and switched on.

computer-use does not appear in /mcp

The server only appears on eligible setups. Check, in this order: you are on macOS; /status shows a Pro or Max subscription; you signed in through claude.ai rather than an API key or a cloud provider; you are in an interactive session, not claude -p. Anthropic's advice for people who only reach Claude through a cloud provider is a separate claude.ai account; the other routes are in Claude computer use on a Team or Enterprise plan.

Claude clicks but does not type in my terminal or editor

That is the click-only tier for terminals and IDEs, not a bug. Claude edits code through its own file tools and runs commands through Bash; computer use is meant for the app you are building, not for your editor.

Differences from Claude Desktop

The CLI and Claude Desktop share the same computer use engine (source):

FeatureClaude DesktopClaude Code CLI
PlatformsmacOS and WindowsmacOS only
EnableToggle in SettingsEnable computer-use in /mcp
Denied apps listConfigurable in SettingsNot yet available
Unhiding apps afterwardsOptionalAlways on
Background mode on macOSYesNo, other apps are hidden while Claude works

Alternatives when the built-in server is not enough

Claude Code already picks the most precise tool first: an MCP server for the service, Bash for commands, Claude in Chrome for browser work, and only then computer use. Before reaching for the screen, check whether one of these does the job:

  • A dedicated MCP server for the app or service, if one exists.
  • Claude in Chrome for websites.
  • The iOS Simulator pane in Claude Desktop, which runs and tests iOS apps without screen control.
  • The API computer use tool for scripted, unattended runs, in a virtual machine or container you operate. Anthropic recommends a dedicated VM with minimal privileges (source).
  • A computer use MCP server on your Mac, when you want several sessions in apps at once, no hidden apps, or Claude Code on a plan the built-in server excludes. Computer use MCP servers for the Mac explains what to check.

ShadowCursor is one such server: a Mac app that gives every Claude Code session its own cursor, drawn in its color with a name tag, its own keyboard whose keys arrive only in its window, its own clipboard and its own windows, which stay where they are even when yours cover them. Several sessions can work at once, each with its own cursor, so there is no lock to wait for. It connects to Claude Code with one click, without configuration files, and works the same in Codex, Cursor and VS Code.

Its limits: minimized and hidden windows cannot be operated, system drag and drop of files, tabs or text is cancelled, hover without a click does not reach Chrome or Electron apps, and code editors such as VS Code are read from the screenshot because they do not expose their text through accessibility. It needs macOS 15 or later.

FAQ

Is Claude Code computer use an MCP server?

Yes. It is a built-in MCP server named computer-use that you enable in /mcp. Anthropic gates it to Pro and Max on macOS; ordinary MCP servers you add yourself are not tied to that rule.

Does Claude Code computer use work on Windows or Linux?

Not in the CLI. On Windows, Anthropic points to computer use in the Claude Desktop app. On Linux, Anthropic documents it for neither the CLI nor the desktop app.

Can I use computer use in claude -p or in CI?

No. The built-in server needs an interactive session. For automated pipelines, Anthropic's computer use tool in the API runs against an environment you operate, such as a container.

Why are my other apps hidden while Claude works?

The CLI hides other visible apps so Claude interacts only with the ones you approved, and restores them when the turn ends. There is no switch to keep them visible in the CLI.

Can two Claude Code sessions use computer use at once?

No. The first session holds the lock until it exits, and the second gets the "in use by another Claude session" error. With a computer use MCP server such as ShadowCursor, each session gets its own cursor and they work side by side.