OpenClaw exec 审批不断弹窗?一步彻底解决
OpenClaw弹窗问题终极解决方案 被"Approval required"弹窗困扰的用户注意:OpenClaw的真正审批配置文件是~/.openclaw/exec-approvals.json(不是policy.json)。可通过两种方式解决: 手动配置:设置security为"full"、ask为"off" 命令行一键解决:执行op
用 OpenClaw 的朋友,有没有被这个弹窗折磨过?特别是更新的到2026.3.31以后的版本。
每次执行个 node、敲个 ls,啪一下弹出个 “Approval required”,不点两下按钮这命令就卡在那儿不动。刚开始我还忍着,点就点呗,后来发现一天下来要点几十次,整个人都麻了。
今天把这个问题的根因和解法一次性说清楚,帮你彻底告别这个弹窗。
我的排查过程
第一步,走错了路。
看到 exec 命令老弹审批,下意识就觉得得找个配置文件配白名单。于是去 ~/.openclaw/ 翻了一通,新建了个 policy.json,配了一堆 allowAlways patterns,兴冲冲保存,结果——然并卵,弹窗依旧。
后来才搞明白:OpenClaw 根本不读 policy.json 这个文件。
第二步,摸清了脾气。
Gateway 其实内置了一个 allowlist,像 echo、pwd、whoami 这些简单命令会自动免审,不会弹窗。但稍微复杂点的,比如 node、nohup、ls、cat 这些,对不起,老老实实弹审批。
第三步,找到了正确答案。
翻了半天官方文档,才发现真正的审批配置文件叫 exec-approvals.json,路径是 ~/.openclaw/exec-approvals.json,根本不是什么 policy.json。
核心知识点
| 配置项 | 选项 | 含义 |
|---|---|---|
| Security | deny / allowlist / full |
deny=全部阻止,allowlist=仅白名单,full=全部允许 |
| Ask | off / on-miss / always |
off=从不提示,on-miss=白名单未匹配时提示,always=每次都提示 |
解决方案
方法一:编辑配置文件
在 ~/.openclaw/exec-approvals.json 中写入:
{
"version": 1,
"defaults": {
"security": "full",
"ask": "off",
"askFallback": "allow",
"autoAllowSkills": false
},
"agents": {
"main": {
"security": "full",
"ask": "off"
}
}
}
方法二:一行命令搞定
openclaw approvals --security full
心得
记住配置文件路径 ~/.openclaw/exec-approvals.json,这几乎是唯一的坑。配错了文件名(policy.json)基本就是白忙活。
更多推荐



所有评论(0)