Claude Code 权限模式详解:auto、手动、plan、bypass 与权限规则配置

Claude Code 六种权限模式各自放行什么、怎么用 Shift+Tab 切换、auto 模式为什么提示不可用、allow / ask / deny 规则怎么写,以及 bypass 模式的风险。

NNathaniel bigo··原创首发·AI 辅助撰写
13 分钟读完
资料核对于 2026-10-07 · 依据官方文档与公开资料整理 Plus 账号
本文根据 Claude Code 官方文档整理,核对日期 2026-10-07;截图引用自官方文档并注明出处。Claude Code 版本更新很快,模式名称和默认值以你本机的 claude --help 与状态栏为准。

适用于谁

  • 用 Claude Code 时被「Do you want to proceed?」问得太频繁,想少点确认又怕它乱来的人;
  • 搜「claude code 权限配置推荐」「dangerously-skip-permissions」,想知道全开权限到底安不安全的人;
  • 看到「auto mode unavailable」提示,不知道为什么自己用不了 auto 模式的人。

安装和第一次运行详见本站《Claude Code 中文入门教程(2026):安装、登录、第一个任务、常用命令》。

结论先说

  1. 权限模式决定「默认问不问」,权限规则(allow / ask / deny)在模式之上做精细调整。规则的判定顺序是 deny → ask → allow,deny 在任何模式下都生效,连 bypass 也挡得住。
  2. 日常开发推荐 auto 模式:由一个独立的分类器模型替你审核操作,拦下下载执行脚本、强推、生产部署、批量删除这类高风险动作;想每一步都自己看就用 Manual(手动)。
  3. plan 模式只读不改,适合先让它出方案;acceptEdits 自动接受改文件,适合边改边用 git diff 复查。
  4. bypassPermissions(--dangerously-skip-permissions)几乎不做任何检查,官方明确要求只在容器、虚拟机等隔离环境里用,而且以 root / sudo 运行时会被拒绝。
  5. Shift+Tab 随时切换;想改默认模式,在 settings.json 里设 permissions.defaultMode。

六种模式一览

模式(配置值)不经询问就能做的事适合
Manual(default)只有读取敏感项目、陌生代码,每一步自己把关
acceptEdits读取、改文件,以及 mkdir、touch、mv、cp 等常见文件命令一边让它改,一边在编辑器里复查
plan读取;auto 可用时还包括分类器放行的探索命令动手前先研究代码、出方案
auto所有操作,但有后台安全检查长任务、减少确认疲劳
dontAsk读取和事先允许的工具,其余一律拒绝锁死权限的 CI、脚本
bypassPermissions全部仅限隔离的容器 / 虚拟机

Manual 模式在命令行、VS Code、JetBrains 和桌面版里都叫 Manual,写进配置时用 default,命令行也接受 manual 作为别名,例如 claude --permission-mode manual。

Manual 模式下,执行命令前会弹出这样的确认框:

Claude Code 在 Manual 模式下执行 npm test 前弹出的确认框,选项依次是:是;是,且以后对 npm test * 不再询问;是,并切换到 auto 模式;否

图片来源:Claude Code 官方文档《Configure permissions》

选「Yes, and don't ask again」时,命令类的规则会永久保存到仓库根目录的 .claude/settings.local.json;改文件的批准只在本次会话内有效。在选项上按 Tab 还可以附一句说明给 Claude(比如「可以跑,但别加 --watch」)。

怎么切换模式

命令行里:按 Shift+Tab 循环切换。从 auto 出发,依次是 manual → accept edits → plan,再回到 auto。输入框下方的状态栏会显示当前模式,例如 ⏸ manual mode on、⏵⏵ accept edits on、⏸ plan mode on、⏵⏵ auto mode on。

启动时指定:

bash
claude --permission-mode plan

设为默认:写进 ~/.claude/settings.json(对本机所有项目生效):

json
{
  "permissions": {
    "defaultMode": "default"
  }
}

注意两个坑(官方文档原文写明):

  • 在项目的 .claude/settings.json 或 .claude/settings.local.json 里写 "auto" 不生效;想默认 auto,要写在用户级 ~/.claude/settings.json。
  • 在这两个项目级文件里写 "bypassPermissions" 也不生效,会退回 Manual。这是为了防止别人提交到仓库的配置替你打开危险模式。

VS Code:点输入框底部的模式标识,标签分别是 Manual、Edit automatically、Plan、Auto、Bypass permissions。想固定起始模式,用 VS Code 用户设置里的 claudeCode.initialPermissionMode(它不接受 auto)。桌面版:在 Code 标签页发送按钮旁的模式选择器里切换。

auto 模式:会拦什么、为什么提示不可用

auto 模式里,每个操作执行前由分类器检查是否超出你的要求。官方列出的默认拦截项包括:curl | bash 这类下载即执行、把敏感数据发到外部、生产部署和数据库迁移、云存储批量删除、强制推送(force push)、git reset --hard 等会丢弃未提交改动的命令、修改 DNS / 证书 / 密钥管理、合并没人审过的 PR、把凭据打印进对话等。

