On this page

On this page

Release notes

v2026.11.1

v2026.11.1

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

This patch release adds no new features. It fixes accepted messages being refused, failed Doctor inspections reported as successful, and Gateway configuration writes getting stuck.

Release scale: 83 pull requests, 91 direct commits, and 67 contributors.

The pull-request count includes source work brought in through backports, without counting backport wrappers twice. Direct commits include release adaptations.

Installation and Onboarding

Web UI

  • Adds the effective context budget alongside the model maximum in the model picker when the budget is smaller.

    More details

    See commit ecbc229. Thanks to @RomneyDa; @ceckert and @obviyus.

  • Fixes a visible Control UI tab failing to reconnect when its Gateway connection silently stops responding.

    More details

    See commit c852d21. Thanks to @RomneyDa.

  • Preserves supported session and composer settings in new-conversation links when opening the Control UI.

    More details

    See commit d0cb4da. Thanks to @xiaopan-xydt, @galiniliev, @RomneyDa.

  • Fixes messages consumed by /steer staying marked as pending in chat.

    More details

    See commit 9c3915e. Thanks to @RomneyDa.

  • Shortens routine chat restart notices while keeping useful status for interrupted recovery.

    More details

    See commit 1cb714d. Thanks to @RomneyDa.

Updates and Maintenance

  • Adds more specific readiness messages when starting the managed Gateway service, such as when the service stays stopped or the health check times out.

    More details

    See #190034. Thanks to @RomneyDa.

  • Fixes Doctor reporting success when inspection is blocked, the final configuration is invalid, or required migrations are deferred. Doctor now returns a nonzero exit code in these cases. Scripts using doctor --json should handle the new exit status. Unattended Doctor reports missing plugins without installing them unless you provide --fix, --repair or --yes.

    More details

    See #187192, #191523. Thanks to @steipete, @JordanNewell, @brandonulrich.

  • Preserves empty or inherited group allowlists during Doctor repair and avoids unnecessary configuration conflicts when only plugin migration guidance changes.

    More details

    See #174787, commit 8fa7dac. See also #190665. Thanks to @steipete, @lockhartheavyindustries, @saariuslystoned, @RomneyDa.

  • Prevents Doctor from importing altered legacy text with malformed UTF-8, preserves the original bytes for recovery, and continues independent migrations. See state migration recovery.

    More details

    See #180861. Thanks to @steipete and @wangmiao0668000666.

  • Preserves invalid legacy heartbeat hours during Doctor migration and identifies the value to correct before retrying.

    More details

    See #186305. Thanks to @steipete; @nxmxbbd for the report; @RomneyDa for the release adaptation.

  • Checks the target Node requirement before staging Git updates when the running updater supports the check.

    More details

    See #181715. Thanks to @steipete; @ekinnee.

  • Fixes services started from the root directory on POSIX systems failing to find a compatible Node runtime, and retries after an incompatible one is found.

    More details

    See #178112. Thanks to @steipete; @downingkeys.

  • Keeps the Windows scheduled task available during update recovery until the Gateway is ready when the running updater includes this fix.

    More details

    See #189647. Thanks to @steipete, @stephen3303.

  • Enables recovery to use a fresh Doctor if migration fails for updates from versions 2026.10.7 through 2026.10.9. You may still need to start the Gateway manually.

    More details

    See #189713. Thanks to @steipete. The recovery bridge also includes #191495. Thanks to @RomneyDa for the bridge work. Recovery retains the signal that a process may still be writing, so existing safeguards can preserve recovery files and account for unfinished cleanup. Failure triage receives the resolved installation folder or the actual error if the lookup fails.

  • Allows an update to finish with a named channel warning when the Gateway core is verified ready, even if a channel is unavailable.

    More details

    See commit a77900f.

  • Fixes stopped SQLite backups failing on transient read-only database activity while still stopping the backup when stored data changes.

    More details

    See commit a77900f.

  • Repairs an unsupported Node runtime for services Doctor owns without overwriting unrelated service settings.

    More details

    See commit a77900f.

  • Allows an update to restart a service it stopped after a recoverable Doctor failure, including a suspended Windows task.

    More details

    See commit a77900f.

  • Unblocks later updates by clearing a verified abandoned cancelled update and settling its pending package publication during update repair.

    More details

    See commit 7d6b55f. See the adapted work in #177932 and #186787. Thanks to @fuller-stack-dev, @sukhdeepjohar, @steipete, @RomneyDa; @TheAngryPit and @syxscott for the reports.

  • Recovers conversations from stores split by older relative paths with Doctor. Stop the Gateway before running openclaw doctor --fix for an affected store.

    More details

    See commit 178409a. Thanks to @RomneyDa.

  • Fixes Gateway startup stopping on temporary SQLite locks by retrying them within a bounded window.

    More details

    See #187724, commit 178409a. Thanks to @masatohoshino, @obviyus.

  • Fixes older shared-state databases with a retained worker index repeatedly failing migration at startup.

    More details

    See #189023. Thanks to @RomneyDa.

  • Fixes Doctor recovery from overlong session archive paths without deleting the original session files.

    More details

    See #187443. Thanks to @steipete; @dakoller.

  • Fixes update status hiding marked recovery copies when unrelated files are present.

    More details

    See #186663. Thanks to @steipete; @woshicby.

  • Fixes intentional automatic-update skips being reported as failures, avoiding unnecessary failure triage.

    More details

    See #188405. Thanks to @ARSA31.

  • Reduces rereading of unchanged eligible SQLite databases during updates and Doctor runs.

    More details

    See #182632. Thanks to @steipete.

  • Changes recovery guidance for an older Gateway service that cannot read newer configuration to recommend a newer installation or a matching verified backup.

    More details

    See #187639. Thanks to @steipete; @kip-claw, @masatohoshino.

  • Reports the resources keeping a Gateway open after successful cleanup and lets it finish shutting down on non-Windows systems when exiting successfully.

    More details

    See commit 8a70523 and #191251. Thanks to @RomneyDa; @davesanvil for the report.

  • Allows configured trusted proxies to check Gateway startup and readiness without extra headers.

    More details

    See commit f4fa423. Thanks to @RomneyDa; @ericcaiwx-star.

  • Fixes Gateway settings changes getting stuck while waiting to apply and makes channel restarts more reliable.

    More details

    See commit 77a79f6 and commit d79f192, adapting #192701. Thanks to @RomneyDa.

