Skip to main content
OpenClaw now preserves completed Codex delegation results through the covered handoffs, keeps accepted user turns from being stored twice, stops cancelled commands before they start, and retains Canvas widget identity and pin state after reload. The rest of this section covers scoped fixes across browser Talk, Copilot and xAI replay, Doctor recovery, plugin upgrades, meeting audio, and the terminal app.
In the repaired Codex delegation and sessions_yield paths, completed subagent results now survive cleanup and handoff, yielded jobs launch once, and the parent resumes after fan-out finishes.
One accepted user turn now stays one turn across the repaired retry and restart paths instead of being written twice. /new and /reset also preserve the underlying transcript position while clearing the visible conversation, so resetting what you see does not lose OpenClaw’s place in the saved history.
Code Mode can keep an eligible task moving when it fails before taking action or while discovering tools and skills, and nested tool calls now finish or cancel cleanly instead of hanging. Once a write may have happened, recovery is limited to checking what changed rather than replaying an uncertain action, while cancellation, policy denial, and other final outcomes still stop the task.
Cancelling a queued command now keeps it from starting, cancellation during startup reaches the process once it exists, and an explicit replacement retires the command it replaced without killing ordinary work that happens to be running at the same time. Commands already running in the background keep their existing lifetime.Process output also stays in the order OpenClaw observed it, completion remains attached to the exact process that finished, and polling says when earlier output was omitted. The full history remains available through paged process logs rather than one response that can grow without bound.
Workboard now keeps an accepted worker attached to its card, rolls back a failed operation without overwriting someone else’s edits, and reconnects launches interrupted by a restart. If OpenClaw does not have a complete view of the running workers, it waits instead of guessing whether one still belongs to the card, and stale launch attempts remain blocked.
Canvas now keeps generated widgets distinct when their names collide, remembers which widget was pinned after reload, and shows a bounded error when pinning fails instead of making the action disappear. When a stored widget identity is invalid or an occupied name is ambiguous, Canvas still refuses to guess which widget you meant.
The terminal app now stays on the conversation you most recently selected during rapid switching and preserves the active answer and chosen tool visibility when you return to it. It retries one temporary live-update failure, while a second failure remains visible and full verbosity continues to show stored tool output.
Browser Realtime Talk now limits stalled microphone uploads, queued playback, replacement work, and abandoned voice sessions instead of letting them grow without bound. A malformed audio frame can be dropped without ending healthy playback, while Google Live ends the current voice session when it cannot safely cancel only the response that overflowed.
Specific GitHub Copilot and xAI replay failures now recover without resetting the conversation. Copilot preserves valid same-run reasoning through active tool calls, and affected post-compaction or encrypted-reasoning failures receive one bounded sanitized retry under the matching transport, model family, or xAI decrypt signature.
Across the affected shared and OpenAI transcription paths, repeated short-lived connections now back off and stop at the configured retry limit, OpenAI turns stay in order, more eligible final words survive microphone close, and a large backlog keeps the newest audio so the session remains responsive.Local CLI text-to-speech now caps output memory, handles a broken audio stream safely, and preserves a valid output file when only unused stdout fails. Output metadata from Local CLI and ElevenLabs also reports the audio format that was actually produced.
Doctor now stops a stale build before repair, safely migrates the covered legacy agent databases without following unrelated state, and gives operators a concrete recovery path when the shared database is corrupt. Corrupt shared state is diagnosed and left unchanged for manual restoration or repair.
Doctor’s legacy authentication migration now preserves complete credentials, credentials already stored in SQLite, and the selected ChatGPT account across the covered legacy-to-SQLite migrations. Ambiguous ownership, unreadable files, and unverifiable credentials continue to stop the migration.
Plugin upgrades now keep canonical SQLite install and state records when conflicting legacy data is provably stale, archive the old file for recovery, and allow startup to continue. Newer or ambiguous legacy state and archive failures remain blocking so Doctor can retry without discarding either copy.
Affected Google Meet and Teams sessions now wait for the local audio bridge to stop before teardown completes. Google Meet also rejects malformed node-control requests before dispatch and keeps local audio diagnostics bounded and readable.
Documentation links now reach their intended external destinations and cross-page headings, while contributor attribution follows renamed accounts correctly. The external-link checker reports future drift on weekly or manual runs without blocking pull requests.