OpenClaw v2026.4.25: Voice Replies, Plugin Startup, and Upgrades That Stop Fighting Back
This is the kind of release you feel after a day or two, not just in the changelog. OpenClaw can now handle voice replies like a normal feature, plugin startup is less mysterious, and upgrades picked up a lot of guardrails.
OpenClaw published v2026.4.25 on April 27, 2026. I think the biggest user-facing win is simple: voice output no longer feels bolted on. The second win is for anyone who runs a real install with plugins, browser automation, or multiple channels. More of the system now starts cleanly, stays predictable, and tells you what is wrong when something breaks.
Voice replies are ready for regular use
The headline feature is the TTS overhaul. /tts latest reads the newest answer aloud. /tts chat on, /tts chat off, and /tts chat default let you control auto-TTS per chat instead of flipping one global switch and regretting it later.
That sounds small until you use it. Before this release, voice often felt like a demo path. You could make it work, but you had to think about the plumbing too much. Now you can leave voice on in the chats where it helps and leave the rest alone.
/tts latest
/tts chat on
/tts status
OpenClaw also picked up more provider coverage here. Azure Speech is now bundled, and the release adds coverage for Xiaomi, Inworld, Volcengine, Local CLI voices, and ElevenLabs v3. Agent-level and account-level overrides are part of the same work, so one assistant can sound different from another without turning your config into a junk drawer.
What users can do now
- Read the last reply aloud on demand. That is the new
/tts latestflow. - Turn auto-TTS on for one chat without changing the rest of your setup. This is the piece voice replies were missing.
- Give specific agents, channels, or accounts their own voice behavior. Useful if your Discord bot, phone workflow, and operator chat should not all sound the same.
- Install OpenClaw as a PWA and receive Web Push notifications in Gateway chat. If you live in the Control UI, that makes the web app feel much less disposable.
- Start a local managed browser in headless mode on purpose. The new
openclaw browser start --headlesspath is cleaner than rewriting saved browser config just to run one job.
Plugin startup got boring in the best way
A huge part of this release is plugin registry work. Startup and install paths now lean on the cold persisted registry instead of broad manifest scans. That should make plugin discovery, repair, provider ownership, and install metadata much more deterministic.
If you have ever restarted a box and wondered why plugin behavior changed between boots, this is for you. It is not glamorous work. It is the kind of work that stops random mornings from getting stupid.
Browser and setup flows got more usable
Browser automation got safer tab URLs, better iframe-aware role snapshots, deeper browser doctor probes, and more room to tune Chrome readiness on slower hosts. That matters on Raspberry Pi-class hardware and on any machine where the browser is up, but the agent still feels half-attached.
Setup got attention too. There is now a first-run helper, a fuller TUI Crestodian flow, progress indicators, a context-mode selector, and a shorter startup greeting. None of that is flashy, but it removes friction right where new users usually decide whether the product feels solid.
What got safer or less annoying
- Installs and upgrades got harder to derail. The release adds more defensive handling across Windows, macOS, Linux, Docker, bundled runtime deps, service restarts, LaunchAgent token rotation, and mixed-version gateway checks.
- Telegram webhook delivery is less fragile under slow turns. OpenClaw now acknowledges validated webhook updates before bot middleware runs, which helps avoid retries caused by long agent work.
- MCP config reloads are cleaner. Removing or changing
mcp.serverscan now reap stale runtimes instead of leaving child processes hanging around. - Claude CLI auth and session behavior got less flaky. Refreshed credentials sync back into the managed auth profile, and large live JSONL lines stop aborting image-heavy or chat-heavy turns on the old stdout cap.
- Observability is better without dumping sensitive junk into telemetry. OpenTelemetry coverage expanded across model calls, tool loops, harness runs, outbound delivery, context assembly, and memory pressure, with bounded attributes instead of raw payloads.
What I would test right after updating
- Run
/tts latestin a real chat, then turn/tts chat on. Make sure the next reply comes back the way you want in the chat you actually use. - If you use multiple bots or accounts, test one override on purpose. Pick a voice, provider, or auto-TTS rule that should only apply in one place.
- Restart the gateway on the machine you depend on. Watch plugin startup, provider discovery, and any repair path that used to be noisy or slow.
- Run one browser task on your slowest host. A page with an iframe is a good test, especially if browser readiness timing has bitten you before.
- If you rely on Telegram, Claude CLI, or MCP servers, hit one real workflow in each. This release touches all three in ways that are worth checking with your actual setup.
Should you update now?
Yes if voice replies matter to you, if your install uses more than a couple of plugins, or if you are the person who gets stuck cleaning up after messy upgrades.
Also yes if you run OpenClaw for other people. This release has a lot of operational cleanup in it, and that kind of work pays off fast.
The biggest compliment I can give v2026.4.25 is that it makes OpenClaw feel less temperamental. You spend less time negotiating with the system and more time using it.
Full changelog: View v2026.4.25 on GitHub
Generated release page: Read the structured release notes
- Fred