Cursor

如何允许 Cursor 运行所有命令:Run Everything、allowlist 与 sandbox

如何让 Cursor 的 agent 无需询问即可运行命令?

打开 Settings > Agents > Approvals & Execution 并选择一个 Run Mode。Run Everything 会自动运行每次工具调用,没有 sandbox 或审查;Allowlist 只运行你列出的命令;Auto-review 会立即运行 allowlist 中的调用,并在可能时将其他 shell 命令送入 sandbox。

本文译自英文版指南。命令、配置键与代码均保持原样;如有出入,以英文版为准。 阅读英文原版 → · 其他语言: 日本語 · 한국어 · Español · Português (Brasil)

设置一变,第一时间知道

当这些工具的设置、参数或权限规则发生变化时,每周一封邮件通知你(英文),内容均对照官方文档核实。

三种运行模式

  • Auto-review:allowlist 中的调用立即运行;其他 shell 命令在可能时于 sandbox 中运行。
  • Allowlist:allowlist 中的操作无需批准即可运行;启用 sandboxing 后,受支持的 shell 命令可在 sandbox 中运行。
  • Run Everything:每次工具调用都自动运行,没有 sandbox 或分类器审查。

用 permissions.json 引导 Auto-review

Auto-review 会从 ~/.cursor/permissions.json(全局)或项目中的 .cursor/permissions.json 读取自然语言指令,指令位于 autoRun 对象的 allow_instructions 和 block_instructions 数组中。autoRun 仅在 Auto-review 模式下生效。

.cursor/permissions.json

{
  "autoRun": {
    "allow_instructions": ["Running the test suite and the linter is always fine."],
    "block_instructions": ["Every AWS CLI command should go through approval first."]
  }
}

选择 Run Everything 之前

Run Everything 会移除 sandbox,因此 agent 可以访问网络以及你的用户账户能访问的任何内容。在自己的机器上优先使用 Allowlist 或 Auto-review,把 Run Everything 留给一次性环境。

permissions.json 中的 Cursor 命令 allowlist(terminalAllowlist 和 mcpAllowlist)

除了 Settings > Agents > Approvals & Execution 中的列表,你还可以把 allowlist 放在文件中:~/.cursor/permissions.json 适用于所有工作区,仓库中的 .cursor/permissions.json 适用于单个工作区。两者同时存在时,Cursor 会拼接它们的数组,因此提交仓库文件后,队友就能获得相同的列表。文件变更时 Cursor 会重新读取,并且允许 JSONC 注释。

  • terminalAllowlist:无需批准即可运行的终端命令。条目是区分大小写匹配的命令前缀,因此 git 匹配 git status,但不匹配 gitk。冒号分隔基础命令和参数 glob,如 npm:install*。
  • mcpAllowlist:以 server:tool 形式书写的 MCP 工具,其中 server 是 mcp.json 中的键。匹配不区分大小写,* 可用于任一部分及名称内部,因此 github:* 允许 github 服务器的所有工具,linear:list_* 允许其 list 工具。不含冒号的条目会被忽略。
  • 每个键相互独立:如果文件定义了某个键,其合并后的列表只替换设置界面中该键对应的列表。你可以在文件中控制 MCP 工具,而把终端命令留在设置界面中。
  • 值为空数组的键会得到空的 allowlist,不会回退到设置界面。如果文件不存在或无法读取,则使用设置界面中的列表。
  • 当文件控制某个列表时,设置界面的相应部分变为只读,显示文件中的条目,并隐藏 Add to allowlist 选项。
  • 团队管理后台的设置优先。如果管理员控制了 Run Mode,文件和设置界面都无法添加条目。
  • 未知的键会被忽略。Cursor 称这些列表只是便利功能,而不是安全边界。Cursor CLI 有自己的权限系统。

.cursor/permissions.json

{
  "terminalAllowlist": ["git", "npm:install*", "cargo"],
  "mcpAllowlist": ["github:*", "linear:list_issues"]
}

Auto-review 如何决策

  • allowlist 中的 shell、MCP 和 Fetch 调用立即运行。
  • 其他 shell 命令在可能时于 sandbox 中运行。需要更多权限的命令(如完整网络访问、在工作区外写入或特权操作)会跳过 sandbox,交由 Cursor 后端的 LLM 分类器处理。
  • 如果 sandbox 中的命令因限制而失败,agent 可以在 sandbox 外重新运行,分类器会审查这次重新运行。
  • 如果分类器阻止了某次调用,agent 可能尝试其他方法,或者 Cursor 会向你显示批准提示。
  • Cursor 表示 Auto-review 不是安全边界。在 Enterprise 计划中,模型访问控制可以禁用它,成员随后会回退到 Allowlist。

仍会请求批准的保护措施

同一设置区域中的这些开关即使在原本会自动运行调用的模式下,也可能要求批准。如果 Cursor 仍在某类操作上停下,请先检查它们。

  • Browser Protection:阻止 agent 自动运行 Browser 工具。
  • File-Deletion Protection:阻止自动删除文件,包括 rm 命令。
  • External-File Protection:阻止自动创建、修改或删除工作区外的文件。
  • Read access(Cursor 3.23 及更高版本):默认的 System 允许 agent 无需批准即可读取工作区外的文件。Workspace 会对工作区外的读取请求批准,除非路径在 Read Allowlist 中。Read access 在 Run Everything 中不适用。

Ask Every Time 和 Run in Sandbox 去哪了

Cursor 3.5 弃用了 Ask Every Time 模式。要获得相同行为,请选择 Allowlist 并保持列表为空。Run in Sandbox 已并入开启 sandboxing 的 Allowlist。Run Mode 仅适用于本地 agent:Cloud Agents 在自己的机器上运行,从不请求批准。

来源

以下为本指南核对过的官方文档(英文)。 英文版核对日期: 2026-10-18

更多中文指南