OpenClaw v2.0 Update: Critical Pre-Update Checklist to Avoid Breaking Changes

OpenClaw Major Update Requires Pre-Update Preparation
OpenClaw has released its biggest update in months with 12 breaking changes, a completely new plugin system, and 30+ security patches. The update will silently break setups if users run npm update without preparation first.
Step 1: Check Environment Variables
Legacy environment variables from when OpenClaw was called Clawdbot or Moltbot will no longer work. There's no compatibility shim, fallback, or warning. Check for old variables:
env | grep -i clawdbot
env | grep -i moltbot
If anything shows up, rename them:
CLAWDBOT_*→OPENCLAW_*MOLTBOT_*→OPENCLAW_*
Check your .env, .bashrc, .zshrc, .profile, and any docker-compose files. Missing variables will cause OpenClaw to start with default settings instead of your configuration.
Step 2: Check State Directory
Auto-detection for the old directory name is gone. Check your current state directory:
ls ~/.moltbot 2>/dev/null && echo "YOU NEED TO MOVE THIS"
ls ~/.openclaw 2>/dev/null && echo "you're fine"
If you're still on ~/.moltbot, move it before updating:
mv ~/.moltbot ~/.openclaw
Or set the path explicitly:
export OPENCLAW_STATE_DIR=~/.openclaw
If you update first, OpenClaw will create a fresh ~/.openclaw directory with empty config.
Step 3: Backup Your Config
Create a backup before updating:
cp -r ~/.openclaw ~/.openclaw-backup-$(date +%Y%m%d)
This includes your SOUL.md, USER.md, MEMORY.md, agents config, skills, and everything else.
Step 4: Check Browser Automation Setup
The legacy chrome extension relay is completely removed. If your browser config uses driver: "extension" or browser.relayBindHost, those settings do nothing now. Check your config:
openclaw config get | grep -i browser
The new approach uses existing-session browser attachment. OpenClaw connects to a browser that's already running instead of controlling one through an extension. OpenClaw now manages its own browser profile (the openclaw profile) or attaches to an existing chrome session via CDP.
Step 5: Understand Clawhub Change
Clawhub is now the default plugin and skill store. When you run openclaw plugins install or openclaw skills install, it checks Clawhub first and only falls back to npm if it can't find the package there. This means:
- Some skills installed via npm might need to be reinstalled via Clawhub
openclaw skills search,openclaw skills install, andopenclaw skills updateare new commands that use ClawHub natively- If a skill isn't on Clawhub, you can still install from npm (it's a fallback, not a removal)
After updating, run:
openclaw skills update
To make sure your existing skills are synced with the new system.
📖 Read the full source: r/clawdbot
👀 See Also

Getting the Most Out of Claude: A Data Analyst's Workflow with Cowork and Claude Code
A data analyst with no coding background shares how they use Cowork for end-to-end automation and Claude Code for heavy lifting — building a lead gen tool using Google Places API, a fraud dashboard, and automated social media posting.

Java Performance Optimization: Eight Anti-Patterns That Slow Down Your Code
A Java order-processing app improved from 1,198ms to 239ms elapsed time, 85,000 to 419,000 orders per second, and 1GB to 139MB heap usage by fixing eight common anti-patterns identified through Java Flight Recording profiling.

Post-Mortem: Claude Max + OpenClaw Billing Errors from Stale OAuth and Isolated Cron Jobs
OpenClaw agent breaks randomly due to stale OAuth token blacklisting the entire Anthropic provider and isolated cron jobs hitting the Extra Usage bucket. Full fix: remove manual profile, move cron to main session, clear billing lockout.

Building a Bridge for Two Telegram Bots in One Group Chat: Delivery Semantics Over HTTP
A developer shares a practical approach to connect two independent Telegram bots in the same group chat, tackling Telegram's bot-to-bot delivery gaps with HTTP relays, ACKs, deduplication, and strict scoped feeds.