OpenClaw Main Hardens Session State, Cron Delivery and Gateway Health
August 23 merges fix cross-agent live-session stalls, transcript loss on session delete, queued replies lost during credential reloads, cron results silently dropped on network failure, and health probes that trusted a rolled-back clock.
Nine merged fixes landed on August 23 that share one theme: state that operators believed was durable or authoritative — transcripts, queued replies, cron results, health probes — could quietly be wrong. Each item lists what broke and what to do about it.
Sessions and transcripts
Live sessions stalled or reordered across agent identities (#128265). With multiple agents configured, one agent’s live global session could stop updating while another agent waited on transcript projection; the same session could also render messages out of order when updates used both its bare global key and its agent-qualified alias. Root cause: transcript broadcast lanes were keyed by raw session string instead of agent-qualified identity. If you have seen a “frozen” multi-agent dashboard, this is the candidate explanation — retest after updating before blaming your agents.
Deleting one chat could lose another’s recent history (#128109). In the Control UI, deleting a session discarded an unrelated session’s in-flight IndexedDB transcript save; the affected session kept claiming it was cached, so prefetch skipped recovery and reopening showed missing history. The snapshot owner now fences scoped deletes by per-session revisions instead of treating every single-session deletion as a whole-cache generation change. If you previously “lost” Control UI chat history after deleting a different conversation, assume it was this and stop trusting those local caches as archives.
Agents and reloads
Hot reloads dropped admitted replies or restored stale credentials (#128138). Sending messages during a provider/credential hot reload could lose an already-admitted reply, or let a queued turn publish a retired runtime configuration over the newly committed owner (follow-up to #127217). The prepared-runtime owner now fences retired generations and permits old-generation reuse only through the exact outer reply lease while it stays open. Operators who schedule config changes under live traffic should still prefer low-traffic windows, but the silent-loss window is now closed.
Interrupted subagents forgot their latest instructions after restart (#128104). Restart recovery could resume tasks without the latest real user direction after an image-only message, claim hidden reasoning had already changed configuration, or inject an unbounded user message into the resumed prompt. Recovery now uses the shared assistant-visible transcript projection. If you rely on subagent task resumption across Gateway restarts, verify pending work resumes with correct context after upgrading.
Onboarding, MCP and media
Fleet onboarding changed the wrong model (#128119). Onboarding into an explicit multi-agent fleet reported success while leaving the System Agent on its old model and silently replacing the fleet-wide default — across custom providers, Google, NVIDIA, interactive and non-interactive flows. If you onboarded agents into a fleet recently and models look off, audit actual per-agent model settings against intent; the fix preserves fleet defaults going forward but does not repair already-drifted configs.
openclaw mcp add could replace existing servers (#128129). Adding an MCP server whose name already existed could silently overwrite it (including a concurrent add racing during probing). mcp add is now create-only; mcp set remains the explicit replacement command. Scripts that relied on add-overwrite semantics must switch to mcp set.
Attachments with opaque download URLs vanished silently (#128220). Images, voice notes, videos and TIFF scans were ignored when a channel supplied an extensionless/opaque URL plus generic MIME type and stored the recognizable filename separately. Kind detection now derives from filename metadata after honoring explicit kind and concrete MIME. If users reported “the bot ignored my photo,” retest — this was likely the cause.
Cron and gateway health
Scheduled job results disappeared on transient network failures (#128184). A completed command/script cron job’s announcement could be permanently lost if the channel hit a retryable network failure pre-dispatch; successful one-shot jobs were then deleted, leaving no recovery path. Announcements now route through the bounded transient-delivery retry owner, and the Gateway latches recipient-reached facts to avoid duplicating partially delivered batches. Review any external monitoring you built because cron announcements used to evaporate.
A rolled-back clock made dead channels look healthy (#128222). After the host clock moved backward, readiness probes could return HTTP 200 for stopped channels and cached health stayed stale, skipping automatic channel restarts. Future-dated observations can no longer prove readiness. NTP corrections, VM restores and manual clock changes no longer fake green dashboards — but treat any “healthy” status recorded during a known clock event with suspicion in past incident timelines.
Interpretation note: each mechanism summary comes from the corresponding merged PR description, verified against GitHub at publication time. Prioritization and operator framing are ours.
THE RECEIPTS
Claims should survive the click.
Primary links used for this article are listed openly. If the evidence changes, the verification date changes with it.- 01fix(gateway): live sessions stall or reorder across agent identities — PR #128265↗
- 02fix(ui): preserve other chat transcripts when deleting a session — PR #128109↗
- 03fix(agents): prevent reloads from losing queued replies or restoring stale credentials — PR #128138↗
- 04fix(onboard): provider setup changes the wrong agent model in managed fleets — PR #128119↗
- 05fix(mcp): keep add from replacing existing servers — PR #128129↗
- 06fix(subagents): interrupted tasks lose real user instructions after restart — PR #128104↗
- 07fix(cron): scheduled job results disappear after temporary network failures — PR #128184↗
- 08fix(media): stop silently skipping attachments with opaque download URLs — PR #128220↗
- 09fix(gateway): unhealthy channels appear ready after clock rollback — PR #128222↗
THE OPERATOR BRIEF