分类器默认只信任当前工作目录和仓库已配置的远程地址。如果公司内部的代码托管、存储桶也要放行,用 autoMode.environment 配置可信基础设施,或者运行 /auto-mode-setup 让它帮你生成;claude auto-mode defaults 可以打印内置规则。

提示 auto 模式不可用,按官方要求逐项检查:

  • 模型:在 Anthropic API 上需要 Claude Opus 4.6 及以后、Sonnet 4.6 及以后或 Fable 系列;Haiku、Sonnet 4.5、Opus 4.5 等旧模型在任何平台都不支持。
  • 组织设置:Team / Enterprise 默认可用,但管理员可以用 permissions.disableAutoMode: "disable" 关掉;你自己的任一设置文件里有这个值也会关掉。
  • 服务端:Anthropic 可能临时在服务端关闭 auto 模式,收到这类答复的会话到结束前都不会再开,稍后新开会话再试。

官方同时提醒:auto 模式能减少确认,但不保证安全,敏感操作仍然需要人工审查。

权限规则怎么写

规则格式是 工具 或 工具(限定内容),在会话里用 /permissions 可以查看、增删,并显示每条规则来自哪个设置文件。

写法含义
Bash所有 shell 命令
Bash(npm run *)以 npm run 开头的命令
Bash(git push *)以 git push 开头的命令
Read(./.env)读取当前目录的 .env
Read(./secrets/**)读取 secrets 目录下的所有文件
Edit(/src/**/*.ts)修改项目 src 下的 ts 文件
WebFetch(domain:example.com)抓取 example.com 的网页
mcp__github名为 github 的 MCP 服务器提供的所有工具
Agent(Explore)名为 Explore 的子代理

写通配符的要点: 要放在子命令之后。Bash(git log ) 只放行 git log,而 Bash(git ) 会放行所有 git 命令;Bash(ls ) 不匹配 lsof,Bash(ls*) 会匹配。

一份适合个人项目的起步配置(放在项目 .claude/settings.json,可以提交给团队共用):

json
{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git status)",
      "Bash(git diff *)",
      "Bash(git commit *)"
    ],
    "ask": [
      "Bash(git push *)",
      "Bash(gh pr create *)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  }
}

这样跑脚本、看改动、提交不再询问;推送和建 PR 每次都要你点头(ask 规则在 auto 模式下也会强制询问);密钥文件不让读。要注意 Bash 规则是按命令文本前缀匹配的,git -C . push 这种换了写法的推送不会被 Bash(git push *) 匹配到;需要更严格的检查时,官方建议用 PreToolUse Hook 或开启沙箱。另外,Read / Edit 的 deny 规则管不住「脚本自己去读文件」,要做到系统级隔离需要 /sandbox 开启 Bash 沙箱(macOS、Linux、WSL2 可用)。

bypass 模式:能不能「权限全开」

--dangerously-skip-permissions 和 --permission-mode bypassPermissions 等价:跳过权限提示和安全检查,连 .git、.claude 这类受保护路径也直接写入。官方的要求很明确:

  • 只在没有外网、不会伤到宿主机的容器、虚拟机、开发容器里用;
  • 它不防提示词注入——Claude 读到的网页、文件里如果藏着恶意指令,没有任何一道关卡;
  • 在 Linux / macOS 上以 root 或 sudo 运行会直接报错拒绝;
  • 第一次启用会弹窗要你确认承担风险;管理员可以用 permissions.disableBypassPermissionsMode 禁用它。

想少点确认,官方推荐的替代方案是 auto 模式,或者 Manual + 沙箱的「auto-allow」模式。CI 里需要无人值守时,优先用 dontAsk 加精确的 --allowedTools 白名单:

bash
claude -p "运行测试并总结失败原因" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"

常见问题

Q:我在项目配置里写了 "defaultMode": "auto",为什么启动还是 Manual?

项目级的 .claude/settings.json 和 .claude/settings.local.json 不认 auto,挪到 ~/.claude/settings.json。VS Code 里的会话还要看扩展自己的 claudeCode.initialPermissionMode。

Q:allow 了一个命令,为什么还是被拦?

判定顺序是 deny → ask → allow,只要有一条更宽的 deny 或 ask 规则匹配,具体的 allow 也救不回来。用 /permissions 查看规则分别来自哪个文件。管理员下发的托管设置优先级最高,命令行参数也无法覆盖。

Q:在 CLAUDE.md 里写「不许删文件」管用吗?

只能影响 Claude「想不想做」,不能限制它「能不能做」。官方说明权限由 Claude Code 程序强制执行,要真正禁止请写 deny 规则。

Q:plan 模式和 Manual 有什么区别?

plan 模式下 Claude 只研究、写方案,批准方案前不会改源码;Manual 模式可以改,只是每次都问你。plan 模式的用法详见本站《Claude Code Plan 模式怎么用:先出方案再改代码》。

Q:网页版 / 手机上能用 bypass 吗?

不能。云端会话只提供 Accept edits、Plan、Auto,并且会忽略仓库设置文件里的 bypassPermissions 和 dontAsk。

