用途:该技能提供 Claude Code 设置与权限配置的专家知识,适用于设置项目权限、排查“permission denied”错误、理解设置层级、创建 allow/deny 模式。插件注册表、hooks、MCP 服务器配置应使用对应其他技能。
设置层级:按优先级从低到高加载并合并,后者覆盖前者:用户级 ~/.claude/settings.json(所有项目,不提交 Git)、项目级 .claude/settings.json(提交 Git)、本地覆盖 .claude/settings.local.json(不提交,加入 gitignore)。
权限结构:在 permissions 下配置 allow 与 deny 数组,如 Bash(git status *)、Bash(npm run *)、Bash(rm -rf *)、Bash(sudo *)。allow 匹配的工具无需提示即可运行,deny 匹配的工具始终被阻止,deny 优先于 allow。
通配符语法:ToolName(command prefix *),如 Bash(git *) 匹配 git status、git diff HEAD,但不匹配 git-lfs pull;Bash(npm run *) 匹配 npm run test,不匹配 npm install。模式越具体越安全,建议逐条列出 git status、git diff、git log 等而非笼统的 Bash(git *)。
Shell 操作符保护:Claude Code 2.1.7+ 会阻止权限匹配中的危险 Shell 操作符,包括 &&、||、;、|、> / >>、$()、反引号。含这些操作符的命令不会命中通配符,而是弹出显式批准提示并说明被阻止的操作符。合法复合命令建议写成包装脚本,再允许该脚本,如 Bash(./scripts/test-and-build.sh *)。
常见权限集:资料给出 Git 操作、GitHub CLI(gh pr/run/issue/workflow)、测试与 lint(npm test、bun test、vitest、biome、eslint、prettier)、安全扫描(pre-commit、gitleaks、trivy)以及 MCP 工具(mcp__context7、mcp__sequential-thinking)的示例。
项目设置步骤:mkdir -p .claude 创建目录;写入 .claude/settings.json;将 .claude/settings.local.json 加入 .gitignore;可选创建本地覆盖。
验证与排查:用 cat .claude/settings.json | jq . 检查 JSON 语法,用 jq '.permissions' 查看权限,分别查看用户、项目、本地三个文件以确认合并结果。常见问题:权限被拒多为模式不匹配,需更具体的模式;Shell 操作符被阻止需改用包装脚本;设置未生效检查 .claude/ 目录路径;JSON 解析错误用 jq 校验;权限被忽略检查文件可读性。
限制:资料未提供该技能的安装命令、收费方式、支持平台或效果数据,暂未提供。