Messaging

  • Fixes accepted Telegram messages sometimes receiving a false restart refusal or losing a fallback reply while they are processed.

    More details

    See #179200, #179385, and the release backport. Thanks to @steipete for the fixes, @LiuwqGit for reporting #178554, and @RomneyDa.

  • Fixes queued Telegram replies failing after an earlier conversation turn ends.

    More details

    See #189457 and the release backport. Thanks to @vincentkoc.

  • Fixes accepted Discord messages being refused while waiting to be processed.

    More details

    See #179704 and the release backport. Thanks to @jalehman.

  • Fixes iMessage startup with PostgreSQL-backed state while retaining existing SQLite recovery positions.

    More details

    See #184919. Thanks to @etzelm.

  • Helps preserve Messages Automation permission across later macOS Gateway updates after you approve the new app-managed runtime path.

    More details

    See #186107. Thanks to @anmol0b, @SharkeyDev, @RomneyDa.

  • Fixes Slack relay connections and stalled Tlon streams failing to reconnect, and retries unexpectedly stopped channels without restarting channels you deliberately stopped.

    More details

    See commit c23a6d2. Thanks to @RomneyDa.

  • Fixes Feishu losing streamed text across tool calls and sending action cards in the wrong format.

    More details

    See commit c23a6d2.

  • Adds remote attachment links with their captions to Google Chat messages. Local files and native uploads are not supported by this change.

    More details

    See commit c23a6d2.

  • Checks the recipient on Synology Chat send receipts, including each part of a split message.

    More details

    See commit c23a6d2.

  • Prevents Twitch messages aimed at unsupported direct-message targets from going to the default channel.

    More details

    See commit c23a6d2.

  • Preserves readable text from unsupported Zalo events, and reports when a stopped Nostr account cannot send a pairing notification.

    More details

    See commit c23a6d2.

  • Preserves configured secret references for eligible default Slack, Mattermost, Nextcloud Talk and Zalo accounts alongside named accounts.

    More details

    See commit c23a6d2.

  • Preserves sender and conversation context in a message queue overflow summary.

    More details

    See commit 4a0475f. Thanks to @RomneyDa; @goslingmanagment, @dmsrg399, and @obviyus.