参考资料

  • Choose a permission mode(官方):https://code.claude.com/docs/en/permission-modes
  • Configure permissions(官方):https://code.claude.com/docs/en/permissions
  • Configure auto mode(官方):https://code.claude.com/docs/en/auto-mode-config
  • Configure the sandboxed Bash tool(官方):https://code.claude.com/docs/en/sandboxing
  • Settings files and precedence(官方):https://code.claude.com/docs/en/settings
需要开通或续费?Claude Pro 充值 →

Nathaniel 的更多内容

  1. 01

    ChatGPT 图片识别怎么用:上传照片、截图提问与识别不准的处理

    ChatGPT 能看懂照片、截图、图表和手写笔记。本文按官方帮助中心讲清怎么上传图片(含粘贴和拖拽)、支持的格式和 20MB 限制、能不能传视频,以及官方列出的十条识别局限(中日韩文字、旋转、图表线型、计数等)和对应的提问技巧。

    ChatGPT0
  2. 02

    AI绘画提示词怎么写:主体、风格、构图、光线的通用公式与词汇表

    AI 绘画提示词到底怎么写?本文综合 OpenAI、Google、Midjourney 三家官方提示指南,总结一套通用公式(主体 + 动作 + 场景 + 构图 + 光线 + 风格 + 约束),附中英对照词汇表,并讲清 ChatGPT / Nano Banana 与 Midjourney 写法的差别。

    ChatGPT其他 AI 工具0
  3. 03

    ChatGPT 套餐对比:Free、Go、Plus、Pro、Business 有什么区别(2026)

    ChatGPT 现在有 Free、Go、Plus、Pro(Pro 100 / 200 / 500)和面向团队的 Business。本文按官方价格页和帮助中心整理各套餐在模型、上下文、Work、Codex、生图、语音等方面的区别,并给出按用途选择的建议。

    ChatGPT0
  4. 04

    MCP 是什么:Model Context Protocol 入门,以及在 Claude 里怎么用

    MCP(模型上下文协议)是 Anthropic 发起的开放标准,让 AI 应用统一连接文件、数据库和各种工具。本文讲清它的结构、两种传输方式,以及在 claude.ai、桌面版、Claude Code、API 里怎么用。

    Claude0
  5. 05

    Midjourney 怎么用:网页版从登录到出图的完整流程

    第一次用 Midjourney 不知道从哪下手?本文按官方文档讲清网页版怎么登录、订阅、在 Imagine 栏写提示词出图,以及变体、放大、编辑、转视频和默认设置怎么调,附常见问题。

    其他 AI 工具0
  6. 06

    ChatGPT 已达上限 / Too many requests 怎么办:额度用完、请求过多与模型容量不足的区别

    ChatGPT 提示「已达上限」、「Too many requests」或「model is at capacity」时,原因并不相同。本文按官方帮助中心讲清套餐额度怎么算、何时重置、用完后的回退模型和点数,以及临时限制、容量不足时该怎么处理。

    ChatGPT0

同产品的其他教程

  1. 01

    Claude Excel 怎么用:Claude for Excel 加载项安装与表格分析

    Claude for Excel 加载项哪些套餐能用、支持哪些 Excel 版本、怎么安装,能做公式解释、改假设、查错、建模型等什么事,有哪些限制;Free 用户怎么用对话分析表格。

    Claude0
  2. 02

    Claude API Key 怎么获取:Claude Console 创建密钥、充值与用量查看

    Claude API Key 在 Claude Console(platform.claude.com)里创建。本文讲注册、创建密钥、三种密钥类型、预付费额度怎么买、用量页怎么看、密钥安全,以及 Claude Pro 订阅为什么不包含 API。

    Claude0
  3. 03

    Claude Code 上下文满了怎么办:/compact、/clear 与省 token 技巧

    Claude Code 上下文快满、提示 compacting conversation、token 消耗太快时怎么办?本文讲清 /context、/compact、/clear 的区别,压缩后哪些内容会保留,以及官方推荐的一系列省 token 做法。

    Claude0
  4. 04

    Claude API Python 入门:安装 SDK、第一个请求、流式输出与多轮对话

    用官方 anthropic Python SDK 调 Claude:安装与 API Key 配置、第一个 messages.create 请求、system 提示词、多轮对话(API 无状态)、流式输出、错误处理与重试、读取 token 用量。附可运行的命令行聊天示例。

    Claude0
  5. 05

    Claude Artifacts 是什么、怎么用:创建、分享与导出(2026 新版)

    Claude Artifacts(作品)是什么?2026 年 9 月改版后怎么在对话里做文档、幻灯片、设计和小工具,怎么分享链接、导出成 Word / PPT / PDF / HTML,旧版 Artifacts 还能不能用,一篇讲清。

    Claude0
  6. 06

    CLAUDE.md 怎么写:最佳实践、模板与 AGENTS.md 的区别

    CLAUDE.md 是什么、放在哪、写什么不写什么?附可复制模板,并讲清 AGENTS.md 是什么、Claude Code 和 Codex 分别怎么读这两个文件,以及一个仓库里怎么让两者共存。

    ClaudeCodex0

0 条评论

登录 后参与评论

还没有评论,来抢沙发~