← Back to Blogs
GH Release

OpenClaw v2026.5.20-beta.2 Release Summary

327069843 May 21, 2026

OpenClaw v2026.5.20-beta.2 Release Summary

OpenClaw v2026.5.20-beta.2 brings a substantial set of updates focused on enterprise-grade governance, expanded communication capabilities, and deep stability improvements for complex agent orchestrations. This release is particularly notable for introducing a formal policy conformance system and refining how the gateway handles high-load diagnostic traffic and agent sub-tasks.

Key Changes

Enterprise Policy Conformance

One of the most significant additions is the new bundled Policy plugin. This system allows operators to define required workspace postures (e.g., denying specific channel providers) in a policy.jsonc file. The system integrates with openclaw doctor to provide lint findings and opt-in workspace repairs, ensuring that the actual configuration matches the authored policy. It also generates an auditable attestation hash, binding the policy, evidence, and results into a durable record.

Discord Voice & Realtime Enhancements

Discord integration has received a major upgrade to support more dynamic voice interactions:

  • User Following: Voice sessions can now follow configured Discord users into voice channels, featuring multi-user handoff and bounded reconciliation to handle large user sets.
  • Realtime Bootstrap Context: Realtime voice sessions now include bounded profile context (IDENTITY.md, USER.md, and SOUL.md) by default, providing agents with immediate grounding in their persona and the user's identity during voice interactions.

Agent & Subagent Orchestration

Several critical fixes have been implemented to ensure reliability in multi-agent workflows:

  • Subagent Recovery: Fixed a critical issue where completed subagent announcements could fail to surface to the requester if the original requester run was stale. The system now forces a message-tool handoff to ensure results are delivered.
  • Wildcard Constraint: Tightened the subagents.allowAgents: ["*"] policy. Wildcards now match only configured agents in the registry, preventing the accidental creation of arbitrary agent state roots on disk.
  • Compaction Safety: Introduced a safety timeout for plugin-owned context engine compaction. Previously, a hung plugin compact() call could freeze an agent turn indefinitely; it is now bounded by a host-resolved timeout.

Provider & Auth Updates

  • xAI OAuth: Added device-code OAuth login for xAI, enabling authorization for remote and headless setups without requiring a localhost browser callback.
  • Anthropic Routing: Fixed routing for shorthand Anthropic model references (e.g., anthropic/opus-4.7) to ensure they correctly use the Claude CLI runtime when configured.
  • Codex Auth: The /codex account command now correctly respects explicit authentication order over the lastGood heuristic, aligning the status display with the actual runtime resolver.

Impact

Performance and Stability

  • Event Loop Liveness: The gateway now yields during high-frequency async diagnostic event drains (processing a maximum of 100 events per turn), preventing event-loop stalls during concurrent agent/subagent bursts.
  • Cron Isolation: Scheduled main-session cron jobs now run on dedicated cron-owned wake lanes. This prevents background automation from blocking interactive human web-chat turns on the same agent.
  • Memory & IO: Added detailed diagnostics to pi-trajectory-flush timeout warnings, allowing operators to distinguish between slow file IO and pending queued writes.

Security & Hardening

  • Secret Visibility: openclaw doctor now warns users if openclaw.json contains plaintext secret-bearing fields (like API keys), encouraging migration to SecretRefs.
  • System Execution: Hardened system.run by re-running allowlist evaluations on rebuilt shell arguments before execution, ensuring that rendered payloads still satisfy security policies.
  • Mattermost Gating: Mattermost inbound events are now dropped if the channel type cannot be resolved, preventing potential routing errors by failing closed.

Bug Fixes

  • Data Preservation: Fixed a P0 issue where legacy cron jobs.json files (stored as plain arrays) were treated as empty and clobbered during upgrades. These are now correctly normalized and preserved.
  • Browser Screenshots: Browser screenshots and labeled snapshots now honor the global agents.defaults.imageMaxDimensionPx sanitization limit.
  • Codex Reasoning: Fixed a bug where stale mirrored reasoning blocks in Codex transcripts caused invalid_encrypted_content errors from the provider. Replay is now provenance-bound to the specific session and auth profile.

Upgrade Guide

Breaking Changes & Migration

  • Subagent Wildcards: If you previously relied on subagents.allowAgents: ["*"] to target unconfigured agent IDs, these will now be rejected. You must explicitly list any required unconfigured IDs in the allowAgents array.
  • Cron Store Migration: Users upgrading from very old versions with plain-array jobs.json stores will find their jobs preserved and automatically migrated to the versioned object format upon the next write.

References

Pull Requests