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
更多中文指南
- 在任意 AI 编程 agent 中允许所有命令:Cursor、Claude Code、Codex、Gemini CLI、Copilot CLI 及另外 7 款(2026)
- 各 AI 编程 agent 的规则与指令文件:.cursor/rules、CLAUDE.md、AGENTS.md、GEMINI.md、Copilot instructions 等(2026)
- 各 AI 编程 agent 的设置文件位置:Claude Code、Cursor、Codex、Gemini CLI、OpenCode、Qwen Code、Amp 和 Factory Droid(2026)
- 为任意 AI 编程 agent 添加 MCP server:Claude Code、Cursor、Codex、Gemini CLI、VS Code 及另外 8 款(2026)
- 各 AI 编程 agent 中的 hook:Claude Code、Cursor、Gemini CLI、GitHub Copilot、Kiro 和 Factory Droid(2026)
- 各 AI 编程 agent 中的 Agent Skills(SKILL.md):Claude Code、Codex、Cline、Amp 和 OpenHands(2026)
- Claude Code 权限:allow、ask 和 deny 规则、规则语法与允许的工具
- 如何允许 Claude Code 运行所有命令:权限模式、allow 规则与跳过权限
- Cursor 规则设置:项目、用户和 Team Rules、.mdc frontmatter、globs 与 AGENTS.md
- 向 Claude Code 添加 MCP 服务器(claude mcp add、.mcp.json、作用域)
- Subagent 与自定义 agent 对比:Claude Code vs Codex vs Cursor vs Gemini CLI vs GitHub Copilot(2026)