Skip to content

权限类问题

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 管理界面手动修改。