CC-020:Permission denied(操作被拒绝)
问题现象
Claude Code 尝试读取或修改文件时,操作被终止,终端或对话中出现 Permission denied 提示,目标文件未被访问或修改。
根因分析
Permission denied 可能来自操作系统权限、Claude Code permission rules、sandbox、组织管理策略或目标工具本身。旧版页面把原因固定成三类,并使用未在当前官方资料中确认的 .claudeignore,现已撤下该确定性结论。
修复步骤
第一步:判断根因类型
系统层拒绝通常附有具体文件路径;Claude Code 层拒绝会在对话框或提示中明确说明权限设置。
第二步:只读检查系统文件权限
# 查看目标及父目录权限,不直接改权限
ls -ld /path/to /path/to/file不要对项目递归执行 chmod,也不要机械套用 644/755;这可能暴露密钥或破坏可执行文件。若所有者或组织策略不符合预期,请由文件所有者或管理员按最小权限修复。
第三步:检查 Claude Code 权限规则
在会话中运行 /permissions 查看 allow/ask/deny 规则,并运行 /status 确认是否存在 managed settings。只放行完成当前任务所需的具体工具或路径,不要使用 bypassPermissions 作为通用修复。
第四步:检查 sandbox 与实际命令
用 claude doctor 获取只读诊断;确认报错是 Claude Code 的权限决定,还是它运行的 shell 命令返回了操作系统错误。组织管理策略不能由本地项目覆盖。
预防措施
| 做法 | 避免的问题 |
|---|---|
permissions.deny 精确匹配敏感文件 | 避免意外读取 Key、Token 和环境文件 |
定期检查 /permissions 与 /status | 识别本地规则和组织策略 |
| 文件权限按数据敏感度和实际执行需求设置 | 避免过度放宽权限 |
资料来源:Claude Code Permissions · Sandboxing · 配置诊断(2026-07-26 核对)