On this page

On this page

Release notes

v2026.11.2

v2026.11.2

AI agents and tools can read these release notes as plain Markdown.

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.

    More details

    #175990. Thanks to @steipete. See the installation guide.

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

    More details

    #180264. Thanks to @steipete, @Leon-SK668 and @wangmiao0668000666.

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

    More details

    #185917, #185913. Thanks to @YangManBOBO and @steipete.

  • 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.

    More details

    #186782, #179493. Thanks to @javiermv.

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.

    More details

    #168940. Thanks to @steipete. See the Control UI guide.

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

    More details

    #173836. Thanks to @steipete.

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

    More details

    #175544, follow-up. Thanks to @shakkernerd and @RomneyDa.

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

    More details

    #177371. Thanks to @vincentkoc.

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

    More details

    #177886. Thanks to @HootRock, @obviyus and @DonnieFi.

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

    More details

    #178175. Thanks to @etzelm and @steipete.

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

    More details

    #179275. Thanks to @steipete.

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

    More details

    #180950. Thanks to @etzelm and @shakkernerd.

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

    More details

    #181735. Thanks to @steipete.

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

    More details

    #173850. Thanks to @steipete.

Updates and Maintenance

  • Protects database recovery files during automatic all-agent Doctor maintenance when database paths overlap through a symbolic link.

    More details

    #155759. This covers a retained database path that symbolically aliases a selected SQLite sidecar. Thanks to @steipete.

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

    More details

    #172294. Thanks to @Leon-SK668 and @obviyus.

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

    More details

    #177551. Thanks to @vincentkoc.

  • 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.

    More details

    #178126. Thanks to @steipete and @Nickfost.

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

    More details

    #179394. Thanks to @steipete and @Leon-SK668.

  • 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.

    More details

    #184384. Thanks to @steipete.

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

    More details

    #188015. Thanks to @vincentkoc.

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

    More details

    #188879. Thanks to @steipete.

  • 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.

    More details

    #189321, #188563. Thanks to @sukhdeepjohar.

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

    More details

    #190946. Thanks to @vincentkoc.

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

    More details

    #191882. Thanks to @RomneyDa.

  • 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.

    More details

    #193263. Thanks to @steipete.

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

    More details

    #193431, #193401. Thanks to @steipete.

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

    More details

    This applies when the linked file sits under a shared package folder that also contains the plugin or the update snapshot. Released change. Thanks to @RomneyDa.

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

    More details

    Released change. Thanks to @RomneyDa.

Messaging

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

    More details

    #174737. Thanks to @steipete.

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

    More details

    #175379. Thanks to @Satoshi-Kusumoto and @obviyus.

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

    More details

    #182327, release backport. Thanks to @steipete and @RomneyDa.

  • Warns about enabled Matrix DM policies with an empty allowlist or a missing open-policy wildcard during configuration validation.

    More details

    #182415. Thanks to @steipete and @sem00-ft.

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

    More details

    #183217. Thanks to @LeizhenZhang and @obviyus.

  • Shows an account warning and recovery guidance for recognized iMessage Automation send failures. Check delivery and queued replies before retrying.

    More details

    #186117, #178719. Thanks to @anmol0b and @RomneyDa.

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

    More details

    #186140, #186011. Thanks to @wr-web and @steipete.

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

    More details

    #186334, #186333. Thanks to @nxmxbbd and @steipete. See the Microsoft Teams guide.

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

    More details

    #186709, #186708. Thanks to @nxmxbbd and @steipete.

  • 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.

    More details

    #188127, #188126. Thanks to @masatohoshino and @steipete.

  • 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.

    More details

    #191819. Thanks to @vincentkoc.

  • 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.

    More details

    #193052, #119475. Thanks to @YangManBOBO. See the WhatsApp guide.

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

    More details

    #193452, #193429. Thanks to @steipete.

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

    More details

    Released change. Thanks to @steipete and @RomneyDa.

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

    More details

    #173429. Thanks to @steipete.

Memory

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.

    More details

    #178665. Thanks to @steipete and @davidcittadini. See the skills guide.

Native Apps

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

    More details

    #171590. Thanks to @Marvinthebored, @Peetiegonzalez and @Solvely-Colin.

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

    More details

    #172354. Thanks to @IWhatsskill.

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

    More details

    #177347. Thanks to @steipete.

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

    More details

    #183681. Thanks to @SebTardif and @steipete.

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

    More details

    Released change, #190770. Thanks to @holgergruenhagen and @RomneyDa.

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

    More details

    #191560, #191449. Thanks to @TameTheGame. See the iOS guide.

