How to Safely Update OpenClaw: Version Management, Channels, and Rollback
Keeping OpenClaw up to date ensures you get the latest agent capabilities, bug fixes, and security patches. But updating a system that manages your AI agents, conversations, and configured skills requires care. This guide covers every aspect of the update process, from checking your current version to rolling back if something goes wrong.
Checking Your Current Version
openclaw --version
openclaw v0.14.2 (build 2026-02-10)
gateway: v0.14.2
runtime: v0.14.2
node: v22.14.0
All three version numbers (openclaw, gateway, runtime) should match. If they do not, you may have a partial or mixed installation.
openclaw update --check
This shows available versions across all channels without installing anything.
Update Channels
OpenClaw publishes on three channels with different stability guarantees.
Stable (default): Releases that have passed beta testing. Follow semantic versioning[1] -- major for breaking changes, minor for new features, patch for bug fixes.
openclaw update
Beta: Complete features still being validated. Format: v0.15.1-beta.3.
openclaw update --channel beta
Dev: Builds from the main branch, potentially unstable. Format: v0.16.0-dev.12. Only for contributors and plugin developers.
openclaw update --channel dev
The Update Command
openclaw update
This checks the channel for the latest version, downloads it, verifies the checksum, installs it, restarts the gateway, and reports the result.
Dry Run
openclaw update --dry-run
Dry run - no changes will be made
Current: v0.14.2
Target: v0.15.0
Channel: stable
Changes:
- 47 files modified
- 3 new dependencies
- Configuration migration: none required
Breaking changes: none detected
Skill compatibility: all installed skills compatible
The --dry-run flag is especially valuable before major updates. It checks skill compatibility and identifies needed configuration migrations.
Specific Version
openclaw update --version v0.14.5
Useful for pinning to a known-good version or matching team members.
Reading the Changelog
Always review the changelog before updating:
openclaw changelog # Latest version
openclaw changelog v0.15.0 # Specific version
openclaw changelog --from v0.14.0 --to v0.15.0 # Range
Changes are categorized as Features, Fixes, Breaking, Deprecated, and Security[2]. Pay close attention to the "Breaking" section.
Backup Before Updating
The critical directories:
~/.openclaw/
openclaw.json # Configuration
memory/ # Agent memory and knowledge
sessions/ # Conversation history
skills/ # Installed skills
Backup Script
#!/bin/bash
BACKUP_DIR="$HOME/openclaw-backups"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_PATH="$BACKUP_DIR/openclaw-backup-$TIMESTAMP"
mkdir -p "$BACKUP_PATH"
openclaw stop
cp -r "$HOME/.openclaw" "$BACKUP_PATH/"
openclaw --version > "$BACKUP_PATH/version.txt"
tar -czf "$BACKUP_PATH.tar.gz" -C "$BACKUP_DIR" "openclaw-backup-$TIMESTAMP"
rm -rf "$BACKUP_PATH"
echo "Backup saved to $BACKUP_PATH.tar.gz"
What Gets Preserved
- Configuration: Settings remain intact; new options get sensible defaults
- Memory: Agent memories and knowledge bases are preserved
- Sessions: Conversation history is kept
- API keys: Stored credentials are not touched
What Might Break
Skill compatibility: The most common issue. Skills built for one version may not work with another if the skill API changed.
openclaw update --dry-run | grep -i skill # Check before updating
openclaw skills test <skill-name> # Test after updating
Configuration schema changes: Major updates may change required fields. Verify with:
openclaw config validate
Gateway port changes: Rare, but verify firewall and reverse proxy configs after major updates.
Docker Image Updates
If you run OpenClaw in Docker (directly or through ClawTank):
docker pull openclaw/openclaw:latest
# Or a specific version:
docker pull openclaw/openclaw:0.15.0
Recreate the container (volumes preserve your data):
docker stop openclaw && docker rm openclaw
docker run -d --name openclaw --restart unless-stopped \
-p 19090:19090 \
-v openclaw-data:/home/openclaw/.openclaw \
openclaw/openclaw:latest
With Docker Compose, change the image tag and run:
docker compose pull && docker compose up -d
Rollback Procedure
npm Rollback
npm install -g openclaw@0.14.2
openclaw --version
From Backup
openclaw stop
tar -xzf ~/openclaw-backups/openclaw-backup-20260224_103000.tar.gz -C /tmp/
cp -r /tmp/openclaw-backup-20260224_103000/.openclaw ~/
npm install -g openclaw@0.14.2
openclaw start
Docker Rollback
docker stop openclaw && docker rm openclaw
docker run -d --name openclaw --restart unless-stopped \
-p 19090:19090 \
-v openclaw-data:/home/openclaw/.openclaw \
openclaw/openclaw:0.14.2
Verify After Rollback
openclaw --version
openclaw config validate
openclaw skills test <critical-skill>
curl -s http://localhost:19090/health
Update Frequency Recommendations
Personal use: Update with each stable release. Enable notifications:
openclaw config set notifications.updates true
Team / shared instance: Update during maintenance windows. Pin versions:
openclaw config set update.pin v0.15.0
Production: Wait 1-2 weeks after a stable release. Apply security patches immediately.
openclaw config set update.autoUpdate false
openclaw config set update.pin v0.14.2
Auto-Update Setup
openclaw config set update.autoUpdate true
openclaw config set update.channel stable
openclaw config set update.schedule "0 3 * * 1" # 3 AM every Monday
openclaw config set update.backupBeforeUpdate true
The schedule uses cron syntax[3]. Alternatively, use a systemd timer:
sudo tee /etc/systemd/system/openclaw-update.service > /dev/null << 'EOF'
[Unit]
Description=OpenClaw Auto Update
After=network-online.target
[Service]
Type=oneshot
User=openclaw
ExecStart=/usr/bin/openclaw update --auto --backup
StandardOutput=journal
EOF
sudo tee /etc/systemd/system/openclaw-update.timer > /dev/null << 'EOF'
[Unit]
Description=Weekly OpenClaw Update
[Timer]
OnCalendar=Mon 03:00
Persistent=true
RandomizedDelaySec=3600
[Install]
WantedBy=timers.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now openclaw-update.timer
Check auto-update history:
openclaw update --history
Pre-Update Checklist
openclaw --version # 1. Current version
openclaw update --check # 2. Available updates
openclaw changelog # 3. What changed
openclaw update --dry-run # 4. Preview changes
~/backup-openclaw.sh # 5. Back up data
openclaw update # 6. Apply update
openclaw config validate # 7. Validate config
openclaw skills test <skill> # 8. Test critical skills
curl -s localhost:19090/health # 9. Verify gateway
Major Version Updates
Major updates (v0.x to v1.0, v1.x to v2.0) may include configuration schema changes, removed features, new dependencies, changed defaults, and incompatible skill APIs. For these:
- Read the full migration guide
- Back up everything
- Test on a separate machine or Docker container first
- Plan for 15-30 minutes of downtime
- Have the rollback procedure ready
docker run --rm -it \
-v openclaw-data-copy:/home/openclaw/.openclaw \
openclaw/openclaw:2.0.0 \
openclaw config validate
Summary
- Always check the changelog before updating
- Use
--dry-runto preview changes - Back up before every update
- Test critical skills after updating
- Know how to roll back
- Use auto-updates for personal instances, version pinning for production
