Claude Code

在任意 AI 编程 agent 中允许所有命令:Cursor、Claude Code、Codex、Gemini CLI、Copilot CLI 及另外 7 款(2026)

如何让 AI 编程 agent 无需审批即可运行命令?

每个主流编程 agent 都提供两种手段:一是完全自动批准的开关(Cursor 的 Run Everything、Claude Code 的 --dangerously-skip-permissions、Codex、Gemini CLI 和 Copilot CLI 的 --yolo、Cline 的 YOLO Mode),二是有范围限制的 allowlist,只预先批准你信任的命令。allowlist 是更安全的默认选择。完全开关请只用于容器、虚拟机或一次性项目。

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

设置一变,第一时间知道

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

快速答案:各工具的完全自动批准开关

  • Cursor:Settings > Agents > Approvals & Execution,Run Mode = Run Everything(无 sandbox,无审查)。
  • Claude Code:claude --dangerously-skip-permissions,仅适用于容器或虚拟机。Auto mode 是有审查的折中方案:不再弹出常规确认,同时由分类器检查各项操作。
  • OpenAI Codex CLI:--dangerously-bypass-approvals-and-sandbox,别名 --yolo,同时移除审批和 sandbox。
  • Gemini CLI:--yolo(等同于 --approval-mode yolo)。只能通过命令行开启。
  • GitHub Copilot CLI:--allow-all-tools 跳过工具确认;--allow-all 或 --yolo 一次性开启所有权限。
  • Cline:Cline Settings > Features > YOLO Mode。它会关闭所有安全检查。
  • goose:GOOSE_MODE=auto,这本身就是默认值,会在不询问的情况下编辑和删除文件。
  • Junie CLI:brave mode,用 /brave 或 Ctrl+B 切换,或使用 junie --brave。级别 On 会在不询问的情况下执行所有敏感操作。
  • Factory Droid:无头运行时使用 droid exec --auto high。
  • OpenCode:在 opencode.json 中将 permission 规则设为 allow。
  • Kiro:在 ~/.kiro/settings/permissions.yaml 中配置 allow 规则。
  • Zed:agent.tool_permissions,并将 default 设为 allow。

更安全的方式:只预先批准受信任的命令

大多数工具允许你放行特定命令,其他命令仍需确认。这样测试、linter 和 git 读取等日常工作可以快速进行,同时不会把 rm、git push 或云 CLI 交给 agent。

Claude Code:.claude/settings.json

{
  "permissions": {
    "allow": ["Bash(npm run *)", "Bash(git commit *)"],
    "deny": ["Bash(git push *)"]
  }
}

Cursor:.cursor/permissions.json

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

Gemini CLI:.gemini/settings.json

{
  "tools": {
    "allowed": ["run_shell_command(git)", "run_shell_command(npm test)"]
  }
}

GitHub Copilot CLI:允许除 rm 和 git push 之外的所有命令

copilot --allow-all-tools --deny-tool='shell(rm)' --deny-tool='shell(git push)'

OpenCode:opencode.json(最后匹配的规则生效)

{
  "permission": {
    "bash": {
      "*": "ask",
      "git *": "allow",
      "npm *": "allow",
      "rm *": "deny"
    }
  }
}

Kiro:~/.kiro/settings/permissions.yaml

rules:
  - capability: shell
    match: ["git *", "npm *", "npx *"]
    effect: allow

Sandbox:带安全网的自动批准

  • Codex 将审批策略与 sandbox 搭配使用:read-only、workspace-write 或 danger-full-access。codex --sandbox workspace-write --ask-for-approval on-request 允许它编辑工作区,并在越出工作区前询问。在 workspace-write 下,网络访问默认关闭。
  • Cursor 的 Auto-review 模式会立即执行 allowlist 中的调用,并在可能时把其他 shell 命令放到 sandbox 中运行。
  • Junie 的 --sandbox 参数让你以更低风险使用 brave mode;它仅存在于 development、nightly 和 experimental 构建中,且不支持 Windows。
  • Claude Code 官方建议:仅在容器或虚拟机内、以非 root 用户身份使用 --dangerously-skip-permissions。

allow 与 deny 重叠时哪条规则生效

  • Claude Code:先 deny,再 ask,最后 allow。
  • GitHub Copilot CLI:--deny-tool 始终优先于各 allow 选项。
  • Kiro:在所有作用域中,deny 优先于 ask,ask 优先于 allow。
  • OpenCode:最后匹配的规则生效,所以先写通配规则,再写具体模式。
  • goose:环境变量覆盖 config.yaml,config.yaml 覆盖默认值。

各工具的分步指南

来源

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

更多中文指南