Claude Code 内置命令

/permissions 命令
完全指南

管理 Claude Code 的工具权限,控制 AI 可以自动执行哪些操作,哪些需要人工确认

/permissions
向下滚动探索 ↓

无参数,打开权限管理

/permissions 不接受任何参数,直接打开交互式权限配置界面,管理工具的自动执行和审批规则

/permissions

特性说明
参数直接运行即可打开权限管理界面
作用域多层级支持全局、项目、本地三级配置,低层级覆盖高层级
规则类型allow / deny白名单允许自动执行,黑名单始终需要确认

精细控制 AI 的操作权限

在效率和安全之间找到最佳平衡点

允许常用命令

将常用的 npm、pip、cargo 等包管理命令加入自动允许列表,减少不必要的确认弹窗

// settings.json 中的 allow 规则
"allow": [
  "Bash(npm test)",
  "Bash(npm run build)",
  "Bash(npm run lint)"
]
效率优先 · 自动执行
🛡️

保护危险操作

确保 rm、drop、delete 等危险命令始终需要人工确认,防止 AI 误删重要数据

// settings.json 中的 deny 规则
"deny": [
  "Bash(rm -rf *)",
  "Bash(drop database *)",
  "Bash(git push --force)"
]
安全优先 · 强制确认
📂

项目级权限

为不同项目配置不同的权限策略——工作项目严格控制,个人项目宽松灵活

// 项目级 .claude/settings.json
"permissions": {
  "allow": ["Bash(docker *)"],
  "deny": ["Bash(kubectl delete *)"]
}
按项目定制 · 灵活管控

权限配置过程

观看如何一步步配置工具权限

claude — permissions config

三级权限配置体系

低层级配置会覆盖高层级,实现灵活的权限管理

1

🌐 全局 settings.json

位于 ~/.claude/settings.json,对所有项目生效。适合配置通用允许规则和个人偏好

│ 覆盖
2

📁 项目 settings.json

位于 .claude/settings.json,仅对当前项目生效。适合项目特定规则,可提交到 Git 共享给团队

│ 覆盖
3

🔒 本地 settings.local.json

位于 .claude/settings.local.json,最高优先级,应加入 .gitignore 不提交。适合个人敏感配置

4

⚡ 最终生效

Claude Code 合并所有层级,低层级 allow/deny 规则覆盖高层级同名规则,生成最终权限集

allow/deny 规则写法

掌握规则语法,精确控制每一个工具的权限

规则格式示例说明
工具级 Bash 允许/拒绝整个 Bash 工具的所有调用
命令前缀 Bash(npm *) 匹配所有 npm 开头的 Bash 命令
精确命令 Bash(npm test) 只匹配这一个精确命令
通配符 Bash(git *) 用 * 通配符匹配任意 git 子命令
文件读写 Edit / Write 控制文件编辑和创建权限
MCP 工具 mcp__server__tool 控制特定 MCP 服务器工具的权限

用好 /permissions 的技巧

💡

高效使用建议

  • 只读操作加入允许列表——把 ls、cat、grep、find 等只读命令加入 allow,可以大幅减少确认弹窗
  • 危险操作用 deny 规则——rm -rf、DROP TABLE、git push --force 等破坏性操作务必加入 deny 列表
  • 团队共享项目级配置——将 .claude/settings.json 提交到 Git,让团队所有成员使用统一的权限策略
  • 敏感信息用 local 配置——包含密钥或个人偏好的权限规则放在 settings.local.json,不提交到 Git
  • 渐进式开放权限——一开始保持严格,随着使用逐渐把信任的命令加入允许列表