OpenClaw 4.1 升級災難急救:權限擋、Cron 壞、批准跳不停的完整解法
如果你升級 OpenClaw 4.1 後什麼都壞了,這篇可以參考。
4.1 版在 2026 年 4 月初釋出後,社群立刻炸鍋,權限被擋、Cron 壞掉、批准跳不停、Gateway 掛了、工具消失。從 Threads、Facebook、GitHub Issues 到 Reddit,到處都是災情回報,我自己也被搞了一陣子。
本文整理所有已知問題,每個都是「症狀 → 原因 → 解法」,指令可以直接複製貼上。
📎 配套閱讀:
0. 升級前必做:備份清單
如果你還沒升級,先做這些。如果已經升級炸了,跳到第 1 節。
# 1. 備份主設定檔
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak
# 2. 備份 workspace 核心檔案
cp ~/openclaw/SOUL.md ~/openclaw/SOUL.md.bak
cp ~/openclaw/MEMORY.md ~/openclaw/MEMORY.md.bak
cp ~/openclaw/AGENTS.md ~/openclaw/AGENTS.md.bak
# 3. 記錄當前版本號
openclaw --version
# 4. 記錄當前排程任務
openclaw cron list > ~/openclaw-cron-backup.txt
# 5. 如果升級後出事,降級指令在這
npm install -g [email protected]
1. 權限全部被擋(最多人抱怨)
「openclaw 4.1 以後版本麻煩的要死一直檔權限有夠煩權限擋來擋去設定又變複雜了」— Threads 台灣用戶
症狀:升級後 Agent 什麼都不能做,只能聊天。執行任何工具都被拒絕。
原因:4.1 版收緊了安全預設值。tools.profile 預設從 full 改為 restricted,sandbox 模式也從 none 改為 isolated。
解法:
# 檢查當前權限設定
openclaw config get agents.defaults.tools.profile
# 恢復完整權限
openclaw config set agents.defaults.tools.profile full
# 如果 sandbox 擋住了檔案/網路存取
openclaw config get agents.defaults.sandbox.mode
openclaw config set agents.defaults.sandbox.mode none
# 重啟 gateway 讓設定生效
openclaw gateway restart
⚠️ 安全警告:tools.profile full + sandbox.mode none 等於完全信任 Agent。如果你的 Agent 會存取外部資源或執行不受信任的程式碼,請參考安全設定指南做更細緻的權限控管。
2. 一直跳出「批准」提示
「更新為4.1版後一直跳出要我批准怎樣一勞永逸,不用批准,直接執行」— Facebook 台灣用戶
症狀:每次 Agent 執行指令都要手動批准,每個動作都跳一次,完全沒辦法自動化。
原因:4.1 新增了 exec approval 機制,所有 shell 指令預設需要人工批准。
解法:
# 方法 1:直接關閉 exec 批准提示
openclaw config set agents.defaults.exec.ask off
# 方法 2:重啟讓設定生效
openclaw gateway restart
如果方法 1 不夠,需要在 openclaw.json 中做更細的設定:
{
"agents": {
"defaults": {
"exec": {
"ask": "off"
},
"nonInteractivePermissions": {
"exec": "deny"
}
}
}
}
⚠️ 注意:
nonInteractivePermissions目前只支援deny和fail兩個值。社群已在 GitHub 開 issue 要求增加allow選項。在官方支援前,只能用exec.ask off來繞過互動式批准。
3. Cron Job 升級後壞掉
GitHub Issue: "Update to 2026.4.1 breaks cron jobs: API timeout not respecting agents.defaults.timeoutSeconds"
GitHub Issue: "Isolated cron jobs fail with LiveSessionModelSwitchError when payload model differs from agent default"
症狀:排程任務全部失敗,或者 timeout 設定被忽略,或者出現 LiveSessionModelSwitchError。
原因:
4.1 版的 API timeout 機制改了,不再 respect
agents.defaults.timeoutSeconds如果 cron job 的 payload 指定的 model 跟 agent default model 不同,會觸發
LiveSessionModelSwitchError
解法:
# 檢查 cron 狀態
openclaw cron list
openclaw cron status
# 查看最近的失敗紀錄
openclaw cron runs --id <jobId> --limit 5
# 問題 1:timeout 不生效 → 在 cron job 層級直接設定 timeout
openclaw cron edit <jobId> --timeout 300
# 問題 2:model 不一致 → 確保 cron job 的 model 跟 agent default 一致
# 先查看 agent 預設 model
openclaw config get agents.defaults.model
# 再更新 cron job 的 model
openclaw cron edit <jobId> --model <同agent的模型>
如果 cron job 很多,用腳本批次修正:
# 列出所有 cron job ID 並逐一更新 model
for id in $(openclaw cron list --format json | jq -r '.[].id'); do
openclaw cron edit "$id" --model "$(openclaw config get agents.defaults.model)"
done
4. /approve 指令死鎖
GitHub Issue: "/approve text command deadlocks with plugin approval's blocking waitDecision"
症狀:在聊天介面輸入 /approve 後整個 session 卡死,無法操作。
原因:/approve 文字指令和 plugin approval 的 waitDecision 機制互相 blocking,形成死鎖。
暫時解法:不要在聊天中用 /approve,改用 CLI:
# 列出待批准項目
openclaw approvals list
# 用 CLI 批准
openclaw approvals approve <id>
# 如果已經卡死,強制結束 session
openclaw sessions kill <sessionId>
openclaw gateway restart
5. Gateway 啟動失敗(macOS launchd PATH 問題)
症狀:macOS 上 openclaw gateway start 失敗,或者重開機後 gateway service 起不來。
原因:macOS 的 launchd 不會載入 login shell 的 PATH,導致找不到 openclaw binary 或其依賴。
解法:
# 方法 1:重新安裝 gateway service(會重寫 launchd plist)
openclaw gateway install --force
openclaw gateway restart
# 方法 2:手動指定 PATH(如果方法 1 不行)
# 找到你的 openclaw 安裝路徑
which openclaw
# 編輯 launchd plist,加入完整 PATH
# 通常在 ~/Library/LaunchAgents/com.openclaw.gateway.plist
# 在 <dict> 中加入:
# <key>EnvironmentVariables</key>
# <dict>
# <key>PATH</key>
# <string>/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin</string>
# </dict>
# 重載 launchd
launchctl unload ~/Library/LaunchAgents/com.openclaw.gateway.plist
launchctl load ~/Library/LaunchAgents/com.openclaw.gateway.plist
6.「tool not registered」錯誤
GitHub Issue: "tool not registered" bug
症狀:Agent 嘗試使用某個工具,但回報 tool not registered。之前能用的工具突然不能用了。
原因:4.1 版改了 skill/plugin 的工具註冊機制,升級後舊的註冊狀態失效。
解法:
# 列出目前已註冊的 plugins
openclaw plugins list
# 重新安裝有問題的 plugin
openclaw plugins reinstall <plugin-name>
# 如果不確定哪個壞了,全部重新安裝
openclaw plugins reinstall --all
# 重啟 gateway
openclaw gateway restart
如果重新安裝還是不行,可能是 plugin manifest 快取問題:
# 清除 plugin 快取
rm -rf ~/.openclaw/cache/plugins/
# 重新初始化
openclaw plugins init
openclaw gateway restart
7. Sandbox 關了但什麼都不能用
GitHub Discussions: "Openclaw useless now after update" — 更新後 sandbox 關了但 exec/git/file 都不能用
症狀:明明把 sandbox 關了,但 exec、git、file 操作還是全部被擋。
原因:4.1 版的權限檢查有多層。sandbox 只是其中一層,tools.profile 和 exec.ask 也會各自擋。三個都要設對才行。
解法:確認三層權限全部正確:
# 第一層:tools profile
openclaw config set agents.defaults.tools.profile full
# 第二層:sandbox mode
openclaw config set agents.defaults.sandbox.mode none
# 第三層:exec approval
openclaw config set agents.defaults.exec.ask off
# 全部設完後重啟
openclaw gateway restart
# 驗證設定
openclaw config get agents.defaults
8. 降級指南(如果以上都救不了)
如果你試了所有方法都沒用,最快的解法就是降級:
# 降級到上一個穩定版(3.31)
npm install -g [email protected]
# 恢復備份的設定檔
cp ~/.openclaw/openclaw.json.bak ~/.openclaw/openclaw.json
# 恢復 workspace 檔案(如果被覆蓋的話)
cp ~/openclaw/SOUL.md.bak ~/openclaw/SOUL.md
cp ~/openclaw/MEMORY.md.bak ~/openclaw/MEMORY.md
cp ~/openclaw/AGENTS.md.bak ~/openclaw/AGENTS.md
# 重啟 gateway
openclaw gateway restart
# 確認版本
openclaw --version
⚠️ Reddit 有用戶回報降級本身也可能出問題("Even the rollback is broken")。如果降級後 gateway 起不來,試試完全移除再重裝:
npm uninstall -g openclaw npm install -g [email protected] openclaw gateway install --force openclaw gateway restart
9. 急救指令速查表
症狀 | 診斷指令 | 解法 |
|---|---|---|
權限全被擋 |
|
|
一直要批准 |
|
|
Cron 壞掉 |
|
|
/approve 死鎖 | 畫面卡死無法操作 |
|
Gateway 掛了 |
|
|
tool not registered |
|
|
Sandbox 關了還是擋 |
| 三層全設:profile full + sandbox none + exec.ask off |
全部都救不了 |
|
|
最後
4.1 版的初衷可能是好的,收緊安全預設值本身沒有錯。但破壞性更新不應該在沒有充分溝通的情況下推送給所有用戶。
如果你目前穩定在 3.31,不要急著升級。等 4.1.x 的 patch 版本穩定後再說。
如果你已經升上去了,希望這篇能幫你活過來。
有其他 4.1 版的問題沒被收錄到?歡迎在下方留言補充,我會持續更新這篇。
有空再來更新 4.2
作者:Chi