Memory

  • Reduces working memory needed to read and index large conversation histories and archives, with navigation across adjacent large messages.

    More details

    See commit 178409a.

  • Reduces the time other SQLite work may spend waiting during large conversation exports and memory preparation. If a transcript changes during the read, OpenClaw falls back to a consistent snapshot.

    More details

    See commit c6f4a93 and #164442. Thanks to @etzelm, @RomneyDa.

  • Fixes memory operations that count usage when reading archived session transcripts so they wait for the archive to be ready and retry temporary failures during preparation or reading.

    More details

    See commit 7c28051. Thanks to @RomneyDa.

  • Keeps overlapping memory captures in separate files with their own source information.

    More details

    See commit b38ba73.

  • Prevents Memory Wiki from rewriting pages with malformed UTF-8 during affected compile and lint operations, preserving the original bytes.

    More details

    See commit c23a6d2.

  • Avoids restoring cold archived conversations just to refresh usage and cost reports by reading verified archives directly. Missing or corrupt archives fail the refresh rather than producing incomplete results.

    More details

    See commit 58a83ef. Thanks to @RomneyDa.

Skills

  • Preserves the previous copy for recovery if publishing a skill and rolling it back both fail.

    More details

    See commit 7d5be82. Thanks to @RomneyDa.

Native Apps

  • Fixes failed Gateway-backed Browser or Tailscale settings saves in the Mac app overwriting stored credentials with redaction placeholders.

    More details

    See #187734. Thanks to @anmol0b.

  • Prevents turning off Tailscale exposure in the connected Mac app from deleting your Gateway authentication settings. Credentials already lost are not restored.

    More details

    See #187664. Thanks to @anmol0b.

  • Fixes the Mac app using stale inherited environment credentials for a local Gateway, and adds support for environment-backed secret references.

    More details

    See #191468, commit 3f964d4. Thanks to @RomneyDa; @TheAngryPit for the contribution.

  • Fixes the Mac app failing to open a remote dashboard mounted at a custom path. Both the app and Gateway need this update.

    More details

    See #185141. Thanks to @anmol0b; @goldmar.

  • Preserves the address of a page that failed to load in Mac tabs so you can retry, with the error and retry text available in supported languages.

    More details

    See #185432, commit ef89432. Thanks to @etzelm, @anmol0b, @RomneyDa.

  • Fixes duplicate Mac Voice Wake and push-to-talk sends, and keeps rejected transcripts editable so you can retry.

    More details

    See #186271. Thanks to @anmol0b.

  • Fixes Mac node commands explicitly set to run without a deadline failing to return after the former 20-second limit.

    More details

    See #190729. Thanks to @etzelm.

  • Keeps accepted Talk work running when you end Talk on an Android phone connected to a compatible Gateway, so its answer can appear in chat.

    More details

    See commit a413796. Thanks to @RomneyDa; @masatohoshino.

  • Buffers up to three seconds of microphone audio in Gateway-routed iOS and Mac Talk when the connection is slow to confirm it, though excess audio can still be dropped.

    More details

    See commit 415b1b9. Thanks to @MertBasar0, @anmol0b, @shakkernerd, @kybrcore, @sukhdeepjohar, @potoior, @RomneyDa, @steipete, @xiaopan-xydt, @shoaibulhaque, and @vincentkoc.

  • Allows long spoken replies in meetings to queue for playback, with checks for audio that remains stalled.

    More details

    See commit 415b1b9.

  • Helps continuous voice conversations routed through the Gateway continue by starting a new spoken reply when provider audio arrives.

    More details

    See commit 415b1b9.

  • Waits for your allowed agents to load in Android Chat and reports when none can be found.

    More details

    See commit 415b1b9.

  • Prevents oversized Mac camera clips and screen recordings from disconnecting the node, returning a size error instead.

    More details

    See commit 415b1b9.

  • Fixes Mac service reinstall and uninstall when the launchd definition is missing. If reinstall activation fails, the missing previous definition cannot be restored.

    More details

    See commit 415b1b9.

  • Translates Talk input recovery messages into 21 non-English native app locales, including guidance to repeat the last part when audio falls behind or microphone input recovers.

    More details

    See commit 7b4a1f8. Thanks to @RomneyDa.

