OpenClaw Development Digest: Stability, Performance, and Enhanced User Control
The OpenClaw platform continues to evolve rapidly, with a recent 6-hour development sprint bringing significant enhancements and crucial fixes. This digest highlights the key changes merged into the openclaw/openclaw repository, focusing on improvements to stability, performance, developer experience, and user interaction.
Merged PRs
- Fix Codex binding OAuth provider routing
- feat(openrouter): add opt-in response caching
- fix(daemon): preserve operator secrets in gateway.systemd.env on re-stage (#76860)
- fix(doctor): commit legacy migrations even when unrelated validation fails
- fix(discord): handle SecretRef runtime status
- [codex] Discover optional plugin tools from alsoAllow
- fix(cli): avoid local preload for gateway-owned message actions
- docs: add steer command guide
- fix(config): exempt known channel ids from plugins.allow stale warning (#76872)
- feat: add current-session steer command
- fix(gateway): dedupe active WebChat sends
- feat: add channel progress drafts
- [codex] Fix macOS upgrade recovery runtime hazards
- [codex] fix daemon gateway service Node selection
- fix: avoid fresh launchd repair kickstart
- fix(network): scope fake-IP SSRF policy to provider hosts
- fix(cli): reject unowned command roots before plugin load
- fix(usage): serve usage.cost and sessions.usage from durable transcript aggregate cache
- [codex] Fix blocked plugin validation wording
Key Changes
This development window saw a concentrated effort across several critical areas, reflecting a commitment to platform robustness and user experience:
Enhanced Stability and Reliability
Multiple fixes targeted core stability. A significant bug in Codex binding OAuth routing (#76714) was resolved, preventing 401 Missing bearer errors for Codex users by ensuring native OAuth handling. Discord channel stability received attention with fixes for SecretRef runtime status (#76987), which previously led to gateway crashes or named accounts failing to resolve tokens. macOS users will benefit from critical fixes addressing upgrade recovery runtime hazards (#76929, #76913), which previously caused gateway SIGTERM during plugin installation and left dangling symlinks, breaking bundled extension imports.
Performance and Efficiency Improvements
Performance was a major focus, particularly for resource-intensive operations. The usage.cost and sessions.usage endpoints, which previously scanned historical transcripts on every request, now leverage a durable, aggregate cache with an append-only fast path (#76650). This dramatically reduces handler times, CPU load, and dashboard stalls. For WebChat and Control UI users, a new deduplication mechanism (#76446) prevents rapid, duplicate message submissions from dispatching redundant agent runs, mitigating repeated provider initialization and slow replies.
Improved Developer and Operator Experience
Several updates streamline the developer and operator workflow. The doctor command is now more resilient, committing legacy migrations even if unrelated validation issues persist (#76800), preventing users from getting stuck in configuration loops. CLI behavior was refined to reject unowned command roots before expensive plugin loading (#76379), preventing non-existent commands from consuming CPU. Diagnostic messaging for blocked plugins was clarified (#76876), moving from misleading