权限管理

Claude Code 使用权限系统来控制它能做什么。这确保了安全性,同时不会影响工作效率。

权限模式

默认模式

默认情况下,Claude Code 在执行以下操作前会请求你的许可:

  • 运行终端命令(如 npm installgit push
  • 修改项目文件
  • 访问网络

你会看到类似这样的提示:

Claude wants to run: npm install lodash
Allow? (y/n)

允许列表

~/.claude/settings.json 中预配置自动允许的操作:

{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(npm test *)",
      "Bash(git status *)",
      "Bash(git diff *)",
      "Bash(git log *)"
    ]
  }
}
Tip

建议把日常高频使用的安全命令加入允许列表,比如运行测试、查看 Git 状态等。

项目级配置

在项目根目录的 .claude/settings.json 中配置项目特定的权限:

{
  "permissions": {
    "allow": [
      "Bash(npm run dev)",
      "Bash(npm run build)",
      "Bash(npm test *)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(git push --force *)"
    ]
  }
}

权限工具类型

工具说明风险等级
Read读取文件低 — 默认允许
Glob文件搜索低 — 默认允许
Grep内容搜索低 — 默认允许
Edit编辑文件中 — 需要确认
Write创建/覆盖文件中 — 需要确认
Bash执行命令高 — 需要确认
WebFetch访问网络中 — 需要确认

安全建议

  1. 不要允许危险命令rm -rfgit push --forcesudo 等应始终需要手动确认
  2. 使用 Git 作为安全网:频繁提交,这样即使出错也可以回滚
  3. 审查重要操作:对于数据库迁移、部署等不可逆操作,仔细检查后再确认

下一步