Models and Providers

  • Changes Gemini Flash text models on the official Google AI Studio endpoint to use Interactions by default, with more consistent request settings, key rotation and sampling. Explicit API settings take precedence, and custom endpoints default to GenerateContent. Interactions ignores explicit cache handles; select google-generative-ai if you need them. See the Google provider guide.

    More details

    See commit f26c11c. Thanks to @obviyus, @evomach, @sukhdeepjohar, @RomneyDa, @Yigtwxx, @sasan1200, @steipete, @goslingmanagment, and @dmsrg399.

  • Adds a workspace ID option to Anthropic API-key setup, and preserves incompatible existing profiles during setup-token sign-in.

    More details

    See commit f26c11c.

  • Reports the output limit when it stops a reasoning-only turn, and warns you to check a timed-out tool’s result before retrying.

    More details

    See commit f26c11c.

  • Reduces prompt-cache misses across completion, heartbeat and background turns by keeping tool definitions stable, while current tool permissions continue to apply.

    More details

    See #175309, #176167. Thanks to @obviyus.

  • Fixes Claude CLI conversations losing continuity after you stop the first turn when the native session was saved.

    More details

    See #181966, #186380. Thanks to @holgergruenhagen; @obviyus.

  • Delivers eligible missed messages to resumed Claude CLI conversations and prevents earlier background results from replacing a later answer.

    More details

    See commit a1c7dc3. Thanks to @RomneyDa.

  • Applies current tool permissions and grants to configured MCP tools in managed Claude CLI turns.

    More details

    See commit a1c7dc3.

  • Restores Claude CLI Agent and Workflow tools for eligible managed turns when explicitly enabled. They remain off by default and unavailable in restricted, delegated, workspace-only or explicitly capped runs.

    More details

    See the CLI backend guide and commit a1c7dc3.

  • Fixes Claude CLI failing to find a usable saved subscription for configured models, so those models can become available.

    More details

    See commit a1c7dc3.

  • Fixes authentication for Anthropic PDF requests, using OAuth or API keys as appropriate.

    More details

    See commit a1c7dc3.

  • Preserves compatible Codex thread history across turns and can recover an answer after a transient retry without rerunning completed tools.

    More details

    See commit 673406b, commit 1a09233. Thanks to @YuriyPopovDev, @RomneyDa; @beru-ant-king, @lastguru-net, @mywondvision, @obviyus, @vincentkoc, @xena68, @xiaopan-xydt, @gloss-dandelion-cult, @maxdjohnson, and @sunlit-deng.

  • Reports a missing original Codex thread when a conversation has saved history instead of silently starting over.

    More details

    See commit 673406b.

  • Fixes Codex first replies being held up while checking which MCP apps are available.

    More details

    See commit 673406b.

  • Waits briefly for confirmation that Codex has picked up a steering message you already sent when a tool is about to interrupt a turn. Unconfirmed messages are not automatically sent again.

    More details

    See commit 1a09233.

  • Uses the provider’s wait time for rate-limited model profiles and allows retry on a later turn when no wait time is available.

    More details

    See commit 524d2ab. Thanks to @RomneyDa.

  • Routes OpenAI realtime connections through your managed proxy, including audio, without falling back to a direct connection if the proxy fails.

    More details

    See commit 415b1b9.

  • Uses the call agent’s configured model for voice calls when no response model is set.

    More details

    See commit 415b1b9.

  • Fixes Gemini and Vertex streams waiting when a compatible proxy signals completion but leaves the connection open. For Gemini, an early quota error can also trigger a retry using another configured API key.

    More details

    See commit 415b1b9.

  • Changes requests to numbered OpenAI GPT models found by Bedrock Mantle to use the Responses API.

    More details

    See commit 415b1b9.

  • Fixes temporary Codex work leaving thread listeners active after it finishes or fails, including in restricted and incognito sessions, without changing the thread your conversation uses.

    More details

    See commit 36effdf. Thanks to @RomneyDa.

  • Updates recovery instructions after an output limit or transcript resume to respect your original constraints, use recorded results, and check unknown outcomes before retrying.

    More details

    See commit ea0a7c8, adapting #192686. Thanks to @RomneyDa.

