OpenClaw 4.20: an inventory of 29 essential fixes for serious users
A Reddit user lists every manual fix they had to apply after upgrading. Some of them, they claim, reappeared upstream.
If you think upgrading to OpenClaw 4.20 is painless, you’re probably not using it hard enough. u/Marcelovc, an active contributor on r/openclaw, published a provocatively titled post - “This sucks from Openclaw founder but read this if you want to update to 4.20” - listing 29 fixes required to make version 4.20 work as intended.
OpenClaw dropped 4.20 and, a mere six hours later, 4.21. Textbook release cadence for @steipete’s project: push, discover the damage, patch. Let’s break it down.
What’s new in 4.20
4.20 is a substantial release, mostly cleanup and consolidation, with a few notable features:
Kimi K2.6 as default - Moonshot/Kimi now defaults to kimi-k2.6, with kimi-k2.5 still available for compatibility. Also supports thinking.keep = "all" on K2.6, stripped for other Moonshot models when tool_choice is pinned.
Tiered model pricing - Support for tiered pricing from cached catalogs, with bundled Kimi K2.6/K2.5 cost estimates in token-usage reports.
BlueBubbles: per-group system prompts - Group behavioral instructions (tapback, threaded-reply conventions) are now injected every turn via GroupSystemPrompt. Supports * wildcard fallback. Closes #60665.
Hardened GPT-5 prompt - System overlay for GPT-5/Codex now has stronger completion bias, weak-result recovery, and verify-before-final guidance.
Cron: separate runtime state - jobs-state.json splits from jobs.json, so git-tracked job definitions stay stable while execution state mutates.
Aggressive session maintenance - Entry cap and age prune are enforced by default, and oversized stores are pruned at load time to prevent gateway OOM.
Compaction notices - Opt-in start and completion notices during context compaction.
Mattermost: draft streaming - Thinking, tool activity, and partial replies stream into a single draft post that finalizes in-place.
Improved onboarding - Single warning banner, headings, checklists, spinner during model catalog load, “API key” placeholder in prompts.
Plus: sanitizeForLog() optimization (single regex vs iterative loop), plugin loader reuse for leaner tests, Docker E2E for channel dependencies, and QA suite that fails by default on failed scenarios.
Anthropic re-allows OpenClaw? Not quite: limbo and model routing win
A post on r/openclaw sparked hope: “Anthropic allows OpenClaw again.” But the community quickly dismantled the optimism. Peter Steinberger had tweeted that Boris (from Anthropic) confirmed CLI-style usage is allowed. OpenClaw added support, only to find they were still blocked.
As user siberianmi put it: “It’s in a weird limbo where CLI use should work in theory but doesn’t in practice.”