乐于分享
好东西不私藏

升级 OpenClaw 2026.4.9 后命令执行失败?权限配置被重置了

升级 OpenClaw 2026.4.9 后命令执行失败?权限配置被重置了

升级到 OpenClaw 2026.4.9 后,发现 exec 命令全部被拒绝,报错 allowlist miss

明明配置文件里 tools.exec.security 已经设成 full,为什么还是不行?

问题不在配置文件本身——是有两个配置文件,而且另一个你没注意到。

问题现象

升级后执行任何命令都被拒绝:

exec denied: allowlist miss

配置文件 ~/.openclaw/openclaw.json 里明明白白写着:

"tools": {
  "exec": {
    "security": "full"
  }
}

但就是不生效。

问题原因:两个配置文件

运行 openclaw doctor --fix 后,关键信息出现了:

Config: tools.exec.security="full"
Host: ~/.openclaw/exec-approvals.json defaults.security="allowlist"
Effective: security="allowlist" (更严格的生效)

OpenClaw 的 exec 权限由 两个文件 共同控制:

文件
路径
说明
主配置
~/.openclaw/openclaw.json
tools.exec.security
审批配置
~/.openclaw/exec-approvals.json
defaults.security

更严格的那个生效。

所以你在 openclaw.json 里设 full,但 exec-approvals.json 里默认是 allowlist,结果还是被拦。

解决方案

修改 ~/.openclaw/exec-approvals.json

nano ~/.openclaw/exec-approvals.json

把 defaults.security 改成 "full"

{
  "defaults": {
    "security": "full"
  }
}

保存后重启 gateway:

openclaw gateway restart

验证

openclaw status

如果看到 Exec security=full is configured,说明配置生效了。

安全提醒
security: full 意味着所有命令都能直接执行,不需要审批。这在本地开发环境很方便,但如果你的 OpenClaw 暴露在公开渠道(比如开放的 iMessage 群组),会有安全风险。

更安全的做法:

  • 保持 security: allowlist
  • 只在 allowlist 里加入信任的命令
  • 或者把公开渠道的 groupPolicy 设成 allowlist 而不是 open

总结

升级 OpenClaw 后 exec 失效,原因是 两个配置文件的权限设置冲突。修改 exec-approvals.json 的 defaults.security 为 "full",重启 gateway 即可解决。

相关学习资料