Models and Providers

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

    More details

    #172231. Thanks to @fhgffy and @steipete. See the model guide.

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

    More details

    #172711. Thanks to @steipete.

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

    More details

    #172727. Thanks to @Kimiyu-186.

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

    More details

    #172931. Thanks to @vincentkoc.

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

    More details

    #173756. Thanks to @steipete.

  • 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.

    More details

    #174156. Thanks to @masatohoshino and @obviyus.

  • Fixes affected image providers rejecting oversized generated images before they can be fitted for saving. When possible, the media store converts or resizes them, which may reduce quality or dimensions.

    More details

    Errors also identify the media generation reference that failed to load, including size details for oversized inline images. #174601, #174661. Thanks to @obviyus.

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

    More details

    Released change, #175806. Thanks to @obviyus and @RomneyDa.

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

    More details

    #175898. Thanks to @galiniliev.

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

    More details

    #176471. Thanks to @steipete.

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

    More details

    #177110. Thanks to @steipete.

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

    More details

    #177340. Thanks to @huyengiang101086-spec, @obviyus and @abacha.

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

    More details

    Transport diagnostics distinguish session watchdog interruptions from caller cancellation. #177659, release backport. Thanks to @steipete and @RomneyDa.

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

    More details

    #177677. Thanks to @sunlit-deng, @steipete and @eliavb43.

  • 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.

    More details

    #177901. Thanks to @steipete.

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

    More details

    #178193. Thanks to @steipete.

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

    More details

    #178268. Thanks to @potoior, @steipete and @mnowrot.

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

    More details

    #189901. Thanks to @etzelm.

  • 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.

    More details

    #191439, #161707. Thanks to @Oldrich333.

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

    More details

    #191965. Thanks to @vincentkoc.

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

    More details

    #193234, #193194. Thanks to @1052326311, @steipete and @theimmortal68.

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

    More details

    Released change. Thanks to @RomneyDa.

Automations and Scheduling

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

    More details

    #129650. Thanks to @steipete. See the heartbeat guide.

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

    More details

    #167857. Thanks to @DasX and @steipete.

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

    More details

    #168827. Thanks to @steipete.

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

    More details

    #176745. Thanks to @steipete.

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

    More details

    #177681. Thanks to @yetval and @obviyus.

  • 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.

    More details

    #187637, #186043. Thanks to @yousan and @steipete.

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

    More details

    #190439, #150558. See the IMAP guide.

  • 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.

    More details

    Released change. Thanks to @obviyus, @fuller-stack-dev, @Kimiyu-186, @steipete, @VACInc and @RomneyDa. See cron documentation.

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

    More details

    Released change. Thanks to @obviyus, @fuller-stack-dev, @Kimiyu-186, @steipete, @VACInc and @RomneyDa.

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.

    More details

    #180305. Thanks to @Patrick-Erichsen.

  • 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.

    More details

    #191271. Thanks to @pgondhi987.

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

    More details

    #192001. Thanks to @vincentkoc. See the computer-use guide.

Plugins and Integrations

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

    More details

    #173671. Thanks to @steipete.

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

    More details

    #174735, #171185. Thanks to @steipete and @Yolo521-bot.

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

    More details

    #175185. Thanks to @steipete and @g62nkcx4q7-wq.

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

    More details

    #175316. Thanks to @steipete.

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

    More details

    #180463. Thanks to @steipete, @LiuwqGit and @LachieFREEDOM.

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

    More details

    #180957. Thanks to @hannesrudolph.

  • Rejects invalid managed-worktree names before spawning a subagent, so the name can be corrected before checkout starts.

    More details

    #182184. Thanks to @vincentkoc.

  • 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.

    More details

    #186666, #158116. Thanks to @651juan, @amittell and @steipete.

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

    More details

    #191675. Thanks to @zhangguiping-xydt. See the plugin guide.

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

    More details

    #191693, #181037. Thanks to @RomneyDa and @steipete.

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

    More details

    #191952. Thanks to @vincentkoc.

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

    More details

    #193074. Thanks to @steipete.

  • 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.

    More details

    #193137, #158262. Thanks to @cestercian and @ullrichg13.

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

    More details

    Released change. Thanks to @RomneyDa.

Security and Privacy

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

    More details

    #172963. Thanks to @steipete.

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

    More details

    #173422. Thanks to @steipete.

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

    More details

    #174526. Thanks to @steipete.

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

    More details

    #174544. Thanks to @steipete.

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

    More details

    #174998. Thanks to @steipete.

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

    More details

    #176201. Thanks to @YangManBOBO.

  • 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.

    More details

    #191102. Thanks to @pgondhi987. See the security guide.

  • 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.

    More details

    #191318, #190075. Thanks to @wangmiao0668000666.

  • 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.

    More details

    #191748, #144164. Thanks to @Finn763.

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

    More details

    #191980. Thanks to @vincentkoc.

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

    More details

    Released change, #193438. Thanks to @RomneyDa.

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

    More details

    Released change. Thanks to @RomneyDa. See secrets configuration.

Quality-of-Life Improvements

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

    More details

    #176306. Thanks to @obviyus.

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

    More details

    #178770. Thanks to @holgergruenhagen.

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

    More details

    #185112. Thanks to @steipete.

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

    More details

    Released change. Thanks to @steipete and @RomneyDa.

Other Bug Fixes

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

    More details

    #170665. Thanks to @SunnyShu0925 and @obviyus.

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

    More details

    #174609. Thanks to @steipete.

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

    More details

    #178954. Thanks to @joshavant.

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

    More details

    #192537. Thanks to @galiniliev.

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

    More details

    Released change. Thanks to @joshavant and @RomneyDa.

Was this useful?