Automations and Scheduling

  • Stops CLI-backed scheduled runs from starting more work after cancellation at the next cancellation check. Work already dispatched may still finish.

    More details

    See #181245. Thanks to @steipete.

  • Reduces memory use when recovering interrupted scheduled runs with a large run history.

    More details

    See #191422. Thanks to @fuller-stack-dev.

  • Prevents scheduled-run cleanup from removing an expired parent session while a descendant is still active.

    More details

    See commit 178409a.

  • Fixes scheduled runs stopping after sending a message and delays background command completion until the heartbeat that started it finishes.

    More details

    See commit b38ba73.

Browser and Computer Use

  • Fixes Peekaboo window inspections on paired Macs failing to return a window image and references to its controls.

    More details

    See #172116. Thanks to @holgergruenhagen; @pdurlej for the related report and @LiuwqGit for prior work.

  • Keeps computer-use results compatible with independently updated nodes that include cursor coordinates.

    More details

    See commit 415b1b9.

  • Prevents the in-process browser from writing Gateway authentication settings to your configuration at startup. Standalone browser clients using trusted-proxy authentication need an explicit Gateway password.

    More details

    See commit c23a6d2.

Plugins and Integrations

  • Adds GitHub reconnect guidance that can direct you to the current agent’s Tools settings in a supported Control UI session when tool policy allows it. Otherwise it gives you manual settings guidance. You still authorize the connection yourself.

    More details

    See #180200. Thanks to @RomneyDa.

  • Avoids repeatedly copying installed managed native plugin binaries during Gateway startup.

    More details

    See #187865. Thanks to @jasonftl, @obviyus.

  • Adds startup repair for managed plugin links after an external reinstall.

    More details

    See commit 524d2ab.

  • Fixes a remote native-hook relay hanging when its credential is a writerless FIFO, rejecting it instead.

    More details

    See #191423. Thanks to @Leon-SK668.

  • Fixes GitHub previews and readers failing to report rate limits when response cleanup gets stuck.

    More details

    See #191721. Thanks to @nocodet888-arch.

  • Fixes plugin reloads in internal sessions returning to an old external route instead of the right conversation.

    More details

    See commit 1084530. Thanks to @Satoshi-Kusumoto, @RomneyDa.

  • Prevents delayed GitHub publication reports from appearing in a conversation after it has been reset.

    More details

    See commit a408890 and #187835. Thanks to @anmol0b, @RomneyDa; @obviyus for the contribution.

  • Reuses a fresh shared OAuth token across concurrent MCP requests.

    More details

    See commit 524d2ab.

  • Fixes plugin SDK declaration generation for older and newer native compiler filesystem contracts.

    More details

    See commit 0584a1a. Thanks to @RomneyDa.

