问题
升级 OpenClaw 3.31 后,执行命令频繁弹出 /approve 要求手动审批。关掉 ask 之后命令还是报 exec denied: allowlist miss,依然跑不了。
原因
OpenClaw 新版把执行权限拆成了两层:
- 审批层(
ask)—— 决定要不要弹窗让你批准 - 执行层(
security)—— 决定命令有没有资格执行
很多人只改了第一层,第二层没动,所以审批没了但命令还是死。不弹窗 ≠ 放行。
解决方案
打开 ~/.openclaw/openclaw.json,确保 tools.exec 同时配置这两项:
{
"tools": {
"exec": {
"ask": "off",
"security": "full"
}
}
}
ask: "off"—— 不再弹审批security: "full"—— 放开执行权限
改完后执行:
openclaw config validate
openclaw gateway restart
用一个最轻的命令验证:
pwd
能直接返回路径就说明生效了。
注意事项
这套配置适合单人使用、追求效率的场景。如果你的 OpenClaw 是多人共享或挂在群聊里,security: "full" 风险较大,建议用 allowlist 模式精细控制。