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, andSOUL.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 accountcommand now correctly respects explicit authentication order over thelastGoodheuristic, 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-flushtimeout warnings, allowing operators to distinguish between slow file IO and pending queued writes.
Security & Hardening
- Secret Visibility:
openclaw doctornow warns users ifopenclaw.jsoncontains plaintext secret-bearing fields (like API keys), encouraging migration toSecretRefs. - System Execution: Hardened
system.runby 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.jsonfiles (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.imageMaxDimensionPxsanitization limit. - Codex Reasoning: Fixed a bug where stale mirrored reasoning blocks in Codex transcripts caused
invalid_encrypted_contenterrors 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 theallowAgentsarray. - Cron Store Migration: Users upgrading from very old versions with plain-array
jobs.jsonstores will find their jobs preserved and automatically migrated to the versioned object format upon the next write.