「更新完 OpenClaw 之后,所有 exec 命令都报错了,说我权限不足?」
「明明之前好好的,怎么一更新就出问题了?」
如果你也遇到了这个情况,别慌。这不是 bug,而是 OpenClaw 出于安全考虑的一道「安全门」。今天就给大家讲清楚:为什么更新后 exec 会失效,以及怎么快速解决。
🔍 现象:更新后 exec 为什么突然不行了?
简单来说,OpenClaw 每次大版本更新,都会重置或覆盖用户自定义的安全配置。
这就导致了一个经典问题:
旧版本你可能把 exec 安全策略设成了「完全开放」,但更新之后,OpenClaw 出于安全默认会把策略恢复成
deny(默认拒绝)或ask(执行前询问),导致之前能跑的脚本、命令全部罢工。
更麻烦的是,很多人压根不知道还有这个「安全策略」配置存在,直到 exec 报错了才傻眼。
⚡ 快速自救:3 分钟修复问题
第一步:重启 Gateway(90% 的问题靠这步解决)
openclaw gateway restart更新后 Gateway 进程可能还在跑旧版本代码,重启让它加载新版本。
第二步:检查 exec 安全模式
openclaw gateway --help或者直接查看当前配置:
openclaw config get exec你会看到类似这样的输出:
{ "security": "deny", "ask": "on-miss" }security 的值决定了对 exec 命令的态度:
deny | ||
ask | ||
allowlist | ||
full |
第三步:临时放行命令
如果你的命令正在「等待审批」状态,在终端输入:
/approve即可放行。如果只想批准单次执行:
/approve <你的命令>🛡️ 推荐的正确姿势:白名单模式
生产环境建议使用白名单,只允许可信命令通过:
编辑配置文件(通常在 ~/.openclaw/config.json),加入:
{ "exec": { "security": "allowlist", "allowlist": [ "git", "npm", "node", "python", "pip" ], "ask": "on-miss" } }这样只有你列出的命令能执行,其他的一律拒绝,安全又可控。
💡 为什么 OpenClaw 要这么做?
很多人会吐槽:「我都装了就别管我了,搞这么复杂干嘛。」
但其实这个设计非常合理。OpenClaw 是一个强大的 AI 助手集成框架,它可以操控文件系统、安装软件、执行脚本——这些能力如果被恶意利用,后果不堪设想。
所以 OpenClaw 的默认策略是:最小权限原则——默认什么都不可做,用的时候再逐步放开。
这就跟 iOS 的 App 权限管理一样,你要用相机我才问你,不用就不问。
🔧 其他常见更新后问题
Q:更新后配置全丢了?
A: 建议每次大版本更新前备份配置:
openclaw config export > backup-$(date +%Y%m%d).jsonQ:更新后版本没变?
A: Gateway 没重启,执行:
openclaw gateway restartQ:想回滚到旧版本?
A: 可以,执行:
openclaw update --rollback📋 一键诊断命令汇总
收藏这个清单,遇到问题一条条试:
# 1. 检查版本(确认更新成功了) openclaw --version # 2. 检查 Gateway 状态 openclaw gateway status # 3. 重启 Gateway(更新后必做) openclaw gateway restart # 4. 查看 exec 配置 openclaw config get exec # 5. 实时查看日志 openclaw logs --follow总结
OpenClaw 更新后 exec 失灵不是你的错,也不是 OpenClaw 的 bug。这是正常的安全策略重置,了解原理后其实非常好解决:
重启 Gateway → 检查安全模式 → 按需放开权限
记住这三点,以后更新再也不慌。
如果你觉得这篇文章有帮助,欢迎转发给也在用 OpenClaw 的朋友。有任何问题,欢迎在评论区留言交流!
作者:无忧传媒 · 专注 AI 工具实用技巧
夜雨聆风