如何在使用claude code的时候,不需要一直点yes

如何在使用claude code的时候,不需要一直点yes

  • 前言:
  • 方法一:推荐方法:给这个项目单独建本地配置
    • [这样以后还会问哪些 yes?](#这样以后还会问哪些 yes?)
  • [方法二:用 WSL2 或 Docker / Dev Container 做隔离](#方法二:用 WSL2 或 Docker / Dev Container 做隔离)
    • [方案 A:WSL2,更适合 Windows 用户](#方案 A:WSL2,更适合 Windows 用户)
    • [方案 B:Docker / Dev Container,更适合想开 bypass 的人](#方案 B:Docker / Dev Container,更适合想开 bypass 的人)
    • [WSL2 和 Docker 怎么选?](#WSL2 和 Docker 怎么选?)

前言:

我们的方法不是给全盘权限,而是只在自己的当前文件夹下的方法。

如果是下面的方法:

powershell 复制代码
claude --dangerously-skip-permissions

或者:

powershell 复制代码
claude --permission-mode bypassPermissions

这会跳过几乎所有权限确认。Claude Code 官方明确说 bypassPermissions 会跳过所有权限提示,只建议在容器或虚拟机这类隔离环境里用。比如WSL2、Docker dev container 或 VM 。

方法一:推荐方法:给这个项目单独建本地配置

先退出 Claude,然后在 PowerShell 里执行:

powershell 复制代码
cd D:\coding\你的文件夹
New-Item -ItemType Directory -Force .claude | Out-Null
notepad .claude\settings.local.json

把下面内容粘进去保存:

json 复制代码
{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "permissions": {
    "allow": [
      "WebSearch",
      "WebFetch",

      "PowerShell(Get-ChildItem *)",
      "PowerShell(Get-Content *)",
      "PowerShell(Select-String *)",
      "PowerShell(Select-Object *)",
      "PowerShell(Format-Table *)",

      "PowerShell(git status*)",
      "PowerShell(git diff*)",
      "PowerShell(git log*)",
      "PowerShell(git branch*)",

      "PowerShell(npm run *)",
      "PowerShell(npm test*)",
      "PowerShell(pnpm *)",
      "PowerShell(yarn *)",
      "PowerShell(node *)",

      "Bash(git status*)",
      "Bash(git diff*)",
      "Bash(git log*)",
      "Bash(git branch*)",

      "Bash(npm run *)",
      "Bash(npm test*)",
      "Bash(pnpm *)",
      "Bash(yarn *)",
      "Bash(node *)",

      "PowerShell(\\(Get-Content \"D:\\\\coding\\\\serenity.skill\\\\A股人工智能公司调研.md\" | Measure-Object -Line\\).Lines)"
    ],
    "deny": [
      "Read(//**/.env)",
      "Read(//**/.env.*)",
      "Read(//**/secrets/**)",
      "Read(//**/*credential*)",

      "Edit(//**/.env)",
      "Edit(//**/.env.*)",
      "Edit(//**/secrets/**)",
      "Edit(//**/*credential*)",

      "PowerShell(git push*)",
      "PowerShell(Remove-Item *)",
      "PowerShell(Invoke-WebRequest *)",
      "PowerShell(curl *)",
      "PowerShell(wget *)",

      "Bash(git push*)",
      "Bash(rm -rf *)",
      "Bash(curl *)",
      "Bash(wget *)"
    ],
    "defaultMode": "acceptEdits"
  }
}

然后重新启动:

powershell 复制代码
cd D:\coding\你的文件夹
claude

进去后检查:

text 复制代码
/status

你应该能看到类似:

text 复制代码
Setting sources: User settings, Project local settings

Claude Code 官方文档说明:.claude/settings.local.json 是"只对当前仓库、只对你本人"的本地项目配置,并且创建时会被 git 忽略;/status 可以看到当前加载了哪些 settings source。(Claude Code2)


这样以后还会问哪些 yes?

会少很多,但也不是完全不问。

它会自动做:

text 复制代码
修改当前项目里的文件
创建/移动/复制常见文件
运行你允许的 git status / git diff / npm run / pnpm / node 等命令

但这些仍然可能问你或直接拒绝:

text 复制代码
访问项目外文件
读取 .env / secrets / credential
git push
Remove-Item
rm -rf
未在 allow 里的 shell 命令

也就是说,日常改代码不用一直点 yes,但也没有给它全盘权限。

方法二:用 WSL2 或 Docker / Dev Container 做隔离

如果你确实想更少的点 yes,或者干脆不点yes,在项目里赋予claude完全的权限:

powershell 复制代码
claude --dangerously-skip-permissions

或者:

powershell 复制代码
claude --permission-mode bypassPermissions

那可以创建一个隔离环境里,比如:

text 复制代码
WSL2
Docker dev container
VM 虚拟机

核心思路是:

text 复制代码
不是让 Claude 在你的整台电脑里自由行动,
而是让它只在一个隔离出来的开发环境里行动。

这样即使 Claude 执行了比较激进的命令,影响范围也主要限制在这个 Linux 环境、容器环境,或者当前挂载进去的项目目录里。


方案 A:WSL2,更适合 Windows 用户

WSL2 可以理解成 Windows 里的一个 Linux 开发环境。你可以把项目放在 WSL2 里面,然后在 WSL2 终端里安装和运行 Claude Code。

先在 PowerShell 里安装 WSL2:

powershell 复制代码
wsl --install -d Ubuntu

安装完成后重启电脑,打开 Ubuntu,更新一下环境:

bash 复制代码
sudo apt update && sudo apt upgrade -y

然后在 WSL2 里安装 Claude Code:

bash 复制代码
curl -fsSL https://claude.ai/install.sh | bash

接着把项目放到 WSL2 自己的 Linux 目录里,例如:

bash 复制代码
mkdir -p ~/coding
cd ~/coding
git clone 你的仓库地址
cd 你的项目
claude

更推荐这种路径:

bash 复制代码
~/coding/your-project

不太推荐一开始就直接操作:

bash 复制代码
/mnt/c/Users/你的用户名/Desktop
/mnt/d/coding/你的项目

因为 /mnt/c、/mnt/d 是 Windows 磁盘挂载进 WSL2 的路径,Claude 如果在这些目录里运行,实际还是能影响到你的 Windows 文件。

如果只是普通日常开发,可以在 WSL2 项目里继续使用前面的方法一,也就是 .claude/settings.local.json。

如果你已经确认这个 WSL 环境只放当前项目,没有重要私密文件,再考虑:

bash 复制代码
claude --permission-mode bypassPermissions

或者:

bash 复制代码
claude --dangerously-skip-permissions

方案 B:Docker / Dev Container,更适合想开 bypass 的人

Docker / Dev Container 的隔离更明确:Claude、node、npm、git、测试命令都在容器里执行,而不是直接在宿主机里执行。

如果你用 VS Code,可以在项目根目录新建:

text 复制代码
.devcontainer/devcontainer.json

写入一个最小配置:

json 复制代码
{
  "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
  "features": {
    "ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}
  }
}

然后在 VS Code 里执行:

text 复制代码
Dev Containers: Reopen in Container

或者:

text 复制代码
Dev Containers: Rebuild Container

进入容器后,在 VS Code 的集成终端里运行:

bash 复制代码
claude

第一次会要求登录。登录完成后,Claude Code 就是在容器里运行了。

这时再使用:

bash 复制代码
claude --dangerously-skip-permissions

会比直接在宿主机上安全很多,因为它能直接影响的主要是容器环境和你挂载进去的项目目录。

但注意:这不等于绝对安全。

不要把这些东西挂进容器:

text 复制代码
~/.ssh
~/.aws
~/.azure
~/.config/gcloud
.env
secrets
credential 文件
整个 C 盘或 D 盘

更好的做法是:

text 复制代码
只挂载当前项目目录
只给短期 token
不要给宿主机密钥
不要把私人文件夹挂进去

WSL2 和 Docker 怎么选?

简单说:

text 复制代码
只是 Windows 上舒服地开发:选 WSL2
想更适合开启 bypassPermissions:选 Docker / Dev Container
想最大隔离:选 VM 虚拟机

我个人建议:

text 复制代码
日常开发:方法一,项目级 settings.local.json
Windows 用户:方法一 + WSL2
想开 dangerously-skip-permissions:Docker / Dev Container 或 VM

不要把 --dangerously-skip-permissions 当成日常默认选项。

它适合的是"已经隔离好的环境",不是你的主力系统。

相关推荐
A.说学逗唱的Coke10 小时前
【大模型专题】大模型怎么选(2026 年 10 月版):从 20 个模型里挑对那 3 个,以及 Agent 按角色分模型的实操矩阵
ai agent·claude code·大模型选型·模型路由·多模型编排
码哥字节11 小时前
AI 编码工具默认给 Agent 多大权限?三家差在这三处
mcp·claude code·ai编程工具
yz_aiks3 天前
Claude Code effort 用什么级别:五个档位是什么、什么时候该调(Opus 5.5)
人工智能·ai编程·开发工具·效率工具·claude code
Nuanyt3 天前
Agent 学习笔记(下篇二):Claude Code 生态、RAG 与 Memory(Stage 5–6)
笔记·python·memory·rag·aiagent·claude code·agentskill
AIGC大时代4 天前
Claude Code Skills 与 Slash Commands 怎么选型终裁:短动作命令 vs 可复用技能的能用/限场景/不能用验收
claude code·skills·选型终裁·工程规范·slash
独隅4 天前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
sbjdhjd5 天前
AI产业周度动态:从“更强模型”走向“可执行、可治理、可计价”的系统竞争 (2026年10月19日—10月25日)
人工智能·笔记·ai·开源·gemini·信息差·claude code
独隅5 天前
Claude 高效使用指南与效果展示
claude·claude code
2301_767113985 天前
Codex、Claude Code 怎么系统学?四门官方课程与学习顺序
人工智能·学习方法·codex·1024程序员节·claude code