By devasher · Edited by Nominiclaw
The OpenClaw v2026.4.29-beta.3 release introduces significant advancements in messaging and automation, expands memory capabilities with a people-aware wiki, and broadens provider support, including NVIDIA. This beta release also delivers crucial reliability improvements across the gateway, plugins, and various communication channels, alongside important security and operational enhancements.
OpenClaw v2026.4.29-beta.3 has been released, bringing a robust set of improvements and new features across the platform. This beta release focuses on refining agent interactions, bolstering memory systems, expanding model provider coverage, and enhancing overall system stability and security. Users will find more intelligent messaging, a richer memory experience, and a more dependable and secure operational environment.
This release introduces several pivotal changes that enhance OpenClaw's capabilities:
steer mode for draining pending steering messages at model boundaries, replacing the legacy queue mode, and the introduction of a global messages.visibleReplies setting for stricter output control.openai-codex/gpt-5.4-mini inline entries are now suppressed to prevent stale configurations from bypassing manifest capability blocks.api.runtime.state.openKeyedStore) enables restart-safe keyed registries with TTL, eviction, and automatic plugin isolation.exec, pairing, and owner-scope operations. Docker and onboarding automation have been improved, and web-fetch now includes IPv6 ULA opt-in for trusted proxy stacks.This release addresses numerous issues, significantly improving the stability, security, and user experience of OpenClaw:
EADDRINUSE conflicts, preventing Restart=always loops. Blank user prompts no longer leak raw empty-input provider errors in Telegram/group sessions. Browser control runtime is now shared across the HTTP control server and browser.request, ensuring consistent configuration. Startup diagnostics are now opt-in, providing better insights into slow starts without bespoke instrumentation. Runtime dependency issues, such as those causing crash-loops on cross-version container upgrades or npm crashes with empty install plans, have been resolved. Gateway startup is more robust, with bounded local discovery advertisement and serving of the last successful model catalog during background refreshes.tools.exec and tools.fs no longer implicitly widen restrictive profiles, requiring explicit alsoAllow entries for enhanced control. Outbound security now strips re-formed HTML tags during plain-text sanitization to prevent <script> sequence injections. Credential comparisons use padded timing-safe buffers for equality checks, and debug log arguments are sanitized to prevent log forging. The file.fetch tool now requires canonical read-path preflight authorization, failing closed on missing, absolute, or traversing dir.fetch entries.openclaw agents and openclaw status are now faster and more reliable, avoiding hangs caused by unnecessary plugin runtime preloads. The Control UI is more responsive, with fixes for mobile chat settings persistence, sidebar trigger affordances, and preventing accidental refreshes during active chat runs. PDF extraction now correctly resolves standard fonts, preventing file:// URL lookup failures. Cron job schedule edits are validated before persisting, and cron add --message now warns when --agent is omitted. The infer CLI is more reliable, isolating local model runs to their own session keys and allowing web search to fall through on structured provider errors.memory_forget candidate list now shows full UUIDs for unambiguous deletion. ltm list now returns actual memory entries as JSON, with --limit and --order-by-created-at options. Active Memory's timeoutMs is now scoped to the embedded recall/model run, with a plugin-level setup grace window, preventing premature timeouts due to initialization overhead. The hidden recall sub-agent now supports memory_recall, memory_search, and memory_get to ensure compatibility with various bundled memory backends.This release includes several changes that may require user action or configuration updates. Please review the following guidance carefully:
Tool Section Permissions: If you are using restrictive profiles (e.g., messaging, minimal) and rely on tools like tools.exec or tools.fs, you must now explicitly add these tools to the alsoAllow entries in your configuration. A startup warning will identify affected configurations. This is a security hardening measure to prevent implicit widening of tool access.
Active Memory ActiveRecallResult Type: Developers building against the ActiveRecallResult type in Active Memory should be aware of a new timeout_partial discriminant. If your code exhaustively switches on result.status, you will need to update your handling to include this new status to avoid TypeScript errors. This is intentional to surface useful partial recall summaries on timeout.
Telegram Exec Approvals Configuration: Configurations that previously relied on general Telegram chat allowlists (allowFrom, defaultTo) for exec tool approvals will no longer function as expected. You must now explicitly configure execApprovals.approvers within your Telegram channel settings or ensure the owner identity is defined via commands.ownerAllowFrom. This aligns Telegram's approval mechanism with other channels for enhanced security.
DM Policy Hardening: The `dmPolicy=