Security and Privacy

  • Stops Discord attachment and sticker downloads from inheriting broad browser private-network permissions. If your CDN resolves to a private address, add its hostname to browser.ssrfPolicy.allowedHostnames.

    More details

    See #191458. Thanks to @SebTardif.

  • Blocks ClawHub archive downloads and redirects to private origins outside the configured registry and codeload origins. If your archive is hosted on another private origin, move it to your configured registry or codeload origin.

    More details

    See #190939. Thanks to @pgondhi987.

  • Blocks ClickClack cross-origin redirects to private HTTP addresses. Set apiBaseUrl to the final private API origin if your setup relies on one.

    More details

    See #190944. Thanks to @pgondhi987.

  • Fixes invalid logging redaction settings hiding configuration warnings or interrupting Doctor recovery.

    More details

    See #173471. Thanks to @skyzhao1223; @moerai for the report and @steipete for the contribution; @RomneyDa for the release adaptation.

  • Fixes some streamed replies exposing split or nested internal reasoning blocks.

    More details

    See commit b38ba73.

  • Redacts Fish Audio and Gradium credentials from provider errors.

    More details

    See commit c23a6d2.

  • Removes trust in chains relying only on the emSign ECC G3 root from the secret egress proxy. Restart the Gateway to apply the change.

    More details

    See commit 524d2ab.

  • Fixes valid subagent follow-ups being rejected after ordinary routing changes while keeping current permissions in effect.

    More details

    See commit 7afd2aa and #183501 and #174918. Thanks to @Marvinthebored, @RomneyDa.

  • Fixes parent sessions using a custom store missing their child approvals and completion updates.

    More details

    See commit f485995 and #189827. Thanks to @ekinnee, @RomneyDa.

  • Fixes cloud workers requiring a local copy of conversation history to decide whether to allow a command. Commands without permission remain blocked.

    More details

    See commit 2dab92b. Thanks to @RomneyDa.

Quality-of-Life Improvements

  • Preserves useful recent context after an oversized turn, and can preserve the active request through repeated compaction.

    More details

    See #191146, commit 029ccbc. Thanks to @Yun-0000, @obviyus, @mirasrael, @RomneyDa.

  • Preserves reply guidance for background command completions after a queue overflow.

    More details

    See commit 7a2af6f. Thanks to @aniketkrs, @RomneyDa.

  • Reduces work during repeated workspace captures by reusing eligible unchanged file hashes without reopening the files; recently changed files are still checked.

    More details

    See commit 7e06145. Thanks to @RomneyDa.

Other Bug Fixes

  • Recovers available long replies for waiting sessions_send calls and indicates when a reply may have been truncated.

    More details

    See commit b38ba73. Thanks to @RomneyDa.

  • Preserves the requested absolute working directory for new bridge-owned ACP sessions.

    More details

    See commit b38ba73.

  • Keeps unrelated work moving while session transcripts rebuild, and helps interrupted child launches and session recovery finish.

    More details

    See commit b38ba73.

  • Preserves data when workspace cleanup cannot inspect the workspace, and passes terminal input errors to the caller.

    More details

    See commit 7d5be82.

  • Allows authorized native commands to restore archived source sessions, and reports session sharing discovery failures.

    More details

    See commit c23a6d2.

  • Includes linked Codex or Agents API connections when preparing to delete conversations with no saved messages.

    More details

    See commit 2e2a5a0. Thanks to @RomneyDa.

  • Fixes session creation racing agent database setup, including after interrupted setup.

    More details

    See commit cefe5cf. Thanks to @RomneyDa.

Was this useful?