#Backup
1 messages · Page 1 of 1 (latest)
If you mean an older working version, yes, you can roll back.
First, paste this:
openclaw --version
Then, if you already know the version you want:
openclaw update --tag <version>
openclaw doctor
openclaw gateway restart
Example:
openclaw update --tag 2026.4.14
openclaw doctor
openclaw gateway restart
If openclaw update --tag does not work in your setup, use pnpm:
pnpm add -g openclaw@<version>
openclaw doctor
openclaw gateway restart
If you just want to get back to the current stable release:
openclaw update --channel stable
Docs:
Send me:
- your
openclaw --version - the version that was working before
and I’ll tell you the exact rollback command.
Did openclaw make a backup bevor update a version
Not a full automatic backup before every update, no, at least not from what the docs say.
What does exist:
-
Manual full backup:
openclaw backup createThat makes a restorable
.tar.gzarchive. -
Config-only backup from doctor/fix:
If you ranopenclaw doctor --fix, it writes:~/.openclaw/openclaw.json.bakBut that is just the config, not a full rollback backup.
So if you did only openclaw update, I would not assume OpenClaw made a full backup automatically.
You can check for an existing manual backup with something like:
find ~ -name "*openclaw-backup*.tar.gz" 2>/dev/null
Docs:
- https://docs.openclaw.ai/cli/backup
- https://docs.openclaw.ai/install/updating
- https://docs.openclaw.ai/cli/doctor
If you want, paste:
openclaw --version
and tell me what command you used to update, and I’ll help you figure out the safest rollback path.
My command was Openclaw update
Got it. If you used just:
openclaw update
then I would not expect a full automatic backup archive to have been created first.
openclaw update updates in place. The docs mention rollback, but not an automatic pre-update full backup.
Next step, please paste these:
openclaw --version
openclaw update status
That tells us:
- your current version
- whether your install is package or git
Then I can give you the exact rollback command.
If it is a package install, it will usually be something like:
openclaw update --tag <old-version>
openclaw doctor
openclaw gateway restart
Docs:
How to update opencla latest Version via Discord
From this Discord support thread, no, we can’t update your machine for you.
But on your own OpenClaw in Discord, yes, if exec is enabled.
Use your bot/chat and ask it to run:
openclaw update
If you want the latest stable explicitly:
openclaw update --channel stable
Then approve the exec request when it appears. Same-chat /approve can work when approvals are configured.
After that, verify with:
openclaw status
or
openclaw health
Important:
- If Discord exec is not configured, you need to run the update in a terminal/SSH instead.
- During update/restart, your bot may go offline briefly.
Docs:
If you want, I can also show you the minimum config needed to allow updates from your own Discord bot.
This is response from my bot
⚠️ Something went wrong while processing your request. Please try again, or use /new to start a fresh session.
Yep, that one is just a generic failure message, it doesn’t tell us the real cause.
Also, honestly, I would not do core updates through Discord if you have terminal/SSH access. It can work, but it’s a bit brittle because the bot may restart its own gateway mid-run.
Try this first:
- In Discord:
/new - Then ask your bot to do a dry run first:
openclaw update --dry-run
If that still fails, switch to terminal and paste these:
openclaw --version
openclaw status --all
openclaw logs --follow
Then retry the update once from terminal:
openclaw update
If you want to keep testing from Discord, use /new first, because that error can also come from a bad/stale session.
Docs:
Paste the output of openclaw --version and the error from openclaw logs --follow, then I can narrow it down fast.
⚠️ Something went wrong while processing your request. Please try again, or use /new to start a fresh session.
🦞 OpenClaw 2026.4.20 (115f05d)
🧠 Model: openrouter/minimax/minimax-m2.5 · 🔑 api-key (openrouter:default)
🔄 Fallbacks: openrouter/anthropic/claude-haiku-4-5, openrouter/google/gemini-2.5-flash
📚 Context: 0/200k (0%) · 🧹 Compactions: 0
🧵 Session: agent:main:discord:channel:1495910797333893184 • updated just now
⚙️ Runtime: direct · Think: minimal · elevated
👥 Activation: mention · 🪢 Queue: collect (depth 0)
Yep, that confirms it, the Discord path is broken right now, not just the update command.
At this point, stop trying it from Discord and use a terminal/SSH session instead:
openclaw --version
openclaw status --all
openclaw update
If openclaw update fails, immediately run:
openclaw logs --follow
Then paste the real log error here. The Discord message is only a fallback, it hides the actual cause.
If you want the shortest useful reply back, send me:
openclaw --version
and the first error lines from:
openclaw logs --follow
Nice, that helps.
Your bot is alive enough to answer /status, so this is probably not a full outage. The part that looks broken is the exec/tool path for running commands from chat.
I’d test in this order:
-
Start fresh:
/new -
Try a tiny safe exec from your bot:
echo ok -
If that works, try:
openclaw update --dry-run
- If that still throws the same generic error, do the update from terminal instead:
openclaw update
What this tells us:
/statusworks, so chat is up- if
echo okfails, exec from Discord is broken - if
echo okworks butopenclaw update --dry-runfails, the problem is the update command path
One more thing, tool calling from some models can be flaky. If your main agent is on a less tool-reliable model, I’d switch to a more tool-reliable one temporarily before trying shell actions from Discord.
Send me the result of:
echo okopenclaw update --dry-run
and I’ll tell you the next exact step.
„/status“ is working but „/new“ not
That’s weird, and I’m a little suspicious this is a command registration or session bug.
Try these in order:
-
Send plain text only, as its own message:
/new -
If that still fails, try the alias:
/reset -
If
/statusworks but both/newand/resetfail, restart the gateway once so Discord command registration refreshes:
openclaw gateway restart
- Then test
/newagain.
Also make sure commands are enabled in config. The docs say Discord native commands are usually auto-enabled, but these settings control it:
{
commands: {
text: true,
native: "auto",
},
channels: {
discord: {
commands: {
native: true,
},
},
},
}
Docs:
If you want, next send me whether:
/resetworksopenclaw gateway restarthelped
and I’ll narrow it down from there.
⚠️ Tried to set openrouter/auto, but current model is openrouter/openrouter/auto.
Ah, that looks like a normalization bug.
openrouter/auto is the valid ref from the docs.
openrouter/openrouter/auto is the wrong doubled form.
Try this workaround:
/model openrouter:auto
I checked the source, and openrouter:auto is supported as a compatibility alias.
If that still goes weird, avoid auto for now and set a concrete OpenRouter route instead, in this shape:
/model openrouter/<provider>/<model>
So, short version:
- ✅ correct:
openrouter/auto - ✅ workaround alias:
openrouter:auto - ❌ wrong:
openrouter/openrouter/auto
Docs:
If it keeps rewriting to openrouter/openrouter/auto, I think that’s bug-report territory:
https://github.com/openclaw/openclaw/issues
If you want, send me what happens after trying:
/model openrouter:auto
and I’ll tell you the next move.
08:51:38+00:00 error diagnostic {"subsystem":"diagnostic"} lane task error: lane=main durationMs=859 error="FailoverError: 403 Budget limit exceeded (monthly limit). Contact your org admin."
08:51:38+00:00 error diagnostic {"subsystem":"diagnostic"} lane task error: lane=session:agent:main:discord:channel:1495910797333893184 durationMs=860 error="FailoverError: 403 Budget limit exceeded (monthly limit). Contact your org admin."
08:51:38+00:00 warn model-fallback/decision {"subsystem":"model-fallback/decision"} {"event":"model_fallback_decision","tags":["error_handling","model_fallback","candidate_failed"],"runId":"8aa2fae8-4f2d-4f9e-918b-c05423f7f6f8","decision":"candidate_failed","requestedProvider":"openrouter","requestedModel":"openrouter/auto","candidateProvider":"openrouter","candidateModel":"minimax/minimax-m2.5","attempt":4,"total":4,"reason":"auth","status":401,"errorPreview":"403 Budget limit exceeded (monthly limit). Contact your org admin.","errorHash":"sha256:9b9f2fa24592","isPrimary":false,"requestedModelMatched":false,"fallbackConfigured":true} model fallback decision
08:51:38+00:00 error Embedded agent failed before reply: All models failed (4): openrouter/openrouter/auto: 403 Budget limit exceeded (monthly limit). Contact your org admin. (auth) | openrouter/anthropic/claude-haiku-4-5: 403 Budget limit exceeded (monthly limit). Contact your org admin. (auth) | openrouter/google/gemini-2.5-flash: 403 Budget limit exceeded (monthly limit). Contact your org admin. (auth) | openrouter/minimax/minimax-m2.5: 403 Budget limit exceeded (monthly limit). Contact your org admin. (auth) | 403 Budget limit exceeded (monthly limit). Contact your org admin.
Nice, we found the real blocker.
This is not mainly an /update bug.
Your bot is failing because OpenRouter hit its monthly budget limit:
403 Budget limit exceeded (monthly limit)
That also explains why failover did not help, because all of your fallbacks are still OpenRouter routes, so they all fail the same way.
What to do
Option 1, fix OpenRouter billing/budget
Raise/reset the monthly budget in OpenRouter, or ask your org admin to do it.
Option 2, switch to a different provider
Use a provider that has valid auth/credit, and do it from terminal:
openclaw models status
openclaw models set <provider/model>
openclaw models fallbacks clear
If you want fallbacks, add ones from a different provider:
openclaw models fallbacks add <provider/model>
Then update normally
After the model/auth issue is fixed: