本页目录10
- computer use 目前仅限 macOS,需要 Pro/Max 订阅、Claude Code v2.1.85+ 及交互式会话,第三方 API 提供商不支持
- Claude 按精确度优先选工具(MCP → Bash → Chrome → 屏幕控制),computer use 是最后手段
- 通过 `/mcp` 菜单启用内置 `computer-use` 服务器,首次使用需授权 macOS 的 Accessibility 和 Screen Recording 两项权限
- 每个 session 需逐应用审批,终端/IDE/Finder/系统设置等高权限应用会显示额外警告
- 按 `Esc` 或 `Ctrl+C` 可随时中止屏幕控制并自动恢复所有隐藏窗口,终端窗口不会出现在截图中以防提示词注入
- 内置安全机制包括逐 app 审批、哨兵警告、全局锁文件和全局 Esc 中止键
本文是对官方文档「Let Claude use your computer from the CLI」的中文要点摘要,完整内容以原文为准。原文链接:https://code.claude.com/docs/en/computer-use
功能概述
Computer use 是 Claude Code CLI 的 research preview 功能,目前仅限 macOS,让 Claude 像真人一样操控屏幕:打开应用、点击按钮、截图查看结果。使用前提:
- Pro 或 Max 订阅(Team / Enterprise 暂不支持)
- Claude Code v2.1.85+(
claude --version可确认) - 仅支持交互式会话,
-p非交互模式不可用 - 需通过 claude.ai 认证;Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry 等第三方提供商不支持
适用场景
| 场景 | 示例 |
|---|---|
| 编译并验证原生应用 | 写 Swift → 编译 → 启动 → 点击每个控件截图 |
| 端到端 UI 测试 | 打开 Electron 应用点击注册流程,无需配置 Playwright |
| 复现视觉/布局 bug | 调整窗口尺寸截图复现,修改 CSS 后再次验证 |
| 驱动无 CLI 的 GUI 工具 | 设计软件、硬件面板、iOS Simulator、专有工具 |
工具优先级
Claude 不会一上来就占用屏幕——它按精确度从高到低选择工具:
- 目标服务有 MCP server → 优先使用
- 任务可用 Bash 完成 → 直接走终端
- 是浏览器任务且装了 Claude in Chrome → 走浏览器扩展
- 以上均不适用 → 才启用 computer use
启用步骤
- 在交互式会话中运行
/mcp - 找到
computer-use(默认禁用),选择 Enable——设置按项目持久化,同一项目只需配置一次 - Claude 首次操控屏幕时,系统会提示授权两项 macOS 权限:
- Accessibility:允许点击、输入、滚动
- Screen Recording:允许截取屏幕内容
- 授权后点 Try again;授予 Screen Recording 后 macOS 可能要求重启 Claude Code
每次 Session 的应用审批
启用服务器并不意味着 Claude 可以随意控制所有应用。每个 session 中,Claude 首次需要操控某应用时会弹出提示,显示将控制哪些应用、是否请求额外权限(如剪贴板)、工作期间会隐藏多少其他应用。可选择 Allow for this session 或 Deny,审批仅在当前 session 生效;若 Claude 同时请求多个应用,可一次性批准。
对以下高权限应用会额外显示警告:
| 警告内容 | 对应应用 |
|---|---|
| 等同于 shell 访问 | Terminal、iTerm、VS Code、Warp 等终端/IDE |
| 可读写任意文件 | Finder |
| 可修改系统设置 | System Settings |
警告不会阻止使用,而是让你在审批前明确知晓所授予的权限范围。
工作机制
全局锁:同一时间只有一个 Claude 会话可以控制屏幕。其他会话尝试时会收到提示要求先退出;若占用锁的会话已崩溃,Claude 检测到进程消失后会自动释放锁。
自动隐藏应用:Claude 工作时会隐藏其他可见应用,只与已审批应用交互。终端窗口始终可见且不会出现在截图中,防止屏幕上的内容被循环读取注入。完成后自动恢复所有窗口。
截图自动缩放:无需手动降低分辨率。以 16 英寸 MacBook Pro Retina 为例,3456×2234 自动缩放至约 1372×887,保持宽高比。若截图后文字太小,请在应用内放大字体而非修改系统分辨率。
随时中止:Claude 获得锁后会弹出 macOS 通知「Claude is using your computer · press Esc to stop」。按 Esc 或 Ctrl+C 立即中止,释放锁并恢复所有隐藏窗口。
安全边界
与沙盒化的 Bash 工具不同,computer use 直接运行在真实桌面上,信任边界有所不同,官方建议阅读 computer use safety guide。
内置防护措施:
- 逐应用审批:只能控制当前 session 中已审批的应用
- 哨兵警告:高权限应用在审批前显示额外警告
- 终端排除截图:防止终端内容被 Claude 读取并注入
- 全局 Esc:按键由系统消费,prompt injection 无法用它关闭对话框
- 锁文件:全局唯一,防止多 session 并发控制
典型工作流示例
验证原生构建:让 Claude 编译并点击验证 macOS menu bar 应用的每个控件,最后截图汇报。
复现布局 bug:告诉 Claude「modal 在窄窗口下裁切了 footer」,Claude 调整窗口尺寸复现截图,修改 CSS 后再验证。
测试 iOS Simulator:让 Claude 打开模拟器、点击完整 onboarding 流程并报告每屏加载时间,无需编写 XCTest。
CLI vs Desktop 主要差异
| 功能 | Desktop | CLI |
|---|---|---|
| 平台支持 | macOS + Windows | 仅 macOS |
| 启用方式 | 设置 > General 开关 | /mcp 中启用 computer-use |
| 应用黑名单 | 可在设置中配置 | 暂不支持 |
| 自动恢复隐藏 | 可选关闭 | 始终开启 |
常见故障排查
computer-use在/mcp中不显示:依次核查——是否为 macOS、版本 ≥ v2.1.85(运行claude --version)、订阅为 Pro/Max(运行/status)、通过 claude.ai 认证、处于交互式会话- 权限提示反复出现:完全退出 Claude Code 后重新启动;在系统设置 > 隐私与安全 > 屏幕录制中确认终端 app 已列出并启用
- 锁被占用:结束或退出持有锁的会话;若该会话已崩溃,Claude 会自动检测并释放