OpenClaw 2.0 Fleet Migration: What Actually Broke
Upgrading a single OpenClaw instance is one thing, but doing it for a fleet of live clients means every breakage multiplies. One team spent a full day migrating to OpenClaw 2.0 and shared the sharpest edges. Here's what actually broke and how to avoid it.
Config Schema Got Stricter
In 2.0, the config schema is stricter, and several fields moved (env keys, TTS, media models). The biggest trap: doctor --fix silently deletes unknown fields. If your model key is in an area that's now deprecated, it can vanish along with those fields. The team rewrote configs by hand before running doctor to avoid losing keys.
External Plugins Break the Gateway
WhatsApp, Brave, Discord, and Perplexity are no longer in the core image; they're external plugins. If your config still references them, the gateway never becomes ready, the container enters a restart loop, and from the outside it looks like a 502. Simply adding the plugins to the image isn't enough because capability consent is tied to the specific machine, and doctor doesn't accept it. The only working approach is running openclaw plugins install ... --accept-capabilities as a separate step.
Device Pairing: Cloudflare Headers Break Locality
The webchat started throwing PAIRING_REQUIRED. The root cause: 2.0 only trusts requests from loopback without any forwarded headers. Not setting them in nginx isn't enough—Cloudflare sends its own headers, so you have to explicitly null them in nginx. This looked like a broken token but was actually a conflict between Cloudflare, nginx, and OpenClaw's locality logic.
Perplexity Auto-Loads Unwanted
Perplexity will auto-load if it detects an OpenRouter key, then demands consent even if you don't want the plugin. Setting enabled: false doesn't help; you must use plugins.deny to block it.
Takeaway: Favor Uptime Over Features
The ending principle: it's better to temporarily lose web search or a single channel than to take the whole agent down with a 502. Plan for multiple breakages and test each component individually.
This is based on a real migration report from a cloud platform hosting OpenClaw for clients. If you're planning an upgrade, read the source for more details and community insights.
📖 Read the full source: r/openclaw
👀 See Also

IDP Leaderboard benchmark shows Claude Sonnet 4.6 matches Opus 4.6 for document AI tasks
The IDP Leaderboard tested 16 AI models on 9,000+ documents across OCR, table extraction, key extraction, visual QA, handwriting, and long documents. Claude Sonnet 4.6 scored 80.8 overall, essentially matching Opus 4.6 at 80.3, while Haiku 4.5 scored 69.6.

Synthetic announces major pricing restructuring with significant rate limit changes
Synthetic is replacing its Standard and Pro tiers with subscription packs at $30/month, offering 135 messages per 5 hours per pack. Existing Pro users will see their 1,250 messages per 5 hours reduced to 335 messages for the same $60/month price.

Clarifying OpenClaw's Automation Capabilities
OpenClaw doesn't perform fully automated tasks independently; it requires user guidance for setup, acting more like a traditional LLM.

Anthropic blocks third-party harnesses from Claude subscription limits, workaround available
Anthropic has restricted third-party harnesses from accessing Claude subscription limits, potentially disrupting workflows that rely on these tools. A Reddit user reports developing an open-source workaround after nearly losing months of training data.