📌适合场景:使用Claude Code进行代码分析或内容查找,被疯狂弹权限确认折磨的Unity开发者
🎯痛点:跑Subagent时,疯狂弹权限确认
我在用Claude Code做Unity项目Lua转C#移植的时候,搭了一套Skill + Subagent工作流:
- Skill:定义整套干活流程、编码规范
- Subagent:负责独立任务,比如读代码、分析源码
- 主Agent:分配任务,汇总结果
整套流程自动化程度很高,但有个特别糟心的体验👇
仅仅是读文件、搜代码、找文件这种只读操作,也要一次次点确认!
分析大型Unity工程的时候,一个子Agent一口气要读几十个脚本,不停弹出Read、Grep、Glob权限弹窗,直接把自动化流程打断,手点到烦。明明不改任何文件,为啥还要反复确认?
💡核心想法:只读操作完全可以放行;写文件、执行高危命令依旧保留确认,不要直接全开所有权限裸奔。

🔧解决方案:项目settings.json配置只读白名单
Claude Code支持项目级权限配置,不用全局关闭安全校验,只把安全的只读工具加到自动允许列表。
在你的Unity项目根目录,找到/新建 .claude 文件夹,新建/修改 settings.json。
需要放行3个原生工具:
Read:读取文件内容Grep:代码关键词搜索Glob:按通配符查找文件
另外还有个坑:Agent时不时会调用Bash跑ls看目录结构,这个不属于独立工具,要单独写Bash规则Bash(ls:*),不然还会弹确认。

✅完整settings.json配置
{
"permissions": {
"allow": [
"Read",
"Grep",
"Glob",
"Bash(ls:*)"
]
}
}
保存配置,重启Claude Code会话就生效。
生效之后:读文件、搜代码、找文件、ls浏览目录全部自动放行;但写文件、删除、高危shell命令依然会正常弹出确认,安全底线还在。

✔️怎么确认配置真的生效?
两种验证手段:
- 实操测试:随便找个cs脚本Read读取、Grep搜类名、Glob找cs文件、跑
ls -la,观察会不会弹确认框。 - 内置命令:输入
/permissions,直接查看当前项目加载的权限白名单。
💡最后总结建议
- 做大项目代码分析、移植场景,只读权限放开,体验提升巨大,Skill和Subagent工作流会丝滑很多。
- 千万不要图省事直接全开全部权限!文件修改、脚本执行这类高危操作,一定要保留确认弹窗。
- 这个配置是项目维度,只对当前Unity工程生效,换别的项目不会继承这套规则。🖼️插图4建议:小卡片总结图 标题:最佳实践口诀 ✅放行:Read / Grep / Glob / Bash(ls:*) 纯读取浏览 ⛔保留确认:写文件、删除、高危shell命令
