权限类问题
Permission denied — 文件读写被拒绝
三种独立原因,需分别判断:
- 原因 A — 系统层权限不足:执行
ls -la /path/to/file查看权限位,用chmod 644(文件)或chmod 755(目录)修复 - 原因 B — Claude Code 权限设置:用户曾选择「总是拒绝」该类操作,按
Cmd+Shift+P(macOS)或Ctrl+Shift+P(Windows/Linux)搜索Claude: Manage Permissions,将对应规则改为「询问」或「允许」 - 原因 C — .claudeignore 规则误匹配:执行
cat .claudeignore检查是否有 glob 规则误匹配到目标文件,删除或精确化有问题的规则
预防:.claudeignore 使用精确路径而非宽泛通配符,定期检查 Permission 设置中的「总是拒绝」规则,项目目录权限保持 644(文件)/ 755(目录)。
skipAutoPermissionPrompt 导致 Plan 模式失效
现象:在 settings.json 中加入 "skipAutoPermissionPrompt": true 后 Plan 模式无法执行,移除该字段后恢复。
修复:打开 ~/.claude/settings.json,删除 skipAutoPermissionPrompt 整行,保存后重启终端。
预防:仅添加文档中明确标注用途的配置项,调整权限相关配置后先做一次基础功能验证。
如何理解 Claude Code 的 Permission 机制?
Claude Code 对文件操作、shell 命令执行等动作有权限确认机制。首次触发时会弹出询问,可选择「允许一次」「总是允许」「总是拒绝」。如果误选了「总是拒绝」,后续该类操作会直接被阻断,需要到 Permission 管理界面手动修改。