OpenClaw tagged v2026.5.3-beta.2 on May 3rd, 2026. While it's a pre-release, the changelog is substantial — and the headline feature, the new bundled file-transfer plugin, is the kind of capability that opens up whole new classes of automation.
New: Bundled File Transfer Plugin
The biggest addition is a first-class file-transfer plugin (PR #74742, thanks @omarshahine). It ships four new agent tools:
file_fetch— fetch a single file (binary or text) from a paired nodedir_list— list directory contents on a paired nodedir_fetch— recursively fetch a directory treefile_write— write a file to a paired node
The security design is thoughtful. Path access is default-deny per node — operators configure allowed paths under plugins.entries.file-transfer.config.nodes and must explicitly approve them. Symlink traversal is refused by default (opt-in followSymlinks for those who need it), and there's a hard 16 MB ceiling per round-trip to prevent accidental oversized transfers.
This is a meaningful addition for anyone running multi-node OpenClaw setups — think homelab fleets, remote device management, or cross-machine agent workflows where moving files used to mean building custom tool integrations.
Tree-Sitter Shell Command Explainer
PR #75004 (thanks @jesse-merhi) adds a tree-sitter-backed shell command parser that will power future exec approval and command-review surfaces.
In plain terms: when OpenClaw needs to explain a shell command before asking for approval, it can now parse the actual AST rather than doing basic string matching. The groundwork is in this beta; the visible UI improvements to approval surfaces will come in a future release.
Gateway Config Hardening
An important behavior change: invalid config now fails closed. Previously, if your openclaw.yaml had a problem, the Gateway might auto-restore a last-known-good state on startup or hot reload. That silent recovery is gone.
Going forward, an invalid config stops the Gateway and openclaw doctor --fix is the explicit repair path. This makes failures visible and prevents subtle "it seemed fine" situations where an outdated or partially-written config was silently overriding your edits.
Performance Improvements
The startup hot path got significant trimming this release. Lazy-loading now defers plugin/runtime discovery, cron, schema metadata, shutdown hooks, and session management until they're actually needed — rather than front-loading all of it at boot. For plugin-heavy installs, this should be a noticeable improvement.
The PR also reduces duplicate plugin auto-enable work and adds startup CPU/profile controls for operators who want fine-grained boot behavior.
Channel and Provider Fixes
Several channel-specific fixes worth knowing about:
- Discord: The
trackToolCalls: trueflag onreactiontool calls lets status reactions progress through the full thinking → done lifecycle in tool-only guild channels. Separately, CJK and multiline slash-command descriptions no longer trigger redundant startupPATCHbursts. - WhatsApp: Explicit
@newsletteroutbound targets are now supported for Channel/Newsletter message routing. - Telegram: Stale same-session replies are suppressed when a newer message arrives before an older in-flight dispatch finalizes.
- Slack: The App Home tab gets a safe default view, and threaded conversations survive Gateway restarts.
- Google Meet: Live caption health reporting is improved, and
googlemeet test-listenis a new diagnostic command.
Control UI Fix: Sessions List Performance
PR #76676 fixes a significant performance regression in large session stores. The Control UI was doing full sessions.list reloads for routine sessions.changed payloads during chat turns — on installs with hundreds of sessions, this added multi-second delays while a response was being streamed. Now only incremental updates are triggered.
How to Try the Beta
openclaw update --channel beta
Or if you want to pin to this specific beta tag:
openclaw update --tag v2026.5.3-beta.2
The stable 2026.5.2 remains the recommended release for production deployments. The full changelog is on GitHub.
