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
-
Fixes source builds extracted inside another Git checkout finding bundled plugins from the enclosing checkout.
More details
See commit 6269829. Thanks to @RomneyDa.
-
Sets private permissions on installer-created directories and eligible Linux service state directories.
More details
See commit a77900f. Thanks to @duyufansh2008, @RomneyDa; @vincentkoc and @xiaopan-xydt.
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.
-
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 --jsonshould handle the new exit status. Unattended Doctor reports missing plugins without installing them unless you provide--fix,--repairor--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.
-
Checks the target Node requirement before staging Git updates when the running updater supports the check.
-
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 --fixfor 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.
-
Fixes Doctor recovery from overlong session archive paths without deleting the original session files.
-
Fixes update status hiding marked recovery copies when unrelated files are present.
-
Fixes intentional automatic-update skips being reported as failures, avoiding unnecessary failure triage.
-
Reduces rereading of unchanged eligible SQLite databases during updates and Doctor runs.
-
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.
-
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.
-
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.
-
Prevents turning off Tailscale exposure in the connected Mac app from deleting your Gateway authentication settings. Credentials already lost are not restored.
-
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.
-
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.
-
Fixes Mac node commands explicitly set to run without a deadline failing to return after the former 20-second limit.
-
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-aiif 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.
-
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.
-
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.
-
Avoids repeatedly copying installed managed native plugin binaries during Gateway startup.
-
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
apiBaseUrlto 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_sendcalls 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.