---
title: "v2026.11.2"
summary: "Fixes for updates, scheduled reminders, chat and model connections."
description: "OpenClaw v2026.11.2 patch release notes covering update, messaging, app, model and reliability fixes."
keywords:
  - OpenClaw
  - v2026.11.2
  - release notes
---

# v2026.11.2

AI agents and tools can read these release notes as [plain Markdown](https://raw.githubusercontent.com/openclaw/openclaw/main/CHANGELOG/2026.11.2.md).

This is a patch release with no new features. It fixes problems that could stop updates, leave scheduled reminders missing, or cause chat widgets to appear twice, alongside smaller reliability fixes.

This release draws on 113 pull requests and 53 direct commits, with contributions from 64 GitHub accounts.

## Installation and Onboarding

- Fixes global installation with Bun 1.4.4 when Node is not installed.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#175990](https://github.com/openclaw/openclaw/pull/175990). Thanks to [@steipete](https://github.com/steipete). See the [installation guide](/install/index).

  </details>

- Prevents Hermes migration from silently changing settings or credentials when source files contain malformed UTF-8. Re-encode the named file and retry.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#180264](https://github.com/openclaw/openclaw/pull/180264). Thanks to [@steipete](https://github.com/steipete), [@Leon-SK668](https://github.com/Leon-SK668) and [@wangmiao0668000666](https://github.com/wangmiao0668000666).

  </details>

- Fixes Windows configure refusals and false Doctor warnings when Gateway paths differ only in letter case.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#185917](https://github.com/openclaw/openclaw/pull/185917), [#185913](https://github.com/openclaw/openclaw/issues/185913). Thanks to [@YangManBOBO](https://github.com/YangManBOBO) and [@steipete](https://github.com/steipete).

  </details>

- Fixes browser extension setup rejecting group-writable package files created by the shell installers on systems with permissive file permissions. Existing installations need an installer-driven upgrade or reinstall.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#186782](https://github.com/openclaw/openclaw/pull/186782), [#179493](https://github.com/openclaw/openclaw/issues/179493). Thanks to [@javiermv](https://github.com/javiermv).

  </details>

## Web UI

- Prevents an unsaved Agent Files draft from silently saving into a different workspace after the agent is reconfigured. The editor keeps the draft and offers Reload or Overwrite.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#168940](https://github.com/openclaw/openclaw/pull/168940). Thanks to [@steipete](https://github.com/steipete). See the [Control UI guide](/web/control-ui).

  </details>

- Fixes Ctrl+Enter and Cmd+Enter failing to submit selected answers when focus is on the web chat question panel or an answer choice.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#173836](https://github.com/openclaw/openclaw/pull/173836). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes duplicate Canvas widgets and previews appearing as a chat reply finishes, while preserving the existing widget and its state.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#175544](https://github.com/openclaw/openclaw/pull/175544), [follow-up](https://github.com/openclaw/openclaw/commit/96856be5d9fdc1001ecfacac98090f95c232b3a1). Thanks to [@shakkernerd](https://github.com/shakkernerd) and [@RomneyDa](https://github.com/RomneyDa).

  </details>

- Fixes public session transcripts and images failing to load when run status changes during a read.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#177371](https://github.com/openclaw/openclaw/pull/177371). Thanks to [@vincentkoc](https://github.com/vincentkoc).

  </details>

- Fixes agent images appearing clipped in Control UI row avatars when an emoji fallback is present.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#177886](https://github.com/openclaw/openclaw/pull/177886). Thanks to [@HootRock](https://github.com/HootRock), [@obviyus](https://github.com/obviyus) and [@DonnieFi](https://github.com/DonnieFi).

  </details>

- Fixes Settings switches and segmented controls losing keyboard focus while changes are saved, and makes individually locked controls reachable by keyboard.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#178175](https://github.com/openclaw/openclaw/pull/178175). Thanks to [@etzelm](https://github.com/etzelm) and [@steipete](https://github.com/steipete).

  </details>

- Fixes Model Setup losing keyboard focus on unchanged choices during a rescan.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#179275](https://github.com/openclaw/openclaw/pull/179275). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Explains rejected Settings key renames and keeps the original entry intact until you correct the edit.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#180950](https://github.com/openclaw/openclaw/pull/180950). Thanks to [@etzelm](https://github.com/etzelm) and [@shakkernerd](https://github.com/shakkernerd).

  </details>

- Fixes slash-command clicks being lost when the command catalog refreshes during selection.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#181735](https://github.com/openclaw/openclaw/pull/181735). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Reduces repeated copying of settings when chat details load after a configuration reload that does not change policy.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#173850](https://github.com/openclaw/openclaw/pull/173850). Thanks to [@steipete](https://github.com/steipete).

  </details>

## Updates and Maintenance

- Protects database recovery files during automatic all-agent [Doctor](/cli/doctor) maintenance when database paths overlap through a symbolic link.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#155759](https://github.com/openclaw/openclaw/pull/155759). This covers a retained database path that symbolically aliases a selected SQLite sidecar. Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes full status reports hanging when a Gateway diagnostic log is a named pipe without a writer.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#172294](https://github.com/openclaw/openclaw/pull/172294). Thanks to [@Leon-SK668](https://github.com/Leon-SK668) and [@obviyus](https://github.com/obviyus).

  </details>

- Fixes update results and history hiding warnings that automatic database restoration was refused, including the retained snapshot location.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#177551](https://github.com/openclaw/openclaw/pull/177551). Thanks to [@vincentkoc](https://github.com/vincentkoc).

  </details>

- Fixes updates failing during snapshot checks when update history is overloaded. This fix must be present in the installed updater; affected 2026.10.4 installations can follow the [update recovery guidance](/install/updating).

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#178126](https://github.com/openclaw/openclaw/pull/178126). Thanks to [@steipete](https://github.com/steipete) and [@Nickfost](https://github.com/Nickfost).

  </details>

- Fixes triage hanging on POSIX when an update-result path is a named pipe without a writer.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#179394](https://github.com/openclaw/openclaw/pull/179394). Thanks to [@steipete](https://github.com/steipete) and [@Leon-SK668](https://github.com/Leon-SK668).

  </details>

- Fixes updates of a selected profile failing because inspection reads another profile’s database. An older updater running its own inspection worker needs an updated runtime. See the [update guidance](/install/updating).

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#184384](https://github.com/openclaw/openclaw/pull/184384). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes watched updates losing progress and completion notifications after a temporary update-ledger read failure.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#188015](https://github.com/openclaw/openclaw/pull/188015). Thanks to [@vincentkoc](https://github.com/vincentkoc).

  </details>

- Fixes triage for a separate installation including the unrelated native Gateway service in its support archive.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#188879](https://github.com/openclaw/openclaw/pull/188879). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes macOS Gateway uninstall and legacy service cleanup failing when Trash access is denied, if the unloaded service file can be deleted. If deletion also fails, the unloaded service is not restored.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#189321](https://github.com/openclaw/openclaw/pull/189321), [#188563](https://github.com/openclaw/openclaw/issues/188563). Thanks to [@sukhdeepjohar](https://github.com/sukhdeepjohar).

  </details>

- Fixes unexpected update wizard failures being routed to text output instead of the JSON error handler.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#190946](https://github.com/openclaw/openclaw/pull/190946). Thanks to [@vincentkoc](https://github.com/vincentkoc).

  </details>

- Fixes Gateway startup failing on brief SQLite schema contention from another state-accessing command.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191882](https://github.com/openclaw/openclaw/pull/191882). Thanks to [@RomneyDa](https://github.com/RomneyDa).

  </details>

- Fixes interrupted updates continuing to wait for Gateway readiness and gives large SQLite states more time for candidate update checks. The installed updater must contain this fix for the affected update. See the [update guide](/cli/update).

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#193263](https://github.com/openclaw/openclaw/pull/193263). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes update repair blocking itself when current and older paths reach the same database through different aliases.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#193431](https://github.com/openclaw/openclaw/pull/193431), [#193401](https://github.com/openclaw/openclaw/issues/193401). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Prevents update preparation from copying unrelated files when a plugin links to a file outside its folder.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  This applies when the linked file sits under a shared package folder that also contains the plugin or the update snapshot. [Released change](https://github.com/openclaw/openclaw/commit/fd20a90e2bfa9eef04bc6bae35239128b4c1a366). Thanks to [@RomneyDa](https://github.com/RomneyDa).

  </details>

- Avoids trying to remove the Mac app’s background service when you pause the local Gateway and its service file is missing.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/5a94c57a3628c6e8715b7c7c711db2afdb39f53b). Thanks to [@RomneyDa](https://github.com/RomneyDa).

  </details>

## Messaging

- Prevents streamed reply text from being joined to a media caption when the combined caption exceeds the configured limit.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#174737](https://github.com/openclaw/openclaw/pull/174737). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes detaching or rebinding a Codex-bound Telegram conversation failing with a runtime initialization error.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#175379](https://github.com/openclaw/openclaw/pull/175379). Thanks to [@Satoshi-Kusumoto](https://github.com/Satoshi-Kusumoto) and [@obviyus](https://github.com/obviyus).

  </details>

- Prevents Discord from pinging a guessed person when a cached name is ambiguous or a discriminator tag does not match.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#182327](https://github.com/openclaw/openclaw/pull/182327), [release backport](https://github.com/openclaw/openclaw/commit/500ea6f38601dcb2457747a4ff2161eeb7e6af1d). Thanks to [@steipete](https://github.com/steipete) and [@RomneyDa](https://github.com/RomneyDa).

  </details>

- Warns about enabled [Matrix DM policies](/channels/matrix) with an empty allowlist or a missing open-policy wildcard during configuration validation.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#182415](https://github.com/openclaw/openclaw/pull/182415). Thanks to [@steipete](https://github.com/steipete) and [@sem00-ft](https://github.com/sem00-ft).

  </details>

- Fixes certain zero-width Unicode cells in Telegram monospace tables stalling the Gateway.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#183217](https://github.com/openclaw/openclaw/pull/183217). Thanks to [@LeizhenZhang](https://github.com/LeizhenZhang) and [@obviyus](https://github.com/obviyus).

  </details>

- Shows an account warning and [recovery guidance](/channels/imessage) for recognized iMessage Automation send failures. Check delivery and queued replies before retrying.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#186117](https://github.com/openclaw/openclaw/pull/186117), [#178719](https://github.com/openclaw/openclaw/issues/178719). Thanks to [@anmol0b](https://github.com/anmol0b) and [@RomneyDa](https://github.com/RomneyDa).

  </details>

- Fixes a removed Matrix account reusing its old cached login when it is added again.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#186140](https://github.com/openclaw/openclaw/pull/186140), [#186011](https://github.com/openclaw/openclaw/issues/186011). Thanks to [@wr-web](https://github.com/wr-web) and [@steipete](https://github.com/steipete).

  </details>

- Fixes Microsoft Teams allowlists losing resolved senders and applying the wrong team rules after unrelated configuration reloads.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#186334](https://github.com/openclaw/openclaw/pull/186334), [#186333](https://github.com/openclaw/openclaw/issues/186333). Thanks to [@nxmxbbd](https://github.com/nxmxbbd) and [@steipete](https://github.com/steipete). See the [Microsoft Teams guide](/channels/msteams).

  </details>

- Fixes Microsoft Teams accounts failing to start when a named account uses the default webhook path and the default account uses a custom path.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#186709](https://github.com/openclaw/openclaw/pull/186709), [#186708](https://github.com/openclaw/openclaw/issues/186708). Thanks to [@nxmxbbd](https://github.com/nxmxbbd) and [@steipete](https://github.com/steipete).

  </details>

- Fixes Discord channel names in non-Latin scripts resolving to the wrong room and returning unrelated directory results. Use channel IDs for emoji-only names.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#188127](https://github.com/openclaw/openclaw/pull/188127), [#188126](https://github.com/openclaw/openclaw/issues/188126). Thanks to [@masatohoshino](https://github.com/masatohoshino) and [@steipete](https://github.com/steipete).

  </details>

- Fixes newly queued messages being retried from a different sender after the channel default account changes. Older queued messages without a saved account cannot recover the original default.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191819](https://github.com/openclaw/openclaw/pull/191819). Thanks to [@vincentkoc](https://github.com/vincentkoc).

  </details>

- Fixes WhatsApp direct messages being lost when a sender’s phone mapping arrives shortly after the message. Completed redeliveries with a missing mapping also no longer block later messages in the batch.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#193052](https://github.com/openclaw/openclaw/pull/193052), [#119475](https://github.com/openclaw/openclaw/issues/119475). Thanks to [@YangManBOBO](https://github.com/YangManBOBO). See the [WhatsApp guide](/channels/whatsapp).

  </details>

- Fixes Telegram polling initialization retries delaying Gateway shutdown during an API outage.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#193452](https://github.com/openclaw/openclaw/pull/193452), [#193429](https://github.com/openclaw/openclaw/issues/193429). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes incoming events being failed too early after session-start conflicts, before the normal retry age limit is reached.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/a21391f13b1d26187109828b174459ceca65b675). Thanks to [@steipete](https://github.com/steipete) and [@RomneyDa](https://github.com/RomneyDa).

  </details>

- Clears expired Discord component and modal callbacks from memory when new interactions are registered.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#173429](https://github.com/openclaw/openclaw/pull/173429). Thanks to [@steipete](https://github.com/steipete).

  </details>

## Memory

- Fixes memory search rejecting model-generated calls that use `limit` for the result count, including through Tool Search.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#172630](https://github.com/openclaw/openclaw/pull/172630). Thanks to [@wr-web](https://github.com/wr-web), [@steipete](https://github.com/steipete) and [@beebee](https://github.com/beebee). See the [memory guide](/concepts/memory).

  </details>

- Fixes memory indexing and search requests to recognized Azure OpenAI hosts when the API version is supplied in a header. See the [memory configuration reference](/reference/memory-config).

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/3001509a73610917e6fb4cd993741edb114c8b47), [#139436](https://github.com/openclaw/openclaw/pull/139436). Thanks to [@LiuwqGit](https://github.com/LiuwqGit), [@obviyus](https://github.com/obviyus), [@OliPlus](https://github.com/OliPlus) and [@RomneyDa](https://github.com/RomneyDa).

  </details>

- Limits Active Memory recall input for large conversations, keeping recent context first. Older history and the middle of an oversized latest input may be omitted.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/b5a494c9af64a916ca6f6fc946b65a71b07b9a84), [#110898](https://github.com/openclaw/openclaw/pull/110898). Thanks to [@joeykrug](https://github.com/joeykrug), [@RomneyDa](https://github.com/RomneyDa) and [@steipete](https://github.com/steipete).

  </details>

## Skills

- Prevents Doctor repair from disabling enabled skills solely because a required binary is missing locally and may be available on a paired node. A skill can also remain enabled if another requirement is missing.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#178665](https://github.com/openclaw/openclaw/pull/178665). Thanks to [@steipete](https://github.com/steipete) and [@davidcittadini](https://github.com/davidcittadini). See the [skills guide](/tools/skills).

  </details>

## Native Apps

- Fixes missing waiting status and tool activity in iOS chat when another client starts a run in the same session.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#171590](https://github.com/openclaw/openclaw/pull/171590). Thanks to [@Marvinthebored](https://github.com/Marvinthebored), [@Peetiegonzalez](https://github.com/Peetiegonzalez) and [@Solvely-Colin](https://github.com/Solvely-Colin).

  </details>

- Fixes Wear OS chat crashing when repeated messages have no IDs or timestamps.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#172354](https://github.com/openclaw/openclaw/pull/172354). Thanks to [@IWhatsskill](https://github.com/IWhatsskill).

  </details>

- Fixes the Android chat branch picker appearing empty after overlapping startup history loads.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#177347](https://github.com/openclaw/openclaw/pull/177347). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes cancelled Apple Talk startup leaving its relay without a close attempt, and macOS Talk showing an unready session as listening.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#183681](https://github.com/openclaw/openclaw/pull/183681). Thanks to [@SebTardif](https://github.com/SebTardif) and [@steipete](https://github.com/steipete).

  </details>

- Fixes synchronous commands on a macOS node waking the agent a second time with output already returned.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/bbb258b68e864fbe6f0a5a1e9f72c725e18abd21), [#190770](https://github.com/openclaw/openclaw/pull/190770). Thanks to [@holgergruenhagen](https://github.com/holgergruenhagen) and [@RomneyDa](https://github.com/RomneyDa).

  </details>

- Fixes iOS recovery controls becoming inaccessible while reconnecting to an unreachable saved Gateway.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191560](https://github.com/openclaw/openclaw/pull/191560), [#191449](https://github.com/openclaw/openclaw/issues/191449). Thanks to [@TameTheGame](https://github.com/TameTheGame). See the [iOS guide](/platforms/ios).

  </details>

## Models and Providers

- Fixes missing z.ai quota reset countdowns and incorrect weekly and monthly token period labels.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#172231](https://github.com/openclaw/openclaw/pull/172231). Thanks to [@fhgffy](https://github.com/fhgffy) and [@steipete](https://github.com/steipete). See the [model guide](/concepts/models).

  </details>

- Reduces cases where Gemini responds to injected runtime context instead of the user request in Google generate-content turns.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#172711](https://github.com/openclaw/openclaw/pull/172711). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Avoids an unnecessary Codex connector refresh when plugin thread startup explicitly requests reuse of an existing app snapshot.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#172727](https://github.com/openclaw/openclaw/pull/172727). Thanks to [@Kimiyu-186](https://github.com/Kimiyu-186).

  </details>

- Preserves Codex startup throttling and overload errors and fixes OpenAI usage-limit and missing-plan errors falling through to generic failure guidance.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#172931](https://github.com/openclaw/openclaw/pull/172931). Thanks to [@vincentkoc](https://github.com/vincentkoc).

  </details>

- Fixes Google video generation using prefixed model names and stops automatic resubmission when a completed result is empty or filtered.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#173756](https://github.com/openclaw/openclaw/pull/173756). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes session thinking settings accepting unsupported levels or rejecting valid ones when a configured model is served through a different route than its catalog entry.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#174156](https://github.com/openclaw/openclaw/pull/174156). Thanks to [@masatohoshino](https://github.com/masatohoshino) and [@obviyus](https://github.com/obviyus).

  </details>

- Fixes affected image providers rejecting oversized [generated images](/tools/image-generation) before they can be fitted for saving. When possible, the media store converts or resizes them, which may reduce quality or dimensions.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  Errors also identify the media generation reference that failed to load, including size details for oversized inline images. [#174601](https://github.com/openclaw/openclaw/pull/174601), [#174661](https://github.com/openclaw/openclaw/pull/174661). Thanks to [@obviyus](https://github.com/obviyus).

  </details>

- Fixes the model picker hiding eligible native Muse Wonder models when API credentials are missing.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/e96fd19f6b01799f0ad5a72bb885c1f49591ad9f), [#175806](https://github.com/openclaw/openclaw/pull/175806). Thanks to [@obviyus](https://github.com/obviyus) and [@RomneyDa](https://github.com/RomneyDa).

  </details>

- Fixes duplicate model aliases appearing during a deferred catalog refresh when plugin generations use different provider policies.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#175898](https://github.com/openclaw/openclaw/pull/175898). Thanks to [@galiniliev](https://github.com/galiniliev).

  </details>

- Fixes follow-up requests losing required reasoning history for supported tier-suffixed model IDs on custom OpenAI-compatible routes.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#176471](https://github.com/openclaw/openclaw/pull/176471). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes compatible local Codex turns starting new threads after managed inference proxy restarts. Existing bindings rotate once after updating.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#177110](https://github.com/openclaw/openclaw/pull/177110). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes session listings showing the wrong provider and model for configured aliases when a session has no recorded model.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#177340](https://github.com/openclaw/openclaw/pull/177340). Thanks to [@huyengiang101086-spec](https://github.com/huyengiang101086-spec), [@obviyus](https://github.com/obviyus) and [@abacha](https://github.com/abacha).

  </details>

- Stops runaway whitespace in unfinished OpenAI Responses tool calls and allows the existing bounded retry to recover.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  Transport diagnostics distinguish session watchdog interruptions from caller cancellation. [#177659](https://github.com/openclaw/openclaw/pull/177659), [release backport](https://github.com/openclaw/openclaw/commit/5ddd59aaedd1ff5bcb4c19b447ab9142bce7431d). Thanks to [@steipete](https://github.com/steipete) and [@RomneyDa](https://github.com/RomneyDa).

  </details>

- Fixes manual Claude Code compaction failing on root-run Gateways when permissions were added automatically.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#177677](https://github.com/openclaw/openclaw/pull/177677). Thanks to [@sunlit-deng](https://github.com/sunlit-deng), [@steipete](https://github.com/steipete) and [@eliavb43](https://github.com/eliavb43).

  </details>

- Fixes LM Studio preload retries being blocked by a different request's failed-load cooldown and keeps differently routed requests on their own prepared instances.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#177901](https://github.com/openclaw/openclaw/pull/177901). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes Claude CLI native-login markers being sent as Anthropic HTTP API keys, while preserving configured API-key fallback.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#178193](https://github.com/openclaw/openclaw/pull/178193). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes existing Codex CLI sign-in imports failing after a startup account update by retrying the credential read once.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#178268](https://github.com/openclaw/openclaw/pull/178268). Thanks to [@potoior](https://github.com/potoior), [@steipete](https://github.com/steipete) and [@mnowrot](https://github.com/mnowrot).

  </details>

- Fixes inline API-key authentication failures not being recorded for agents using PostgreSQL storage.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#189901](https://github.com/openclaw/openclaw/pull/189901). Thanks to [@etzelm](https://github.com/etzelm).

  </details>

- Fixes long-lived Codex sessions continuing to use old workspace instructions after a nonempty AGENTS.md is edited, including after a thread resumes. Empty or missing files retain the last delivered instructions for that thread. See the [Codex harness guide](/plugins/codex-harness).

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191439](https://github.com/openclaw/openclaw/pull/191439), [#161707](https://github.com/openclaw/openclaw/issues/161707). Thanks to [@Oldrich333](https://github.com/Oldrich333).

  </details>

- Fixes Apple Foundation Models setup continuing to report an old source-read error after the missing or unreadable asset is repaired.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191965](https://github.com/openclaw/openclaw/pull/191965). Thanks to [@vincentkoc](https://github.com/vincentkoc).

  </details>

- Fixes a specific OpenCode Go endpoint outage being mistaken for invalid credentials and blocking healthy models that share the key.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#193234](https://github.com/openclaw/openclaw/pull/193234), [#193194](https://github.com/openclaw/openclaw/issues/193194). Thanks to [@1052326311](https://github.com/1052326311), [@steipete](https://github.com/steipete) and [@theimmortal68](https://github.com/theimmortal68).

  </details>

- Fixes CLI-backed models being marked unavailable when their bound runtime has prepared native credentials.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/d795dbc8a32fa67d269641bfbf7081430385223b). Thanks to [@RomneyDa](https://github.com/RomneyDa).

  </details>

## Automations and Scheduling

- Fixes scheduled reminders disappearing when their text mentions heartbeat polls or wakes.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#129650](https://github.com/openclaw/openclaw/pull/129650). Thanks to [@steipete](https://github.com/steipete). See the [heartbeat guide](/gateway/heartbeat).

  </details>

- Prevents an automation from deleting its schedule and cancelling its own active run when its live ownership cannot be confirmed.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#167857](https://github.com/openclaw/openclaw/pull/167857). Thanks to [@DasX](https://github.com/DasX) and [@steipete](https://github.com/steipete).

  </details>

- Fixes an old delivery topic remaining on a saved automation after its delivery route changes.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#168827](https://github.com/openclaw/openclaw/pull/168827). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Prevents retention cleanup from pruning sessions of running cron jobs in the selected custom store.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#176745](https://github.com/openclaw/openclaw/pull/176745). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes blank cron edit flags leaving old failure-alert channel, destination or account overrides in place.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#177681](https://github.com/openclaw/openclaw/pull/177681). Thanks to [@yetval](https://github.com/yetval) and [@obviyus](https://github.com/obviyus).

  </details>

- Fixes scheduled announcements without an account using the wrong conversation identity when a channel has a named default account. Existing incorrectly recorded identities are not repaired.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#187637](https://github.com/openclaw/openclaw/pull/187637), [#186043](https://github.com/openclaw/openclaw/issues/186043). Thanks to [@yousan](https://github.com/yousan) and [@steipete](https://github.com/steipete).

  </details>

- Fixes the IMAP watcher skipping eligible mail after a temporary DNS failure during DKIM verification. Retries remain limited and messages must still pass authentication.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#190439](https://github.com/openclaw/openclaw/pull/190439), [#150558](https://github.com/openclaw/openclaw/issues/150558). See the [IMAP guide](/automation/imap).

  </details>

- Repairs older scheduled jobs that need a stored inference account by recording an eligible account during Doctor repair. After a manual source upgrade, run `openclaw doctor --fix` before startup.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/9716cc4c964ebf4915659e8ecd363fefcb02bcc6). Thanks to [@obviyus](https://github.com/obviyus), [@fuller-stack-dev](https://github.com/fuller-stack-dev), [@Kimiyu-186](https://github.com/Kimiyu-186), [@steipete](https://github.com/steipete), [@VACInc](https://github.com/VACInc) and [@RomneyDa](https://github.com/RomneyDa). See [cron documentation](/automation/cron-jobs).

  </details>

- Fixes scheduled CLI runs failing to use their recorded account when the backend forwards stored profiles.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/9716cc4c964ebf4915659e8ecd363fefcb02bcc6). Thanks to [@obviyus](https://github.com/obviyus), [@fuller-stack-dev](https://github.com/fuller-stack-dev), [@Kimiyu-186](https://github.com/Kimiyu-186), [@steipete](https://github.com/steipete), [@VACInc](https://github.com/VACInc) and [@RomneyDa](https://github.com/RomneyDa).

  </details>

## Browser and Computer Use

- Fixes an unusable extension relay secret blocking Browser control and non-extension profiles. For affected extension profiles, move the named secret file aside and run `openclaw browser extension pair` to re-pair the [Chrome extension](/tools/chrome-extension).

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#180305](https://github.com/openclaw/openclaw/pull/180305). Thanks to [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).

  </details>

- Enforces strict browser redirect policy by rejecting HTTP and HTTPS navigation and tab opens in existing-session Chrome MCP profiles. Use an OpenClaw driver profile for strict navigation. See the [browser documentation](/tools/browser).

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191271](https://github.com/openclaw/openclaw/pull/191271). Thanks to [@pgondhi987](https://github.com/pgondhi987).

  </details>

- Fixes computer-use recording retries and execution close remaining blocked after a temporary resource setup failure is repaired.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#192001](https://github.com/openclaw/openclaw/pull/192001). Thanks to [@vincentkoc](https://github.com/vincentkoc). See the [computer-use guide](/nodes/computer-use).

  </details>

## Plugins and Integrations

- Prevents plugins from using cached state when a quarantined shared database refuses access.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#173671](https://github.com/openclaw/openclaw/pull/173671). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Prevents temporary environment outages from being treated as repeated credential failures for cloud and node worker connections.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#174735](https://github.com/openclaw/openclaw/pull/174735), [#171185](https://github.com/openclaw/openclaw/issues/171185). Thanks to [@steipete](https://github.com/steipete) and [@Yolo521-bot](https://github.com/Yolo521-bot).

  </details>

- Fixes cloud-worker maintenance staying unavailable after the same state database reopens following a temporary access restriction, without requiring a Gateway restart.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#175185](https://github.com/openclaw/openclaw/pull/175185). Thanks to [@steipete](https://github.com/steipete) and [@g62nkcx4q7-wq](https://github.com/g62nkcx4q7-wq).

  </details>

- Warns when workspace hook metadata cannot be read instead of silently skipping the affected hook.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#175316](https://github.com/openclaw/openclaw/pull/175316). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes consistent third-party npm plugin installs being reported as invalid provenance and corrects misleading reinstall advice. Official trust restrictions still apply.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#180463](https://github.com/openclaw/openclaw/pull/180463). Thanks to [@steipete](https://github.com/steipete), [@LiuwqGit](https://github.com/LiuwqGit) and [@LachieFREEDOM](https://github.com/LachieFREEDOM).

  </details>

- Prevents final plugin reload cleanup from blocking Gateway foreground work while worker-backed recovery snapshots are released.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#180957](https://github.com/openclaw/openclaw/pull/180957). Thanks to [@hannesrudolph](https://github.com/hannesrudolph).

  </details>

- Rejects invalid managed-worktree names before spawning a [subagent](/tools/subagents), so the name can be corrected before checkout starts.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#182184](https://github.com/openclaw/openclaw/pull/182184). Thanks to [@vincentkoc](https://github.com/vincentkoc).

  </details>

- Reduces Gateway stalls during large sessions with OpenTelemetry content capture enabled. Oversized inline image bytes are omitted and large JSON captures may contain less detail.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#186666](https://github.com/openclaw/openclaw/pull/186666), [#158116](https://github.com/openclaw/openclaw/issues/158116). Thanks to [@651juan](https://github.com/651juan), [@amittell](https://github.com/amittell) and [@steipete](https://github.com/steipete).

  </details>

- Fixes marketplace plugin installation errors stalling on an unfinished HTTP response when debug capture is enabled.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191675](https://github.com/openclaw/openclaw/pull/191675). Thanks to [@zhangguiping-xydt](https://github.com/zhangguiping-xydt). See the [plugin guide](/tools/plugin).

  </details>

- Fixes Gateway cleanup deleting a managed plugin generation that still contains an executable referenced by an absolute or home-relative configuration path.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191693](https://github.com/openclaw/openclaw/pull/191693), [#181037](https://github.com/openclaw/openclaw/issues/181037). Thanks to [@RomneyDa](https://github.com/RomneyDa) and [@steipete](https://github.com/steipete).

  </details>

- Fixes QuickJS Code Mode remaining unavailable after a temporary engine initialization failure has cleared.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191952](https://github.com/openclaw/openclaw/pull/191952). Thanks to [@vincentkoc](https://github.com/vincentkoc).

  </details>

- Fixes plugin update migrations replacing moved environment references with their current values in saved configuration.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#193074](https://github.com/openclaw/openclaw/pull/193074). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes non-streaming Twilio conversation calls losing their greeting or ending after a short silence, and preserves explicit prompts before listening. See the [voice call guide](/plugins/voice-call).

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#193137](https://github.com/openclaw/openclaw/pull/193137), [#158262](https://github.com/openclaw/openclaw/issues/158262). Thanks to [@cestercian](https://github.com/cestercian) and [@ullrichg13](https://github.com/ullrichg13).

  </details>

- Requires OpenClaw 2026.11.2 or newer when installing the affected 2026.11.2 plugins that declare the updated plugin API floor.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/102508b39d95c659c0a5361a7c96b99c984b9007). Thanks to [@RomneyDa](https://github.com/RomneyDa).

  </details>

## Security and Privacy

- Stops copying assistant replies into specific Gateway delivery and stalled-session logs, and removes message previews from verbose iMessage logs.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#172963](https://github.com/openclaw/openclaw/pull/172963). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Stops writing raw LINE postback data and rejected batch or Flex response bodies to verbose logs. Error bodies remain available to callers.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#173422](https://github.com/openclaw/openclaw/pull/173422). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Removes specific verification and profile or membership content from Matrix SDK logs and fixes quiet-mode transitions for configured SDK loggers.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#174526](https://github.com/openclaw/openclaw/pull/174526). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Stops copying detailed Codex tool errors into operator-hinted logs while keeping the error in the tool result.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#174544](https://github.com/openclaw/openclaw/pull/174544). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Stops copying bundled language-server stderr into OpenClaw debug logs, where it could expose source or tool content.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#174998](https://github.com/openclaw/openclaw/pull/174998). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Prevents approvals commands from reading or changing the wrong policy when both `--gateway` and a node target are supplied. Choose one target.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#176201](https://github.com/openclaw/openclaw/pull/176201). Thanks to [@YangManBOBO](https://github.com/YangManBOBO).

  </details>

- Prevents CLI startup from adding workspace-controlled mise and XDG executable paths to child-process PATH. Automatic discovery now requires those tool roots outside the workspace.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191102](https://github.com/openclaw/openclaw/pull/191102). Thanks to [@pgondhi987](https://github.com/pgondhi987). See the [security guide](/gateway/security/index).

  </details>

- Fixes conditional config changes recording new secrets in local audit history when the conditional option appears before the setting or between the setting and value. Existing audit records are not rewritten.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191318](https://github.com/openclaw/openclaw/pull/191318), [#190075](https://github.com/openclaw/openclaw/issues/190075). Thanks to [@wangmiao0668000666](https://github.com/wangmiao0668000666).

  </details>

- Enforces the existing provider trust policy for sandboxed web search. If an excluded third-party provider was selected, enable or select a bundled or verified official provider to restore search.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191748](https://github.com/openclaw/openclaw/pull/191748), [#144164](https://github.com/openclaw/openclaw/issues/144164). Thanks to [@Finn763](https://github.com/Finn763).

  </details>

- Fixes completed warm CLI turns retaining their MCP tool grants after the process is reused.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#191980](https://github.com/openclaw/openclaw/pull/191980). Thanks to [@vincentkoc](https://github.com/vincentkoc).

  </details>

- Clarifies the Feishu card refusal message when the conversation type cannot be verified and removes provider error details from refusal logs.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/195e3904489a72419d133d0a0e1da564cf66b9d5), [#193438](https://github.com/openclaw/openclaw/pull/193438). Thanks to [@RomneyDa](https://github.com/RomneyDa).

  </details>

- Fixes local Gateway password SecretRefs being ignored when only a remote-client token is configured.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/c15a92091ef8adbca0c3f39542d379526e3a5e5b). Thanks to [@RomneyDa](https://github.com/RomneyDa). See [secrets configuration](/gateway/config-secrets-env).

  </details>

## Quality-of-Life Improvements

- Clarifies tool errors for missing search credentials, unavailable execution nodes and replies without an active source turn.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#176306](https://github.com/openclaw/openclaw/pull/176306). Thanks to [@obviyus](https://github.com/obviyus).

  </details>

- Fixes automatic session titles sometimes showing a title instruction or label instead of the proposed title.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#178770](https://github.com/openclaw/openclaw/pull/178770). Thanks to [@holgergruenhagen](https://github.com/holgergruenhagen).

  </details>

- Fixes Gateway memory retaining profile avatar images after they have been evicted.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#185112](https://github.com/openclaw/openclaw/pull/185112). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Prevents worktree pack maintenance from holding up other Git ref changes while it waits for content capacity.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/472eef15cf0215e5d5391d7c73e26b0f2bf7e345). Thanks to [@steipete](https://github.com/steipete) and [@RomneyDa](https://github.com/RomneyDa).

  </details>

## Other Bug Fixes

- Fixes terminal opens timing out too early or running past their deadline when the host clock changes.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#170665](https://github.com/openclaw/openclaw/pull/170665). Thanks to [@SunnyShu0925](https://github.com/SunnyShu0925) and [@obviyus](https://github.com/obviyus).

  </details>

- Reports an unreadable root configuration file instead of silently starting with fresh-install defaults.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#174609](https://github.com/openclaw/openclaw/pull/174609). Thanks to [@steipete](https://github.com/steipete).

  </details>

- Fixes false history-rewrite warnings and strict request failures when a missing tool result is reconstructed during session replay.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#178954](https://github.com/openclaw/openclaw/pull/178954). Thanks to [@joshavant](https://github.com/joshavant).

  </details>

- Fixes managed Git worktree creation failing while reserving capacity on PostgreSQL.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [#192537](https://github.com/openclaw/openclaw/pull/192537). Thanks to [@galiniliev](https://github.com/galiniliev).

  </details>

- Prevents late replies from a finished chat run from being saved or broadcast after its terminal state is known.

  <details class="release-source-toggle release-source-inline">
  <summary>More details</summary>

  [Released change](https://github.com/openclaw/openclaw/commit/57edd0440c8269f524f52054969329c7986f7016). Thanks to [@joshavant](https://github.com/joshavant) and [@RomneyDa](https://github.com/RomneyDa).

  </details>
