Repository navigation
Releases
openclaw 2026.11.1
2026.11.1
Highlights
- Safer Mac settings: failed config saves no longer overwrite secrets, and turning off Tailscale exposure keeps Gateway authentication intact. (#187734, #187664) Fixes #187600, #187597 Thanks @anmol0b.
- More reliable channel replies: Telegram, Discord, and webhook conversations keep reaching the agent after request handlers or earlier turns finish. (#179200, #179385, #179704, #189457) Fixes #178554 Thanks @steipete, @LiuwqGit, @jalehman, and @vincentkoc.
- Conversations survive more interruptions: oversized turns retain useful history, and stopping the first Claude CLI turn no longer starts the next message from scratch. (#191146, #181966, #186380) Fixes #191133, #181945 Thanks @Yun-0000, @obviyus, @mirasrael, and @holgergruenhagen.
- Update recovery gets unstuck after crashed or canceled updaters, restores the Windows Gateway after failed verification, and avoids repeated full-database copying during large-state checks. (#177932, #186787, #189647, #182632, #187921) Fixes #177684, #184893, #189620 Thanks @duyufansh2008, @RomneyDa, @fuller-stack-dev, @TheAngryPit, @sukhdeepjohar, @steipete, @syxscott, and @stephen3303.
- Subagents keep their follow-ups through model and session changes, while parent sessions receive child approvals even with a custom session store. (#186238, #183501, #189827) Fixes #179289, #189823 Thanks @steipete, @Marvinthebored, @RomneyDa, and @ekinnee.
- Android End Talk with a compatible Gateway stops listening without canceling accepted agent work, so its answer can still arrive in chat; explicit cancellation remains available. (#172276, #188798) Thanks @RomneyDa.
- Provider recovery respects provider-specified rate-limit timing, and Gemini Flash text models use Interactions by default on the official API-key endpoint while custom proxies retain their existing default. (#180280, #189395) Thanks Ayaan Zaidi, @evomach, @sukhdeepjohar, @RomneyDa.
Changes
- Claude CLI: saved subscription accounts can make configured models available without a separate native login, and operators can opt into native Agent and Workflow orchestration through
plugins.entries.anthropic.config.managedNativeTools; the default remains off and restricted runs keep their existing tool limits. (#179203, #183765) Thanks @RomneyDa. - Anthropic: API-key setup can record an optional Anthropic workspace ID; existing workspace headers are preserved, and workspace-scoped keys need no extra setting. (#186976) Thanks Ayaan Zaidi, @evomach, @sukhdeepjohar, @RomneyDa.
- Google: Interactions requests honor managed proxy and TLS settings, rotate eligible API keys before streaming after a rate limit, preserve native video input, and forward nucleus sampling consistently; choose
google-generative-aiwhen explicit Gemini cache handles are required. (#189395, #190695) Thanks @RomneyDa. - Bedrock Mantle: discovered numbered OpenAI GPT models select the Responses route automatically, while GPT-OSS keeps Chat Completions and Claude keeps Anthropic Messages. Thanks @MertBasar0, @anmol0b, @shakkernerd, @kybrcore, @sukhdeepjohar, @potoior, @RomneyDa.
- Control UI: the model picker shows the configured active context budget rather than only the model maximum, and short session links retain their intended navigation target. (#180870, #183148) Thanks @RomneyDa.
- Google Chat: remote HTTP(S) attachments are delivered as visible links alongside captions; local files and native uploads remain unsupported with service-account authentication. Thanks @RomneyDa.
- Update diagnostics: detailed readiness separates a ready core from channel outages, allowing repaired updaters to finish with named channel warnings without hiding HTTP 503 or weakening normal service-start checks. Thanks @duyufansh2008, @RomneyDa.
Fixes
- Network and tool safety: ClickClack and ClawHub reject redirects into unrelated private services, Discord CDN downloads no longer inherit browser private-network access, and FIFO native-hook credentials are rejected without hanging the agent. (#190944, #190939, #191458, #191423) Thanks @pgondhi987, @SebTardif, and @Leon-SK668.
- Doctor consent and access policy: noninteractive checks no longer download plugins without repair consent, and explicitly empty group allowlists remain empty instead of being repopulated. (#191523, #174787) Fixes #191420, #173826 Thanks @brandonulrich, @steipete, and @lockhartheavyindustries.
- Recovery data: malformed UTF-8 legacy imports are rejected instead of replacing original content; failed skill restore rollbacks preserve the original copy, and cleanup refuses destructive work when workspace inspection fails. (#180861, #173954, #174195, #176362) Fixes #180782, #180795 Thanks @RomneyDa, @duyufansh2008, @steipete, and @wangmiao0668000666.
- Log redaction: malformed custom entries no longer disable valid rules or built-in secret protection; invalid policy is reported while safe redaction remains active. (#173471) Thanks @skyzhao1223 and @RomneyDa.
- Secret egress: reject chains relying on the distrusted emSign ECC G3 root in the managed proxy and exported subprocess CA bundle; restart the Gateway after updating, and update clients with independent trust stores separately. (#179249) Thanks @RomneyDa.
- macOS connectivity: configured credentials take precedence over stale app environment, typed environment secret references resolve correctly, and remote Settings respects the Control UI base path. (#191468, #185141, #128175) Fixes #164596 Thanks @RomneyDa, @anmol0b, and @goldmar.
- Mac tools and messaging: iMessage remains usable after app updates without re-granting Automation, Peekaboo window inspection accepts valid snapshot references, and node exec preserves results for commands configured without a timeout. (#186107, #172116, #190729) Fixes #178719 Thanks @aniketkrs, @RomneyDa, @anmol0b, @SharkeyDev, @holgergruenhagen, @LiuwqGit, and @etzelm.
- Mac voice and embedded pages: avoid duplicate voice sends and false sent feedback, and show a recoverable load error instead of a blank or stale Mac tab. (#186271, #185432) Thanks @anmol0b, @etzelm, and @RomneyDa.
- Native voice and capture: iOS and macOS Talk tolerate slow audio acknowledgments within bounded buffering, long meeting replies are not cut off merely because generation outruns playback, and oversized Mac recordings fail with size guidance instead of dropping the node connection. Thanks @MertBasar0, @anmol0b, @shakkernerd, @kybrcore, @sukhdeepjohar, @potoior, and @RomneyDa.
- Android and desktop compatibility: Android Chat waits for the role-allowed agent list after switching Gateways, and independently updated Mac nodes can return optional cursor coordinates without a computer-use contract error. Thanks @MertBasar0, @anmol0b, @shakkernerd, @kybrcore, @sukhdeepjohar, @potoior, @RomneyDa.
- Channel recovery: Slack detects dead relay connections without treating ordinary silence as failure, Tlon reconnects stalled streams so unacknowledged events can replay, and managed Tailscale exposure recovers after a daemon restart while local authenticated access stays available. Thanks @RomneyDa.
- Channel delivery: Feishu keeps text from before and after tool calls in the same streaming card; Synology confirms delivery only from recipient-matched message IDs; Twitch targets and Zalo unsupported-event text follow their channel handling rather than silently losing usable content. Thanks @RomneyDa.
- Channel credentials and notices: implicit Slack default accounts retain complete top-level credentials alongside named accounts, channel secret consumers respect account activation, and Nostr reports failed pairing notifications without undoing approval. Thanks @RomneyDa.
- iMessage storage: recovery cursor keys no longer contain a PostgreSQL-incompatible NUL separator, allowing the channel to start with PostgreSQL-backed state. (#184919) Fixes #184862 Thanks @duyufansh2008, @RomneyDa, and @etzelm.
- Session and agent authority: deleting one agent no longer breaks other agents' tool authority, and local session-capability changes stop inappropriate provider fallback instead of trying every model. (#174918, #179312) Fixes #179290 Thanks @steipete, @chelsealong, @obviyus, and @Marvinthebored.
- Prompt caching: session tool definitions stay stable across turns, including completions, heartbeats, and non-owner requests, avoiding unnecessary prompt-cache misses. (#175309, #176167) Thanks @obviyus.
- Conversation recovery: compaction retains the active human request across repeated summaries; queue overflow summaries retain each visible sender and conversation context; exec completion guidance survives overflow. (#180214, #187833, #190698, #182188, #184216) Thanks @RomneyDa and @aniketkrs.
- Codex continuity: conversation-wide restrictions retain compatible native threads, temporary restrictions preserve the ordinary conversation binding, and a missing thread with recorded history reports an error instead of silently starting over. Thanks @skyzhao1223 and @RomneyDa.
- Codex replies: transient retries can summarize the original request and completed tools without rerunning them; terminal handoffs allow already-submitted steering a bounded chance to confirm consumption and do not automatically replay uncertain input. (#183077, #184062, #181839, #167390) Thanks @RomneyDa.
- Shared credentials and model availability: concurrent MCP callers can reuse a fresh OAuth token without unnecessary exclusive locking, rate-limit cooldowns follow provider timing instead of accumulating hours of local backoff, and fresh model publications replace superseded refresh results. (#179997, #180280, #179144) Thanks @RomneyDa.
- Claude CLI and scheduled work: canceled cron runs stop reply hooks, interrupted long-running jobs no longer prevent scheduler startup, oversized or invalid CLI streams cancel their subprocess promptly, and managed completions retain the policy-filtered tool catalog. (#181245, #191422, #159931, #172026) Thanks @steipete and @ful...
openclaw 2026.11.5-beta.1
2026.11.5-beta.1
Highlights
- Knowledge Scribes: add first-class knowledge capture and reusable scribe workflows across agents, sessions, and the Control UI. (#185583, #185637, #185974, #186270, #186455, #187659) Thanks @jalehman.
- PostgreSQL data plane: add PostgreSQL-backed state, migration tooling, and compatibility coverage for existing deployments. (#173968, #174080, #174085, #174183, #174242, #174374, #174387, #174399, #174623) Authored by @steipete.
- Control UI: overhaul mobile and desktop navigation, layouts, and interaction details. (#176356, #176466, #176505, #176540, #176557, #176653) Thanks @vyctorbrzezowski.
- Pull requests from chat: add end-to-end PR preparation, publication, review, and status workflows directly from conversations. (#176105, #176139, #178055, #178233, #178281, #178756) Thanks @shakkernerd.
- Cross-device and cloud execution: expand attached-device, cloud-placement, and cyber-access workflows, including safer capability handoffs. (#185230, #185477, #186560, #187408; related #186553) Authored by @steipete. Thanks @VACInc, @joshavant, @galiniliev, and @shakkernerd.
- Decision and media models: add specialized decision routing and media-capable model support, including ClawRouter integrations. (#177369, #178860, #178876, #178886, #178920, #179362; related #179360) Thanks @vincentkoc and @fuller-stack-dev.
- Plugin experience: improve plugin discovery, installation, authoring, and runtime integration. (#177869, #182419, #185315, #185544) Authored by @steipete. Thanks @RomneyDa and @jalehman.
- Backup and upgrade safety: harden backup, recovery, and upgrade paths with clearer state preservation and rollback behavior. (#186953, #187564, #187688, #187737; fixes #187519, #187678, #187657) Authored by @steipete. Thanks @art22s, @RomneyDa, @McgAtom, and @Yachiyo1680.
Changes
- Automations: add persistent streams and richer execution context for durable scheduled work. (#177941, #177942, #179011, #179062, #179669, #182561) Thanks @joshavant, @eleqtrizit, and @jalehman.
- Sharing and guests: expand session sharing, guest access, and visitor lifecycle controls. (#181680, #182218, #182337, #182352) Authored by @steipete. Thanks @shakkernerd and @jalehman.
- Learning and skills: improve learned-skill capture, reuse, and guided authoring. (#181747, #181879, #186861) Thanks @obviyus and @jalehman.
- Providers: add and refine provider integrations, authentication, and model discovery. (#175509, #175729, #180788, #182248; related #175543) Authored by @steipete. Thanks @midhunvnadh, @obviyus, @lavicosa, and @hannesrudolph.
- Native media: expand native image, audio, and video handling across supported surfaces. (#174051, #174152, #178521; related #174048) Authored by @steipete. Thanks @vincentkoc, @dankarization, and @lordratner.
- Session composition: improve multi-session composition, routing, and coordinated execution. (#178842, #179609, #182742) Thanks @jalehman and @vyctorbrzezowski.
- Credential compatibility: improve credential migration and compatibility across legacy and current configuration formats. (#174294, #174599) Authored by @steipete.
- Doctor compatibility: broaden doctor checks and automated repair guidance for migrated installations. (#179387, #182328) Authored by @steipete. Thanks @jalehman.
- Memory maintenance: add safer memory cleanup and maintenance flows. (#182530; fixes #157280) Authored by @steipete. Thanks @islandpreneur007.
- Model routing: improve provider-aware model selection and routing behavior. (#180509, #183637) Authored by @steipete. Thanks @VACInc and @tommyjoseph.
Fixes
- Gateway startup: fix startup recovery, dependency ordering, and service-state handling across upgrades. (#186920, #187724, #187819, #187870; fixes #186875, #187723) Authored by @steipete. Thanks @yousan, @bianyuxia-commits, @masatohoshino, @obviyus, @RomneyDa, @jalehman, @fuller-stack-dev, and @vincentkoc.
- Codex: fix session lifecycle, result delivery, and tool-state edge cases in Codex-backed workflows. (#187337, #187348, #187375, #187873; fixes #187023, #187863) Thanks @Patrick-Erichsen, @wtfichigo, @obviyus, and @shakkernerd.
- Reply correctness: fix reply threading, quoting, deduplication, and destination selection across channel surfaces. (#187361, #187416, #187433, #187434, #187833; fixes #137197, #42106) Thanks @Marvinthebored, @Peetiegonzalez, @obviyus, @wyf027, @felixboenkost-droid, @ericcaiwx-star, @wbxl2000, @goslingmanagment, and @dmsrg399.
- Channels and Talk: fix admission, audio, delivery, and reconnect behavior across supported messaging and Talk integrations. (#186757, #187199, #187327, #187497, #187667, #187864, #187881; fixes #186756, #127534, #187665, #185664) Authored by @steipete. Thanks @masatohoshino, @obviyus, @wangmiao0668000666, @yousan, @xialonglee, @HermanZeng, @brianmcguire, and @ultrakorne.
- Outbound media: fix media attachment handling and preservation on outbound sends. (#187561; fixes #187359) Thanks @yousan, @obviyus, and @fonchaves.
- Control UI accessibility: fix keyboard, focus, labeling, and responsive interaction regressions. (#180896, #187219, #187263, #187521; fixes #187201) Thanks @goutamadwant, @LiuwqGit, @obviyus, @vincentkoc, and @Alix-007.
- Control UI attachments: prevent aborted
data:URL attachment previews from triggering a native fetch crash. (#191451) Thanks @tideclaw-bot, @wangjx-xydt, and @RomneyDa. - Memory: fix indexing, retrieval, migration, and cleanup edge cases. (#186829, #187429, #187621, #187797; fixes #187788) Thanks @SunnyShu0925, @obviyus, @Baumus, @Leon-SK668, and @fredtanxo.
- Providers: fix provider authentication, discovery, and request compatibility issues, including restoring Claude CLI model discovery when no Anthropic model is pinned. (#181527, #187365, #187523, #191148; fixes #151015, #143214) Thanks @KrasimirKralev, @obviyus, @yousan, @masatohoshino, @wyf027, @HighervGround, @etzelm, and @Takhoffman.
- Automations: fix scheduler execution and persisted-run recovery edge cases. (#187195, #187530; fixes #187334) Thanks @obviyus, @yousan, and @etzelm.
- Doctor: prevent hosted Doctor runs from stalling live sessions by bounding worker lifetime and cancellation. (#191125) Authored by @steipete.
Complete contribution record
The full contribution record is available in the tag-pinned CHANGELOG.md.
Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.11.5-beta.1
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.11.5-beta.1.tgz
- integrity:
sha512-YUCw8eBhiUbA8YejKvHWeVsVMkmMIes6Vi1Ml6vY/BmZfSKgxwTXDBmbPAeZ/khjxLA2U10Bf8Ae239LZ/WuzQ== - release SHA:
bc061f935bfd79ad09e3e98c6df9f2e8f1e28bea - full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.11.5-beta.1/release-evidence.md
- release publish: https://github.com/openclaw/openclaw/actions/runs/41772282891
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/41733920127
- full release validation: https://github.com/openclaw/openclaw/actions/runs/41732921061
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/41773155605
- plugin ClawHub submission: https://github.com/openclaw/openclaw/actions/runs/41773159908; public finalization and exact artifact verification follow terminal release-parent completion
- plugin ClawHub bootstrap: dispatched separately, not awaited by this proof: https://github.com/openclaw/openclaw/actions/runs/41773163955
- OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/41767438818/attempts/1
- npm Telegram beta E2E: not supplied
openclaw 2026.10.10
OpenClaw v2026.10.10
4,825 commits Β· 3,028 pull requests Β· 454 contributors
Changes included in this release
The release notes and changelog contain the same content, presented in two formats:
- Release notes β formatted for people.
- Changelog β plain Markdown for AI agents and tools.
Thanks
@3n8 @555aaditya @5jrfrbd6z9-spec @609NFT @67-luck @888achtachtacht-commits @8bitsforge @A-Raphie @aaa2015 @abacha @Abhishek-B-R @acedatacloud-dev @actwebmaster @adamdksaad-ops @adeepn @adembektas @agierror @aleps001 @alexm @alexph-dev @Alix-007 @alkor2000 @altaywtf @alter @AmelioMansour @amirarenco-create @amittell @amueller80 @amyduquette @andrewbowlds @andris9 @aniruddhaadak80 @anmol0b @anyech @areslp @arhxam @arquiteto-raiz @art22s @arthur-drozdov @ArthurNie @ashukla147 @AVCarp @AXEG0 @ayaangazali @Ayushdevo @bajiaoshan @Bartok9 @beenhero @benjaml4 @beru-ant-king @bitfroest @bjesuiter @blance2599 @bluet @boeingchoco @brandon-julio-t @brianmcguire @bricelb @brokemac79 @bulingbuling688 @camerono @Canvinus @Card4Philippe @carlopignatari-boop @CassieMei @castigiova @chelsealong @chitowntony @chughtapan @clarkbw @clawSean @clement-paradex @cnnceart @crwohlfeil @Cyb3rb1ade @dabase @daddyclint82 @DagenGuo @dankarization @DarkJuanFra @davidcittadini @davidgrinc @davidjoshua7692-code @deepujain @demos-ra @desksk @dh-js @Dhotei @diegoln @digitalfrost84 @dineshsuthar123 @diregoblin @dmorn @dmsrg399 @DonnieFi @DrDanielSingleton @drewjocham @dsantoreis @dtump @duardor968 @duyufansh2008 @dwalthour @dwc1997 @dwty11 @eightHundreds @eiriktorheim @eleqtrizit @eli-pavlov @eliavb43 @elikampf @Embracex1998 @EmeraldPi @EndeavorPioneer @engagepy @enki @ensignwesley @ericcaiwx-star @ericcurtin @erlightbourn-source @etzelm @EvolveAegis @exGeni @exisz @ExoHumann @fanmeng-felix @fbuechler @fede-kamel @feiniaoivp @fhgffy @forrystudio @franssauermann @freeqaz @fuller-stack-dev @funnysubaru @gdpu11 @geekforlife @giodl73 @giodl73-repo @git-larry-roots @gkoch02 @Glukmann @GoldArowana @gorkem2020 @goslingmanagment @gregbond @Grynn @hamedshehab @hannesrudolph @hannnnn-l @harjothkhara @harshitgavita-07 @Hawk5150 @Hawkeye2611 @hbgangcn1 @Heighte @hengtested-design @HerbertHuerto @HeZ2z @hidaba @hippoley @holgergruenhagen @homeworld520 @Honghe @hoobnn @HootRock @htuyer121 @hugenshen @husodrn46 @HussonT @imadal1n @IndySweeney @Iolaum @Irish-Joseph @itanyplus @IWhatsskill @jackylecalvez2 @jacobtomlinson @jaisummagithub @jalehman @jamesachurchill @JamesY023 @jamiezigelbaum @jason-allen-oneal @JasonBuildAI @jaxonparrott @jayswu @jb510 @Jeehut @jewseppi @JFLeonM @Jimmy-xuzimo @jimmy00415 @jimmypuckett @jjgao @jjjhenriksen @jlapenna @johan-eilertsen @jonathanlindsay @jondihaynes @joshavant @joshpetras @jsf9789 @julianloperar @karaaslanz @KarimVKarmali @keiseisales @KenYounge @keshavbotagent @KhanCold @Kimiyu-186 @kir1ll [@kiranvk-2011](https:...
openclaw 2026.10.10-beta.5
2026.10.10-beta.5
Highlights
- Node compatibility: installs and updates work again on Node
>=24.16.0 <25 || >=26.1.0; Node 24.22.1 or 26.12.1 is now a security recommendation instead of a hard requirement, and Node 26 workers no longer abort when stdin is a file. (#186589, #187516) Thanks @RomneyDa. - Gateway streaming: replies that contain tool-call-like XML, look like tool calls, or end long HTML at a partial tag no longer stall the Gateway. (#181397, #183252, #180765; related #175156, #180720) Thanks @RomneyDa, @JasonBuildAI, and @LeizhenZhang.
- Updates and rollback: a failed npm rollback no longer strands the installed package, an immediate Git rollback keeps operator edits, and an update whose executor dies recovers its offline state. (#185160, #185201, #181695; related #184889, #184887, #181649) Thanks @LiuwqGit, @RomneyDa, @syxscott, @wr-web, and @PonySlayer28.
- Cron: missed slots with a stale stored next run time are no longer dropped, and startup catch-up runs are admitted after a restart. (#179928; related #179927) Thanks @andrewbowlds, @RomneyDa, and @shakkernerd.
Changes
Fixes
- Security boundaries: require approval for
test/[ -voperands in exec allowlist mode, refuse browser proxy commands sent through generic node invoke, fail closed when sandboxed spawned children resolve CLI-backed models, carryworkspaceOnlyinto Gateway-built delegate and media tools, keep unresolved Microsoft Teams allowlists restrictive, stop crafted Teams HTML from stalling the Gateway before sender checks, refuse embedded Control UI auth on pinned Android Gateway connections, and audit symlinked workspace skill roots. (#180880, #179880, #178742, #185094, #184989, #183438, #180843, #182384; related #111797) Thanks @eleqtrizit, @RomneyDa, @LeizhenZhang, and @dineshsuthar123. - Security: keep browser pairing credentials out of opener process arguments, mask Google OAuth client secrets in logs, redact credentials from MCP CLI inspection, omit credentials from rejected search endpoint errors, and keep malformed piped input from corrupting model credentials. (#170289, #183193, #180321, #182534, #167251; related #180308) Thanks @eleqtrizit, @LeizhenZhang, @RomneyDa, @brandon-julio-t, @wr-web, and @Alix-007.
- Dependency security: update fast-uri, bound vendored Zod traversal for A2UI and Discord input, scope the patched MSAL for Microsoft Teams, and pick up nodemailer sender-parsing fixes for IMAP. (#187285, #187304, #187297, #187293, #187301) Thanks @RomneyDa and @shakkernerd.
- Terminal output: escape terminal control sequences in camera, channel capability and catalog, DNS setup, managed worktree, plugin uninstall, skills library, completion install, Gateway discovery, MCP registry, model auth profile, backup schedule, readable secret, session store, storage location, and message CLI output, and keep emoji and astral characters whole at diagnostic and metadata caps. (#175624, #178234, #178238, #181585, #181582, #183708, #178313, #184120, #183355, #181587, #181584, #184153, #184141, #184139, #183359, #176266, #183360, #176230, #176207, #181741, #181742, #182753, #183942, #183932) Thanks @SunnyShu0925, @obviyus, @RomneyDa, @Alix-007, @wangmiao0668000666, and @hugenshen.
- Replies: streaming a reply that mentions tool calls, contains tool-call XML, or ends long HTML at a partial tag no longer stalls the Gateway, missing-answer notices no longer follow streamed delivery, side-question replies no longer disappear or repeat after tool sends, multiline /btw, /loop, and /acp steer input is preserved, and compaction failures show instead of stale overflow advice. (#172631, #181397, #183252, #180765, #173798, #174869, #176293, #185456, #173310; related #175156, #180720, #176250, #185455) Thanks @JasonBuildAI, @RomneyDa, @LeizhenZhang, @goutamadwant, @yetval, @masatohoshino, and @TurboTheTurtle.
- Reply text: prevent MiniMax tool argument tails, deduplicate CRLF assistant replies, suppress rich payloads during silent turns, keep inline backticks from swallowing following prose when chunking, keep group-chat commands' line breaks and indentation, and stop TTS from duplicating captioned final text. (#183413, #183023, #129244, #180588, #183606, #181161; related #181070) Thanks @gdpu11, @RomneyDa, @AmelioMansour, @L4XB, @mushuiyu886, and @julianloperar.
- Sessions: preserve transcript IDs across idle resets and the linked model account across /new, /reset, and idle or daily resets, commit automation results during active turns, keep cleared history out of forks, keep a project folder without a worktree attached on reset, drain archive retention across pages, log unreadable transcript probes, and keep corrupt session rows from breaking session listings. (#184157, #179433, #181506, #166660, #182491, #181746, #182118, #181247; related #179432, #182474, #181722, #173080, #181092) Thanks @RomneyDa, @masatohoshino, @Shenrui-Ma, @ericcurtin, @resinoftree97, @xiaopan-xydt, @tre1d, @Yolo521-bot, @Patrick-Erichsen, and @davidcittadini.
- Session commands and lookups: report session read failures before native execution, fail cleanly when the runtime changes during turn preparation, omit directories from session file activity, match canonical Unicode titles, return canonical JSON for rejected compaction, store PostgreSQL pruned watermarks correctly, match agent bind and unbind routes case-insensitively, and make /session unbind report when nothing was removed and handle IDs containing U+241F. (#175654, #185573, #167732, #184374, #184131, #184911, #184717, #184857, #184317; related #184864) Thanks @enki, @RomneyDa, @GoldArowana, @Leon-SK668, @etzelm, and @A-Raphie.
- Sessions and follow-ups: preserve queued follow-ups after stopping preparation or a missed completion and drain them outside the plugin runtime generation, keep yielded-parent Stop alive while settling, reset a Main session archived by restart recovery, keep confirmed subagent cancellations final, and keep replies flowing after a restart with paused child tasks. (#172685, #159715, #181096, #176603, #176675, #176206, #175278, #185999; related #172658, #169077) Thanks @shakkernerd, @mbelinky, @RomneyDa, @hannnnn-l, @enki, and @VACInc.
- Subagents: prevent Gateway crashes during continuation conflicts, preserve restart recovery for delegated child work, keep unfinished restored cohorts out of the requester queue, settle consumed yield cohorts without retry, settle parent turns after an inline child reply, retain child results while a parent awaits Resume, avoid re-killing finished runs on session reset, leave interrupted delivery reservations to their recovery owner, preserve Claude parent replies after discarded subagent output, keep post-compaction continuation prompts, and keep queued collector runs out of operator completion custody. (#185386, #181373, #184022, #181260, #181933, #182587, #179731, #184100, #184352, #136236; related #178413, #143334) Thanks @RomneyDa, @SC-10749, @sukhdeepjohar, @Patrick-Erichsen, @BorClaw, @jalehman, @hidaba, @obviyus, @jaxonparrott, @vincentkoc, and @shakkernerd.
- Gateway restarts: keep restart custody when the request entry closes, preserve unfinished replies and subagent work across restarts, surface stale Gateway cleanup failures, clear the restart-loop breaker after an unlinked channel recovers, let first native turns await pending worker setup, confirm Windows Gateway shutdown after a slow connection refusal, honor a stop that arrives during an in-place restart, and restore the Gateway when Doctor receives SIGHUP. (#172852, #172412, #169144, #174590, #176182, #174807, #177184, #186055, #182901; related #174504, #174563) Thanks @RomneyDa, @shoaibulhaque, @altaywtf, @Yolo521-bot, @ericcurtin, @sunlit-deng, @prizmizm, and @freeqaz.
- Gateway: recover a channel account after a manual stop times out, reclaim obsolete native captures after startup, serve
GET /v1/models/{id}for alias IDs that chat accepts, skip install discovery at startup when update checks are off, avoid catalog waits for empty agent rosters, and reject malformed usage cost scopes. (#177444, #176851, #180057, #181983, #182159, #158696; related #158099) Thanks @YangManBOBO, @RomneyDa, @harjothkhara, @yetval, @ruel225, @jonathanlindsay, @vincentkoc, and @Alix-007. - Codex: keep plugin turns working under managed on-request approval policies, stop failing successful one-shot commands at cleanup, keep the next turn from stalling after Stop during a session handoff, release completed subagents after cleanup failures, recover queued chats and preserve startup failures, keep native child inference working after startup, stop asking for approval after setup consent, and keep the macOS Codex catalog available with valid plugin options. (#172592, #172639, #173516, #173580, #173547, #182104, #176311, #185920; related #161576) Thanks @RomneyDa, @stevenlee-oai, @Compassboot, @LLagoon3, @Kimiyu-186, @jjjhenriksen, @enki, and @obviyus.
- Codex native runtime: preserve the native catalog, completion continuity, protected scheduled continuations, and the prompt cache when reasoning effort changes, queue inference roots at capacity instead of failing turns, stop model fallback while native threads are active, and accept managed loopback proxy defaults. (#174900, #181528, #182397, #181895, #181204, #183232; related #181046, #180719) Thanks @enki, @Stronggenetics, @quqi1599, @Ricardodpalmeida, @RomneyDa, @vincentkoc, @jason-allen-oneal, @indra622, and @ermaxinc.
- Claude CLI: probe login with the environment its runs keep, recover known Claude sessions after bounded discovery, finish parent replies after nested background agents instead of waiting for the watchdog, keep room-event turns from resetting sessions, treat rejected resume checkpoints as an expired session, keep logged-out models listed with a login reason, and stop a false refresh warning when the CLI is not installed. (#175114, #176742, #182267, #182516, #182273, #181308, #166338, #182729; related #182175, #1...
openclaw 2026.10.9
2026.10.9
Highlights
- Patch vulnerable runtime dependencies: fast-uri 4.2.3 rejects malformed URI schemes and hosts in MCP schema validation, oversized Zod collections are rejected early in A2UI and the Discord embedded app SDK, IMAP sender parsing uses nodemailer 10.1.4 so spoofed senders cannot pass the sender token gate, and Microsoft Teams uses patched MSAL Node 7.1.1. (#187294) Thanks @RomneyDa.
- Apply
tools.fs.workspaceOnlyto Gateway-built tools, so delegate changes still require approval and media tools stay inside the workspace. (#185094) Thanks @eleqtrizit, @RomneyDa, and @shakkernerd. - Keep live credentials out of MCP CLI inspection and mask Google OAuth client secrets in logs. (#180321, #180308, #183193) Thanks @brandon-julio-t, @wr-web, @LeizhenZhang, and @RomneyDa.
- Make failed update rollbacks safe: Git-source rollbacks preserve operator edits instead of resetting the checkout, and npm rollbacks retry transient Windows denials and report the exact move that restores a bootable install instead of stranding the package root. (#185201, #184887, #185160, #184889) Thanks @wr-web, @syxscott, @LiuwqGit, @shakkernerd, and @RomneyDa.
- Recover intact agent databases and stale full-text indexes after SQLite tokenizer changes, including update snapshots. (#176234, #176220, #176833, #181206) Thanks @ndakota79 and @RomneyDa.
- Repair publication-complete updates after a remount while retaining the original launcher and sealed recovery helper. (#186557, #186527) Thanks @ericcaiwx-star, @sennyhoney, and @RomneyDa.
- Migrate large transcript archives without exceeding Node.js string limits. (#170853, #170847) Thanks @iamonlv426 and @RomneyDa.
- Allow agents to recover after a full disk once space becomes available, without requiring a restart. (#176902) Thanks @RomneyDa.
Changes
This maintenance release focuses on security dependency patches, recovery, data preservation, and reliability fixes.
Fixes
- Resolve local media in Codex steering messages from the session's own workspace instead of the agent's default workspace. (#181528) Thanks @RomneyDa.
- Report uncertain process cleanup from buffered commands, such as local CLI speech providers, instead of presenting it as an ordinary command failure. (#184270, #184237) Thanks @shakkernerd and @RomneyDa.
- Keep reapproved node connections alive by publishing the approval with its committed pairing facts before the request resumes. Thanks @RomneyDa.
- Recover stopped Gateways when service activation cannot be verified; retain untouched-recovery behavior in Windows triage. (#172784, #181577, #181698) Thanks @SMF12138 and @RomneyDa.
- Avoid uninstalling a Gateway service during a passive macOS stop when no service is installed. (#181257) Thanks @shakkernerd, @LiuwqGit, @eleqtrizit, @syxscott, and @RomneyDa.
- Recover CLI Node runtimes when launched from the filesystem root, including launchd jobs. (#178112, #177739) Thanks @downingkeys and @RomneyDa.
- Start new ACP sessions in the requested working directory instead of the default workspace. (#176852, #123557) Thanks @yinx65588-boop, @crappier, and @RomneyDa.
- Prevent overlapping model refreshes from failing requests. (#179144) Thanks @RomneyDa.
- Honor an explicit SSH port 22 in
openclaw gateway probe --sshinstead of the alias's configured port. (#171092) Thanks @zhangguiping-xydt, @obviyus, and @RomneyDa. - Keep skill metadata such as icons and homepages when an inline YAML metadata value has a trailing comment. (#171224) Thanks @zhangguiping-xydt, @Takhoffman, and @RomneyDa.
- Show provider-ignored options in
openclaw infer video generatetext and JSON output. (#171172) Thanks @ly85206559, @obviyus, and @RomneyDa.
Complete contribution record
This audited record covers the complete v2026.10.8..c213740 history: 48 in-range PRs + 0 retained seed-only PRs = 48 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
Shipped baseline exclusions: v2026.10.8 (3 PRs: #180390, #180668, #181596).
Pull requests
- PR #185538 Thanks @RomneyDa.
- PR #170853 Related #170847. Thanks @iamonlv426 and @RomneyDa.
- PR #185201 Related #184887. Thanks @wr-web and @RomneyDa and @syxscott.
- PR #176902 Thanks @RomneyDa.
- PR #176852 Related #123557. Thanks @yinx65588-boop and @RomneyDa and @crappier.
- PR #178112 Related #177739. Thanks @RomneyDa and @downingkeys.
- PR #179144 Thanks @RomneyDa.
- PR #180321 Related #180308. Thanks @brandon-julio-t and @wr-web and @RomneyDa.
- PR #183193 Thanks @LeizhenZhang and @RomneyDa.
- PR #176833 Related #176220. Thanks @RomneyDa and @ndakota79.
- PR #181698 Related #181577. Thanks @RomneyDa and @SMF12138.
- PR #172784 Related #181577. Thanks @RomneyDa and @SMF12138.
- PR #185541 Related #181577. Thanks @RomneyDa and @SMF12138.
- PR #176234 Related #176220. Thanks @RomneyDa and @ndakota79.
- PR #181206 Related #176220. Thanks @RomneyDa and @ndakota79.
- PR #186557 Related #186527. Thanks @ericcaiwx-star and @RomneyDa and @sennyhoney.
- PR #181257 Related #184889, #184237. Thanks @shakkernerd and @RomneyDa and @LiuwqGit and @eleqtrizit and @syxscott.
- PR #171224 Thanks @zhangguiping-xydt and @Takhoffman and @RomneyDa.
- PR #171172 Thanks @ly85206559 and @RomneyDa and @obviyus.
- PR #171092 Thanks @zhangguiping-xydt and @RomneyDa and @obviyus.
- PR #181528 Thanks @RomneyDa.
- PR #185692 Thanks @RomneyDa.
- PR #179085 Thanks @RomneyDa.
- PR #179097 Thanks @RomneyDa.
- PR #179104 Thanks @RomneyDa.
- PR #179125 Thanks @RomneyDa.
- PR #179077 Thanks @RomneyDa.
- PR #179112 Thanks @RomneyDa.
- PR #179109 Thanks @RomneyDa.
- PR #179083 Thanks @RomneyDa.
- PR #179093 Thanks @RomneyDa.
- PR #179079 Thanks @RomneyDa.
- PR #180250 Thanks @RomneyDa.
- PR #180238 Thanks @RomneyDa.
- PR #180257 Thanks @RomneyDa.
- PR #180245 Thanks @RomneyDa.
- PR #180249 Thanks @RomneyDa.
- PR #185160 Related #184889. Thanks @LiuwqGit and @RomneyDa and @shakkernerd and @syxscott.
- PR #187259 Thanks @RomneyDa and @shakkernerd.
- PR #182010 Thanks @RomneyDa and @shakkernerd.
- PR #184270 Related #184237. Thanks @shakkernerd and @RomneyDa.
- PR #185094 Thanks @eleqtrizit and @RomneyDa and @shakkernerd.
- PR #187412 Thanks @RomneyDa.
- PR #187430 Thanks @RomneyDa.
- PR #187459 Thanks @RomneyDa.
- PR #187487 Thanks @RomneyDa.
- PR #187294 Thanks @RomneyDa.
- PR #187496 Thanks @RomneyDa.
Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.10.9
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.10.9.tgz
- integrity:
sha512-KbIl0/7an0/nKBo92FnJg7LFcEpFVQyOgSRfHNE9yxELg1Ebql7BmBsdLL+1dDOLZnQtuwjt6Hy45CCrmYdJNA== - release SHA:
8b18b5578f66eab1501cba4cef2310d88bfb9a41 - full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.10.9/release-evidence.md
- release publish: https://github.com/openclaw/openclaw/actions/runs/40896462808
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/40863629738
- full release validation: https://github.com/openclaw/openclaw/actions/runs/40862370666
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/40898170961
- plugin ClawHub submission: https://github.com/openclaw/openclaw/actions/runs/40898180399; public finalization and exact artifact verification follow terminal release-parent completion
- plugin ClawHub bootstrap: not needed
- OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/40899799314
- npm Telegram beta E2E: not supplied
- Android APK: skipped β apps/android/version.json is 2026.8.2, release train is 2026.10.9; run pnpm android:version:pin -- --from-gateway before the next tag.
openclaw 2026.9.36
This is a gateway-only extended-stable release, which is our current equivalent to LTS. This release is OpenClaw from the end of September 2026, plus critical security updates, reliability and performance fixes, and features like new model support. The latest version of OpenClaw at the time of this release is 2026.10.9
2026.9.36
Highlights
- Failed updates stay recoverable: a failed npm rollback no longer leaves the installed package missing, and update checks keep Doctor recovery guidance, stop recopying private rehearsal databases, and no longer reopen candidate-migrated state. Fixes #184889. (#185160, #186177) Thanks @syxscott, @LiuwqGit, and @RomneyDa.
- Workspace restrictions reach Gateway-built tools: with
tools.fs.workspaceOnly,openclawdelegates built through Gateway loopback and skill dispatch now require approval as intended, and media tools stay inside the workspace. (#185094) Thanks @eleqtrizit and @RomneyDa. - Microsoft Teams allowlists stay restrictive: name-keyed
teamsorgroupAllowFromentries that do not resolve now grant nothing instead of opening the bot to every team or group. (#184989) Thanks @eleqtrizit, @RomneyDa, and @shakkernerd. - Untrusted input is bounded: malformed media metadata, inbound mail addresses, TOML, URIs, oversized collections in custom A2UI schemas and Discord's embedded SDK, and response-controlled Microsoft authentication routing can no longer cause unbounded work or alter identity. (#187288, #187282, #187283, #187305, #187289, #187287) Thanks @RomneyDa and @cyyynthia.
- Replies keep their text: comparison prose after emoji and other astral characters is no longer stripped from outbound replies. (#187415) Thanks @RomneyDa.
Changes
- Certificate trust and Docker images: the eMudhra trust remediation is applied, and Docker release images carry source/version-bound evidence with more reliable architecture builds. (#186639) Thanks @RomneyDa.
Fixes
- Credential and content boundaries: derive the filesystem policy for Gateway-built OpenClaw tools, keep unresolved Microsoft Teams allowlists closed, and scope the patched MSAL to the affected Teams and Azure Identity consumers. (#185094, #184989, #187287) Thanks @eleqtrizit, @RomneyDa, and @shakkernerd.
- Untrusted parsing: bound Matrix media metadata and IMAP mail parsing, the TOML key parser, URI parsing, and oversized Zod collections in custom A2UI schemas and Discord's embedded SDK. (#187288, #187282, #187283, #187305, #187289) Thanks @RomneyDa and @cyyynthia.
- Reply delivery: keep comparison prose after astral characters in the outbound sanitizer. (#187415) Thanks @RomneyDa.
- xAI: allow
offfor older models without configurable reasoning effort instead of rejecting it as an invalid thinking level. (#187425) Thanks @RomneyDa. - Update, install, and Doctor: restore the installed package root after a denied rollback rename, keep Doctor recovery guidance and migration rollback restrictions, preserve cleanup uncertainty in buffered command results, keep the update compatibility inventory out of published packages, and stop retrying broken worktree metadata on every cleanup sweep. Fixes #184889, #184237. (#185160, #186177, #184270, #187424, #187475) Thanks @syxscott, @shakkernerd, @LiuwqGit, and @RomneyDa.
- Node uploads: recheck cancellation after opening a staged upload snapshot so a cancelled upload no longer surfaces an
AbortError. (#162567) Thanks @RomneyDa. - Dependencies: update the ClawHub
undicipin, Vercel toolchain packages, and the Vitest cohort on this line. (#187261, #187258, #187275) Thanks @RomneyDa.
Complete contribution record
This audited record covers the complete v2026.9.35..d04a9be history: 28 in-range PRs + 0 retained seed-only PRs = 28 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
Pull requests
- PR #185537 Thanks @RomneyDa.
- PR #186639 Thanks @RomneyDa.
- PR #186643 Thanks @RomneyDa.
- PR #162567 Thanks @RomneyDa.
- PR #186177 Thanks @RomneyDa.
- PR #187258 Thanks @RomneyDa.
- PR #187261 Thanks @RomneyDa.
- PR #185160 Related #184889. Thanks @LiuwqGit and @RomneyDa and @syxscott.
- PR #184270 Related #184237. Thanks @shakkernerd and @RomneyDa.
- PR #187283 Thanks @RomneyDa.
- PR #187289 Thanks @RomneyDa.
- PR #187282 Thanks @RomneyDa and @cyyynthia.
- PR #187288 Thanks @RomneyDa.
- PR #187275 Thanks @RomneyDa.
- PR #185094 Thanks @eleqtrizit and @RomneyDa.
- PR #184989 Thanks @eleqtrizit and @RomneyDa and @shakkernerd.
- PR #185484 Thanks @shakkernerd and @RomneyDa and @eleqtrizit.
- PR #187287 Thanks @RomneyDa.
- PR #187305 Thanks @RomneyDa.
- PR #187424 Thanks @RomneyDa.
- PR #187425 Thanks @RomneyDa.
- PR #187415 Thanks @RomneyDa.
- PR #187472 Thanks @RomneyDa.
- PR #187471 Thanks @RomneyDa.
- PR #187475 Thanks @RomneyDa.
- PR #187518 Thanks @RomneyDa.
- PR #187476 Thanks @RomneyDa.
- PR #161504
Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.9.36
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.9.36.tgz
- integrity:
sha512-lf5bdnWiPleye2eGaaN6HIOI2g96rFJnNFqwuEPVdz+AHlOya8nTSSaXN9Ql9xlkYBCE3ANV6jqhPvJzCpXqVw== - release SHA:
70c40e4bdcbc4e9952d30121e8de86eeb0781618 - full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.9.36/release-evidence.md
- release publish: https://github.com/openclaw/openclaw/actions/runs/40943247206
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/40908158349
- full release validation: https://github.com/openclaw/openclaw/actions/runs/40907200138
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/40944417335
- plugin ClawHub publish: no normal OIDC candidates
- plugin ClawHub bootstrap: not needed
- OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/40938440703/attempts/1
- npm Telegram beta E2E: not supplied
openclaw 2026.10.10-beta.4
2026.10.10-beta.4
Highlights
Changes
Fixes
- Automations: preserve authenticated operator authority for explicit same-conversation scheduled follow-ups, including one-shot
next_checkrearming, while retaining role, session, cancellation, target, and tool-policy revocation boundaries. (#176422) Thanks @RomneyDa. - Gateway security: keep an environment-referenced
hooks.tokenout of agent host-exec and CLI child environments at startup and across config reloads, while preserving explicit per-command overrides. (#179199) Thanks @VACInc and @RomneyDa. - Memory Wiki: preserve human-authored Notes when OKF concept pages are re-imported or removed from the producer bundle, including changed producer content and legacy pages without a marked Notes slot. (#175707, #179657; related #175700) Thanks @YangManBOBO and @RomneyDa.
- Claude CLI: keep the native Claude session and its context when subagent completions or channel turns run in a Control UI-started session, instead of reseeding from saved history each time. (#178955; fixes #178953) Thanks @Marvinthebored and @RomneyDa.
- Model catalogs: honor a configured primary account pin when deciding model readiness, so native Claude CLI models no longer appear as missing auth when the selected token profile is ready. (#178522; related #178502) Thanks @ericcaiwx-star, @RomneyDa, and @eduardonunesfreire-rgb.
- Backup and restore: preserve supported legacy exec-approval allowlists when sanitizing snapshots instead of replacing them with deny-all; malformed policies remain fail-closed. (#164297) Thanks @wangmiao0668000666, @RomneyDa, @shanselman, @dor-sr, @cristianoc, and @brucemccurdy.
- Linux companion: persist each saved Gateway dashboard's private browser identity across restarts, while removing storage for deleted Gateways so re-added endpoints pair as fresh devices. (#158908) Thanks @dor-sr, @RomneyDa, @shanselman, @wangmiao0668000666, and @brucemccurdy.
- Agent database lifecycle: keep peer readers and borrowers alive when maintenance or PostgreSQL opening is refused, preserve the original refusal and clean-restart seal, and retain pre-dispatch recovery behavior when a worker generation disappears. (#175987, #163258, #179320) Thanks @RomneyDa, @shanselman, @dor-sr, @wangmiao0668000666, @brucemccurdy, @goutamadwant, and @hawkit.
- macOS bundled Gateway: show the actual installed Gateway version, keep failed or incomplete recovery actionable, and prevent stale or pending update receipts from blocking a valid repair. (#181389) Thanks @shanselman, @RomneyDa, @dor-sr, @wangmiao0668000666, and @brucemccurdy.
- Model refresh: let explicit catalog refreshes use their existing extended discovery budget through HTTP acquisition while ordinary preparation remains bounded. (#177313) Thanks @jlapenna and @RomneyDa.
- Webhooks and scheduled scripts: classify trusted immediate producers as events, retain each webhook's own automation scope, and refresh disposed script hooks before execution without replaying completed effects. (#172775, #177825, #178904) Thanks @RomneyDa, @jlapenna, and @jalehman.
- Runtime security: backport patched embedded runtimes to the 2026.10.10 line. (#181074) Thanks @RomneyDa and @joshavant.
- Update finalization: keep a verified healthy target successful when a recognized late restart-health or legacy-wrapper maintenance step fails, while authority, data-at-risk, deferred-admission, and unknown failures remain fatal. (#181166; fixes #181020) Thanks @najef1979-code.
- Package update recovery: automatically settle verified interrupted publications or retire untouched preparations, preserve the installed candidate and original Gateway recovery evidence, and keep live update ownership and restart authority fenced. (#181307; fixes #181235) Thanks @agroman1993.
- CLI config writes and setup with a running Gateway:
openclaw config set,config unset, andopenclaw setupnow send their change through the running Gateway as oneconfig.patchinstead of refusing, with the same result as an offline write, no restart while reload is off, and a success acknowledgement when the Gateway accepts a restart, so Windows companion setup completes again. (#182951, #184194, #184392, #184532, #185109) Thanks @RomneyDa. - Codex native subagents: unblock parent replies after native children finish, are interrupted, or complete follow-ups; stop resurrecting undeliverable child completions; replay completed grandchildren correctly after Gateway restarts; keep native tool declarations across completion turns; and let Stop succeed after parent thread reuse. (#173018, #175246, #177577, #179050, #179099, #183286, #181475; fixes #178395) Thanks @quqi1599, @Stronggenetics, @linancn, @mmartoccia, @wtfichigo, @Marvinthebored, and @RomneyDa.
- Claude CLI: stop prompt-cache prefix churn after a child completion. (#172026) Thanks @Marvinthebored and @VACInc.
- Scheduled runs: wait for tool results before answering, so cron run summaries report the real result instead of a premature "no results" reply. (#179690) Thanks @obviyus.
- Agent restart recovery: release restart-recovery fences for killed runs so their conversations no longer stay blocked. (#181992; fixes #181952) Thanks @najef1979-code.
- Windows exec: restore command execution for Gateways running as an S4U scheduled task when Store PowerShell is installed. (#182898; fixes #182652) Thanks @RomneyDa and @tre1d.
- Kimi: give Kimi K3.1 Pro the K3 thinking and video controls. (#181923) Thanks @obviyus.
Complete contribution record
This audited record covers the complete v2026.10.10-beta.3..ed2b311 history: 60 in-range PRs + 0 retained seed-only PRs = 60 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
Pull requests
- PR #175707 Related #175700. Thanks @YangManBOBO and @RomneyDa.
- PR #178522 Related #178502. Thanks @ericcaiwx-star and @RomneyDa and @eduardonunesfreire-rgb.
- PR #179199 Thanks @VACInc and @RomneyDa.
- PR #179657 Thanks @RomneyDa.
- PR #179933 Thanks @RomneyDa.
- PR #179951 Thanks @RomneyDa.
- PR #179987 Thanks @RomneyDa.
- PR #180027 Thanks @RomneyDa.
- PR #181447 Thanks @RomneyDa.
- PR #181074 Thanks @RomneyDa and @joshavant.
- PR #164297 Related #164146, #156945. Thanks @wangmiao0668000666 and @RomneyDa and @shanselman and @dor-sr and @cristianoc and @brucemccurdy.
- PR #158908 Related #156945. Thanks @dor-sr and @RomneyDa and @shanselman and @wangmiao0668000666 and @brucemccurdy.
- PR #175987 Related #156945. Thanks @RomneyDa and @shanselman and @dor-sr and @wangmiao0668000666 and @brucemccurdy.
- PR #179320 Related #156945. Thanks @RomneyDa and @shanselman and @dor-sr and @wangmiao0668000666 and @brucemccurdy.
- PR #181389 Related #156945. Thanks @shanselman and @RomneyDa and @dor-sr and @wangmiao0668000666 and @brucemccurdy.
- PR #163258 Related #163151, #156945. Thanks @goutamadwant and @RomneyDa and @shanselman and @dor-sr and @wangmiao0668000666 and @hawkit and @brucemccurdy.
- PR #180250 Thanks @RomneyDa.
- PR #180238 Thanks @RomneyDa.
- PR #180257 Thanks @RomneyDa.
- PR #180245 Thanks @RomneyDa.
- PR #180249 Thanks @RomneyDa.
- PR #179085 Thanks @RomneyDa.
- PR #179097 Thanks @RomneyDa.
- PR #179104 Thanks @RomneyDa.
- PR #179125 Thanks @RomneyDa.
- PR #179077 Thanks @RomneyDa.
- PR #179112 Thanks @RomneyDa.
- PR #179109 Thanks @RomneyDa.
- PR #179083 Thanks @RomneyDa.
- PR #179093 Thanks @RomneyDa.
- PR #179079 Thanks @RomneyDa.
- PR #177313 Thanks @jlapenna.
- PR #172775 Thanks @RomneyDa.
- PR #177825 Thanks @jlapenna.
- PR #178904 Thanks @jalehman.
- PR #181166 Related #181020. Thanks @najef1979-code.
- PR #181307 Related #181235. Thanks @agroman1993.
- PR #180270 Thanks @RomneyDa.
- PR #181866 Thanks @RomneyDa.
- PR #178955 Related #178953. Thanks @Marvinthebored and @RomneyDa.
- PR #180396 Thanks @shakkernerd.
- PR #182047 Thanks @RomneyDa.
- PR #179690 Thanks @obviyus.
- PR #182114 Thanks @RomneyDa.
- PR #182951 Thanks @RomneyDa.
- PR #172026 Thanks @Marvinthebored and @VACInc.
- PR #182898 Related #182652. Thanks @RomneyDa and @tre1d.
- PR #181992 Related #181952. Thanks @najef1979-code.
- PR #183286 Thanks @Marvinthebored.
- PR #181475 Thanks @RomneyDa.
- PR #181923 Thanks @obviyus.
- PR #173018 Thanks @quqi1599 and @Stronggenetics.
- PR #175246 Thanks @quqi1599 and @Stronggenetics.
- PR #179050 Related #178395. Thanks @mmartoccia.
- PR #179099 Thanks @wtfichigo.
- PR #177577 Thanks @linancn.
- PR #184194 Thanks @RomneyDa.
- PR #184392 Thanks @RomneyDa.
- PR #184532 Thanks @RomneyDa.
- PR #185109 Thanks @RomneyDa.
Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.10.10-beta.4
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.10.10-beta.4.tgz
- integrity:
sha512-SvFneXtEsOy3BXtGIdvLgsAEuY/ElqR2iqD4XPaAlqOR6YIdpkoonY9FWCYzkwtPqbNw5ruR4GAkgJRbcQU2Lw== - release SHA:
5a94eab2146e558b3ebcd41cb174fc5adc469c2a - full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.10.10-beta.4/release-evidence.md
- release publish: https://github.com/openclaw/openclaw/actions/runs/40453877500
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/40437831425
- full release validation: https://github.com/openclaw/openclaw/actions/runs/40437065455
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/40454694030
- plugin ClawHub publish: no normal OIDC candidates
- plugin ClawHub bootstrap: not needed
- OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/40451197520/attempts/1
- npm Telegram beta E2E: not supplied
openclaw 2026.10.8
2026.10.8
Highlights
- Updates that finish and recover: an ordinary post-update Doctor failure restarts the Gateway instead of leaving it stopped, an orphaned maintenance worker no longer blocks every CLI command and Gateway start, and updates no longer abort on ACL filesystems, Windows pnpm optional-dependency links, pnpm 10 global installs, debug console logging, or a missing legacy OAuth directory. (#180668, #181695, #181141, #181596, #181456, #182850, #180174) Thanks @hannesrudolph, @SMF12138, @rayluo88, @PonySlayer28, and @VN77-77VN.
- Gateway service installs on every desktop: macOS recovers a loaded launchd registration whose plist was deleted, Linux installs under the Ubuntu default umask create a private state directory instead of being refused, and the macOS updater waits for the serving Gateway to release its databases before Doctor runs. (#180390, #179538, #182055) Thanks @avnishkirnalli and @XiaoPengYouCode.
- Conversations keep accepting messages: killed runs release their restart-recovery fence, interrupted and just-accepted child sessions recover after a Gateway restart, inbound messages stop retrying forever when the reply runtime cannot publish, and the Control UI forgotten-send retry delivers the reply instead of an authoring error. (#181992, #178888, #181871, #181300, #182219) Thanks @najef1979-code, @handcraftrc-pixel, @sukhdeepjohar, and @teddashh.
- Startup and database resilience: startup work no longer inherits a closed SQLite reader scope, so models, chat metadata and channel replies stay available; transient lock contention during agent database startup is retried; and model catalogs stay available during skill runs. (#182615, #182446, #182385)
- Security hardening: exec allowlist mode requires approval for
test -voperand expansion, generic node invoke refuses browser proxy commands, sandboxed spawned children cannot run host CLI backends, the secret egress proxy rejects distrusted eMudhra chains, Fish Audio and Gradium errors no longer expose API keys, and deeply nested Tlon content can no longer stall the channel. (#180880, #179880, #178742, #179249, #178877, #177536) Thanks @eleqtrizit and @joshavant. - Windows exec and plugins: agent exec works under S4U scheduled tasks while Store PowerShell is installed, native plugins load on machines with Endpoint DLP, and Doctor recovers dangling dependency junctions and plugins on another filesystem. (#182898, #179949, #179549, #179445) Fixes #182652 Thanks @RomneyDa, @tre1d, @coaiMax, @paulcam206, @JIRBOY, and @ceckert.
- Provider and model continuity: Codex turns keep their budget with older runtime plugins instead of silently falling back, Codex native child inference works after startup, OpenAI OAuth works with stale catalogs, Anthropic PDF analysis works with setup-token OAuth, a timed-out MCP session close no longer fails the next turn, and CLI history owner changes stop instead of silently replaying on another provider. (#182995, #176311, #181356, #178420, #182189, #180075) Fixes #181619 Thanks @RomneyDa, @kip-claw, @enki, @sasan1200, @sunlit-deng, @khensthoth, @aniketkrs, @goslingmanagment, @wr-web, and @teddashh.
Changes
- Fresh OpenAI setup: first-run model metadata no longer restricts the model picker to one model. (#175945) Thanks @matthematics1137 and @jb-dev1.
Fixes
- Channel accounts: default Slack, Google Chat, X, Nextcloud Talk and Zalo accounts keep starting and keep their secrets after a named account is added. (#176267, #180450, #182608) Thanks @555aaditya, @progerjkd, and @masatohoshino.
- Slack: an isolated
invalid_authis retried before a socket-mode channel is disabled, and silent relay network drops reconnect. (#181056, #182368) Thanks @mushuiyu886 and @marns. - Matrix, Twitch, Zalo, iMessage and Feishu delivery: ordinary Matrix messages are no longer treated as text commands, Twitch sends normalize channel targets, Zalo DMs with URLs are handled, iMessage recovers after the Messages bridge dies, and Feishu quick-action cards send again. (#179506, #178480, #178938, #180900, #79832) Thanks @xiaopan-xydt, @doomy, @HeZ2z, @Takhoffman, @zzrs-xxxr, @namchamvinhcuu, and @xiabee.
- Agent runs and providers: heartbeat loops stop when background commands finish, temporary Codex probe workers no longer accumulate, Codex native turns stay alive during host work, Claude CLI turns no longer stall 15 minutes when stream output hits its limit, provider stream errors surface immediately, and session admission races no longer trigger model fallback. (#179060, #167390, #181839, #159931, #117397, #179347) Fixes #178937, #181805, and #178000 Thanks @maxdjohnson, @sunlit-deng, @Terwox, @AINCHORS, @robertmsale, and @davidcittadini.
- Voice and meetings: Discord realtime voice consults initialize their runtime, voice calls use the configured agent model, and long meeting talk-back replies keep their audio. (#179462, #181451, #178254) Thanks @shoaibulhaque, @yagizkus, @potoior, @BeyonceBot, and @sukhdeepjohar.
- Remote access and history: Tailscale Serve and Funnel recover after tailscaled restarts, and cron history stays readable after provider changes. (#180081, #181311) Thanks @enki, @saariuslystoned, and @xtimor.
- Doctor repairs: retained transcripts verify after heading repairs, and repair keeps the Codex host compaction model. (#179089, #179914) Thanks @mrsavingsblogspot-rgb and @LiuwqGit.
- Plugins and nodes: older plugin debounce callbacks keep working, computer use accepts input results from older Mac nodes, and Memory Wiki keeps user Notes when OKF concepts disappear. (#118011, #137755, #179657)
- Secrets and hooks: the 1Password secret provider accepts group-writable OpenClaw files, and concurrent session-memory captures no longer overwrite each other. (#181127, #181081) Thanks @jalehman, @jason-allen-oneal, and @yetval.
- Doctor recovery messages: when Doctor cannot restore a Gateway it stopped, it prints the failure and how to start the Gateway. (#181941)
- Codex native children and replies: completed or undeliverable child completions no longer replay or wedge parents, replies unblock after native children finish, are interrupted, or complete follow-ups, final answers survive transient retries, settled turns without a mirrored prompt finalize, native tool declarations stay stable, queued chats recover after plugin reloads, submitted steering commits before terminal release, and Codex accepts managed loopback proxy defaults. (#173018, #175246, #177577, #179099, #179050, #183286, #181779, #183077, #182104, #184062, #183232) Thanks @quqi1599, @Stronggenetics, @linancn, @wtfichigo, @mmartoccia, @Marvinthebored, @sukhdeepjohar, @jjjhenriksen, @aatreya, @ermaxinc, and @RomneyDa.
- Claude CLI sessions: unrelated native tasks no longer hold the final answer, parent replies finish after nested background agents, a stopped first turn keeps its conversation, room events no longer reset sessions, operators can keep native Agent and Workflow tools, resumed sessions see conversation updates, and Claude CLI models stay available with saved subscriptions. (#170322, #182267, #181966, #182273, #183765, #183059, #179203) Thanks @cassthebandit, @VACInc, @goslingmanagment, @holgergruenhagen, @xiaopan-xydt, @Marvinthebored, @scarabone, @atomsmasher81, @josh-cornelius, and @teddashh.
- Subagents and agent turns: model fallback stops after local runtime faults, recovered child results deliver after session reuse, private completion receipts reconcile after a restart, parents keep waiting for active collectors, batched tool calls settle before
sessions_yield, delayedsessions_sendreplies are no longer cut at 4,096 characters, turns finish after tool-result recovery, messages sent during transcript rebuilds are recovered, and completed attempt callbacks are released. (#180042, #184069, #184041, #172959, #184021, #178271, #175685, #182666, #164843, #183884) Thanks @sunlit-deng, @danielsiemers, @johan-eilertsen, @jailbirt, @rjdotdev, @wr-web, @seriouslysean, @MSNexploder, and @PollyBot13. - Gateway stability and streaming: long HTML and JSX answers, crafted Teams HTML, and replies that look like tool calls no longer stall the Gateway; reasoning tags are withheld before streaming; silent turns no longer send rich payloads; channel restarts survive exited-run cancellation; the Gateway closes after forced plugin retirement; plugin service schedules outlive the scope that created them; and cold tool inventories no longer grow memory. (#175472, #183438, #183252, #182454, #129244, #182433, #181270, #182207, #178596) Thanks @JasonBuildAI, @LeizhenZhang, @zax0rz, @JOY, @0xtc23, @bguliano, @obviyus, and @wuqxuan.
- Updates, installs and Doctor: Windows managed updates no longer lock themselves on TEMP aliases, the Windows installer runs through
iex, updates complete during channel outages and keep accepted policy pins, stopped database backups allow readers, Doctor restores the Gateway after SIGHUP, keeps valid reseeded configs and inherited logins, repairs unsupported Node runtimes, recovers agents after deletion journal loss, restores plugin host links, handles very large retained histories, and uses less memory on large fleets. (#183622, #183145, #179471, #180505, #180827, #182901, #183703, #179726, #181618, #181804, #181140, #180414, #180792, #181465) Thanks @ryandle, @duyufansh2008, @waynegault, @csabatatrai, @samueltardieu, @4140leal-cw, @rybing7, @RomneyDa, @LiuwqGit, @sukhdeepjohar, and @teddashh. - Sessions and storage: relative session stores resolve against the state directory, sessions archive through symlinked state paths, stale restart-recovery sources no longer wedge sessions, cron cleanup keeps live child sessions, archived Discord slash-command sessions restore in place, background plugin work keeps its SQLite reader, and session deletes reuse warm archive workers. (#182444, #181554, #180853, #179057, #168596, #17...
openclaw 2026.9.35
This is a gateway-only extended-stable release, which is our current equivalent to LTS. This release is OpenClaw from the end of September 2026, plus critical security updates, reliability and performance fixes, and features like new model support. The latest version of OpenClaw at the time of this release is 2026.10.7
2026.9.35
Highlights
- Steadier memory under service managers: worker heap caps now apply even when the Gateway service passes a process-wide
--max-old-space-size, idle Codex app-server clients retire after 30 seconds, and archive workers are reused between session deletes, so long-running Gateways stop accumulating memory. Fixes #179515, #169797, #165663. (#166581, #171490, #168387, #171156, #175091) Thanks @valkyriweb and @RomneyDa. - Updates finish more often: update-time Doctor now removes leftover unknown config keys after migrations, accepts a missing legacy OAuth directory, keeps a valid config that lacks
meta, settles a completed package publication that already serves the candidate, and no longer overflows on very large session histories. Fixes #174618, #183479. (#175404, #180174, #183703, #180414) - Gateway stays responsive: crafted Microsoft Teams HTML, replies shaped like tool calls, and long streamed HTML or JSX answers no longer stall the Gateway event loop for seconds at a time. (#183438, #183252, #174833, #175472, #180765) Thanks @LeizhenZhang and @JasonBuildAI.
- Replies reach the user: the message tool stays directly visible under Tool Search, model fallback works after an unexecuted tool call and for compaction, timed-out MCP sessions no longer break the next turn, and Claude CLI turns that hit the output limit fail fast instead of stalling for 15 minutes. Fixes #176045. (#179450, #183282, #182189, #159931) Thanks @hehuang139, @pstarkgit, @aniketkrs, and @Terwox.
- Codex native subagents settle correctly: parents are no longer blocked after native children finish, are interrupted, or complete a follow-up; undeliverable completions are not resurrected; and completed grandchildren no longer replay after a Gateway restart. (#173018, #175246, #179050, #179099, #177577, #181839) Thanks @quqi1599, @wtfichigo, @linancn, and @sunlit-deng.
- Safer by default:
test -vexec operands now require approval in allowlist mode, browser proxy commands are refused through generic node invoke, generated-video downloads use the SSRF guard, andopenclaw mcp list/showplus logs redact credentials. (#180880, #179880, #182425, #180321, #183193) Thanks @eleqtrizit, @brandon-julio-t, and @LeizhenZhang. - SQLite 3.54 data safety: Doctor and update snapshots now repair stale full-text indexes left by the SQLite tokenizer change instead of quarantining agent databases. Fixes #176220. (#176234, #181206)
Changes
- Kimi K3.1 Pro:
moonshot/kimi-k3.1-pro,kimi/k3.1-pro, and their Highspeed variants get the K3 thinking, effort, and video controls; K3.1 rejectsofflocally instead of returning a provider 400. (#181923) Thanks @obviyus. - Known-issue documentation: documented the
--preserve-symlinksplugin capture workaround, the 2026.8.35 updater's schema warning, and recovery after a publication-journal device-number change. Related #175591, #170031. (#184143) Thanks @RomneyDa.
Fixes
- Credential and content boundaries: require approval for
test/[-voperands, refuse browser proxy commands on generic node invoke, guard generated-video downloads, redact MCP inspection output and Google OAuth client secrets, keep commentary out of turns whose replies are disabled, and keep private media out of silent turns. (#180880, #179880, #182425, #180321, #183193, #178518, #129244) Thanks @eleqtrizit, @brandon-julio-t, @LeizhenZhang, and @obviyus. - Reply delivery and fallback: keep the message tool visible under Tool Search, allow model fallback after unexecuted tool calls and for compaction, fall back immediately on exhausted Anthropic usage caps, recover unfinished tool work after empty
lengthstops, and keep rejected Claude CLI drafts out of final replies. Fixes #176045, #176179. (#169091, #179450, #183282, #176186, #153728, #168764) Thanks @hehuang139, @pstarkgit, @sunlit-deng, @zhangguiping-xydt, and @ruel225. - Gateway responsiveness: bound regex and tag scans for Microsoft Teams HTML, tool-call-shaped replies, and long streamed markup. (#183438, #183252, #174833, #175472, #180765) Thanks @LeizhenZhang and @JasonBuildAI.
- Claude CLI sessions: ignore request echoes when checking for orphaned tool calls, classify rejected resume checkpoints as an expired session, end output-limit stalls promptly, and stop announce wakes from resetting CLI chats. (#172026, #159931, #181308, #176218) Thanks @Terwox, @mushuiyu886, and @eliavb43.
- Agent runtime: release completed attempt callbacks, finish parent handoff after cancelling child tasks, cap large subagent completion batches, preserve memory captures during concurrent session resets, load skills when macOS workspace casing differs, and stop thinking-only replies from utility models, including custom GLM title models. (#183884, #178893, #172068, #181081, #181236, #169920, #172580) Thanks @brianmcguire and @jason-allen-oneal.
- Codex: retire idle unowned app-server clients, keep native tool declarations stable on completion turns, keep native liveness during host work, and settle native subagent completions, interruptions, follow-ups, and restart replay. Fixes #165663. (#168387, #183286, #181839, #173018, #175246, #179050, #179099, #177577) Thanks @sunlit-deng, @quqi1599, @wtfichigo, and @linancn.
- Channels: recover Slack socket mode from an isolated
invalid_authand Slack relay connections from silent network drops, tag only Matrix control commands with a command source, keep Telegram offset checkpoints working on Bun, keep the realtime voice transport runtime for callbacks, and keep channel accounts restarting after an exited run is cancelled. Fixes #179398. (#181056, #182368, #179506, #178909, #179462, #182433) Thanks @mushuiyu886, @xiaopan-xydt, @brianmcguire, and @shoaibulhaque. - MCP and GitHub tools: let concurrent agents read a fresh shared MCP OAuth credential without the exclusive lease, and accept GitHub PR publishing from operators whose profile attaches after connect. (#179997, #169400) Thanks @maliv2 and @Gigaxel.
- Gateway, state, and readiness: answer trusted-proxy readiness probes without forwarded headers, bound channel-identity admission waits so stalled admission cannot pin WAL checkpoints, keep queued startup work off temporary SQLite reader scopes, avoid writer stalls during initial host admission, preserve live state-lock owners while recovering stale Linux locks, and finish worker shutdown after inventory retirement. Related #143524. (#182823, #172244, #182615, #171549, #175118, #168862) Thanks @ericcaiwx-star, @xialonglee, and @xiaopan-xydt.
- Update, install, and Doctor: remove unowned config keys during updates, accept a missing legacy OAuth directory, keep a valid config that lacks
meta, route debug logs off JSON stdout during admission, bound the post-activation Doctor step and update baseline checks, recover the Node runtime when started from/, accept unchanged dist files with extra execute bits, tolerate absent optional packages in Windows swaps, launch SQLite helpers hidden on Windows, create the state directory0700regardless of umask, admit group-writable plugin secret resolvers, allow SQLite readers during stopped backups, import transcripts whose filename differs from the header, read cron history identities before payloads, avoid stack overflow on very large session histories, settle a completed package publication that already serves the candidate, and refuse a registry update before staging when the Gateway's Node does not satisfy the target'sengines.nodeinstead of crash-looping after the switch. Fixes #174618, #183479, #183149. (#180769, #175404, #180174, #183703, #182850, #173862, #181906, #178112, #181141, #181596, #174969, #179538, #181127, #180827, #178146, #174530, #180414) Thanks @jalehman and @wangmiao0668000666. - Plugins: replace dangling dependency junctions instead of refusing plugin migration, copy native captures across filesystems, and tolerate ctime-only stat drift in native companion admission. (#179549, #179445, #179949) Thanks @coaiMax.
- SQLite full-text indexes: repair stale FTS indexes after the SQLite 3.54 tokenizer change in Doctor and update snapshots instead of quarantining agent data. Fixes #176220. (#176234, #181206)
- Release validation compatibility: carry the release-retrospective batch 5 tooling (admission pins, compact reuse plans, Plugin SDK revision rendering) needed by current full-release validation. (#181920) Thanks @RomneyDa.
Complete contribution record
The 2026.9.35 maintenance audit covers all 3,595 main commits from
beaee570a5d4 (2026-10-21) through f227543e4815, plus open P0/P1 issues and
operator-requested PRs. 78 fixes from 77 numbered PRs and 3 branch-specific
repairs were applied or adapted; the rest were classified as not affected,
already covered, or excluded with a reason.
The complete PR inventory, adaptations, exclusions, and corrections to the
2026.9.34 audit are preserved in the
2026.9.35 extended-stable backport audit.
The grouped notes above remain the user-impact summary.
Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.9.35
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.9.35.tgz
- integrity:
sha512-1wVhWrYXsEgy4iVHAg0CEd4J7Vp4blc8XvIKVg463UYNxYVgUitg3pWdCKPxDIRgetQ6t5ViEftSn5J0UI7x9A== - release SHA:
2ff91b9c5ed26aff603c6d5466fc642ae9d50e72 - full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.9.35/relea...
openclaw 2026.10.7
2026.10.7
Highlights
- Replay-safe session recovery: interrupted sessions now retain recovery provenance and unfinished tool outcomes, stopped conversations retire terminal recovery residue before accepting the next message, rejected Claude CLI drafts stay out of final replies, large child-completion batches stay within requester context, and Codex previews no longer block replies after a context refresh. (#153728, #168764, #172068, #177716, #176682, #176783, #176675, #159715, #181801) Thanks @zhangguiping-xydt, @ruel225, @Oliver4Spot, @jjjhenriksen, @enki, @PennyVibe, @mbelinky, @RomneyDa, and @krjcolby-svg.
- Safer update activation and recovery: verified activations remain successful through later maintenance or ledger errors, interrupted package updates resume safely, post-activation Doctor waits are bounded, stale receipts cannot veto a valid repair, and Windows deep or 8.3 state paths no longer abort onboarding or migration. (#181166, #181307, #173862, #167459, #172768, #172769, #181389) Thanks @najef1979-code, @agroman1993, @shanselman, @RomneyDa, @dor-sr, @wangmiao0668000666, and @brucemccurdy.
- Database and worker continuity: maintenance refusals preserve peer readers and borrowers, incompatible retained agent databases stay isolated, empty transcript deletions skip unnecessary archive materialization, Bun admission deadlines remain thread-local, and worker shutdown completes after inventory retirement. (#175987, #179320, #170122, #171372, #172756, #168862) Thanks @LifeViwer, @Captain69G, @RomneyDa, @shanselman, @dor-sr, @wangmiao0668000666, and @brucemccurdy.
- Backup and state durability: snapshots retain supported legacy exec-approval policies, interrupted R2 verification and restores resume safely, config observation keeps the last-known-good snapshot during truncated writes, failed multi-file patches preserve earlier files, and Memory Wiki re-imports preserve human-authored notes. (#164297, #171292, #152565, #160409, #175707) Thanks @wangmiao0668000666, @davidcittadini, @LiuwqGit, @yetval, @masatohoshino, @YangManBOBO, @RomneyDa, @shanselman, @dor-sr, @cristianoc, and @brucemccurdy.
- Operator control continuity: native computer control recovers after session expiry, late-attached GitHub operators can publish PRs, synchronous node output is not duplicated as a completion wake, cron announcements preserve CLI chats, and history maintenance reads identities before payloads. (#169385, #169400, #164511, #176218, #174530) Thanks @stackingrockss, @Gigaxel, @holgergruenhagen, @eliavb43, @wangmiao0668000666, @asikorskiy, and @RomneyDa.
- Provider and plugin continuity: model refresh, configured-account readiness, GPT-5.6 tool turns, OpenRouter onboarding, incremental plugin loading, and faster external TypeScript plugin startup retain current state instead of rejecting valid setup or discarding providers. (#176709, #178522, #173366, #173292, #162226, #161267, #168391) Thanks @ericcaiwx-star, @eduardonunesfreire-rgb, @chandraveshchaudhari, @netcrazed, @obviyus, @jakeaadams, and @RomneyDa.
- Managed integration reliability: saved Linux Gateway dashboards preserve pairing across restarts, slow macOS Talk runs retain their replies, app upgrades converge official plugins, Copilot setup verifies SDK-backed agents correctly, Claude CLI cache prefixes stay stable after child completion and retain context when caller-only tools appear or disappear, and passkey prompts no longer block headless browser clicks. (#158908, #164485, #174257, #163578, #172026, #178955, #170857) Thanks @dor-sr, @PollyBot13, @kazuyuki-eguchi, @lifuyue, @Marvinthebored, @VACInc, @trukhinyuri, @Peetiegonzalez, @RomneyDa, @shanselman, @wangmiao0668000666, @brucemccurdy, and @rsaeks.
- Cross-platform app-managed upgrades: native state repair, recovery snapshots, Gateway runtime admission, and post-upgrade service recovery now converge without losing agent access across macOS and Windows. (#171508, #174297, #175007, #176174, #178155, #178779, #180010, #180576, #180769) Thanks @tjarrau-dev, @DonnieFi, @jayzhou2309, @lostsock1, @sglion777, @Almost-Certified-ops, @billpang1-sketch, and @RomneyDa.
Changes
Fixes
- Update guidance: avoid irrelevant database-repair advice when a package manager is missing, and remove superseded warnings after a successful update. (#173293, #173395) Thanks @DonnieFi, @RomneyDa, @wangmiao0668000666, @sunlit-deng, and @bhedanikhilkumar-code.
- macOS onboarding: allow fresh profiles to start the Gateway and complete automatic setup. (#173246) Thanks @RomneyDa.
- Gateway logging: prevent a deleted or stale temporary log directory from wedging the Gateway at full CPU during date rollover. (#160433) Fixes #130807 Thanks @masatohoshino, @WadeOwenWatts, and @RomneyDa.
- Control UI queue state: clear slash-steer chips after the queued command is consumed. (#180024) Thanks @RomneyDa.
Complete contribution record
This audited record covers the complete v2026.10.6..5c4a797 history: 49 in-range PRs + 21 retained seed-only PRs = 70 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
Pull requests
- PR #181867 Backports #181801. Thanks @RomneyDa.
- PR #181487 Thanks @RomneyDa.
- PR #181801 Related #181770. Thanks @najef1979-code and @RomneyDa.
- PR #173293 Related #173084. Thanks @DonnieFi and @RomneyDa and @wangmiao0668000666 and @sunlit-deng.
- PR #173395 Related #173089. Thanks @DonnieFi and @RomneyDa and @bhedanikhilkumar-code.
- PR #178155 Related #177697. Thanks @DonnieFi and @RomneyDa.
- PR #175707 Related #175700. Thanks @YangManBOBO and @RomneyDa.
- PR #180024 Thanks @RomneyDa.
- PR #180010 Thanks @RomneyDa.
- PR #178779 Related #167385. Thanks @jayzhou2309 and @RomneyDa and @lostsock1.
- PR #180576 Thanks @RomneyDa.
- PR #176675 Thanks @enki and @RomneyDa.
- PR #176682 Thanks @RomneyDa and @enki.
- PR #172026 Thanks @Marvinthebored and @VACInc and @RomneyDa and @Peetiegonzalez.
- PR #170122
- PR #178955 Thanks @Marvinthebored.
- PR #179933
- PR #179951
- PR #182030
- PR #176892 Thanks @RomneyDa.
- PR #159715 Thanks @mbelinky and @RomneyDa.
- PR #162226 Thanks @netcrazed and @RomneyDa.
- PR #161267 Thanks @obviyus and @RomneyDa.
- PR #171852 Thanks @RomneyDa.
- PR #176709 Thanks @RomneyDa.
- PR #180769 Related #180636, #180701, #180707. Thanks @RomneyDa and @sglion777 and @Almost-Certified-ops and @billpang1-sketch.
- PR #178522 Related #178502. Thanks @ericcaiwx-star and @RomneyDa and @eduardonunesfreire-rgb.
- PR #152565 Related #152509. Thanks @LiuwqGit and @RomneyDa and @yetval.
- PR #160409 Thanks @masatohoshino and @RomneyDa.
- PR #163578 Thanks @lifuyue and @RomneyDa.
- PR #180482 Thanks @RomneyDa.
- PR #180989 Thanks @RomneyDa.
- PR #164297 Related #164146, #156945. Thanks @wangmiao0668000666 and @RomneyDa and @shanselman and @dor-sr and @cristianoc and @brucemccurdy.
- PR #158908 Related #156945. Thanks @dor-sr and @RomneyDa and @shanselman and @wangmiao0668000666 and @brucemccurdy.
- PR #175987 Related #156945. Thanks @RomneyDa and @shanselman and @dor-sr and @wangmiao0668000666 and @brucemccurdy.
- PR #179320 Related #156945. Thanks @RomneyDa and @shanselman and @dor-sr and @wangmiao0668000666 and @brucemccurdy.
- PR #181389 Related #156945. Thanks @shanselman and @RomneyDa and @dor-sr and @wangmiao0668000666 and @brucemccurdy.
- PR #167459 Related #167441, #156945. Thanks @RomneyDa and @shanselman and @dor-sr and @wangmiao0668000666 and @brucemccurdy.
- PR #153728 Related #144842. Thanks @zhangguiping-xydt and @RomneyDa and @krjcolby-svg.
- PR #164485 Related #153145. Thanks @PollyBot13 and @RomneyDa and @rsaeks.
- PR #168391 Related #168130. Thanks @RomneyDa and @jakeaadams.
- PR #168629 Thanks @RomneyDa.
- PR #168764 Related #168676. Thanks @ruel225 and @RomneyDa and @Oliver4Spot.
- PR #168862 Related #158126. Thanks @RomneyDa and @Captain69G.
- PR #169385 Related #169353. Thanks @stackingrockss and @RomneyDa.
- PR #169400 Related #169377. Thanks @Gigaxel and @RomneyDa.
- PR #171292 Related #171165. Thanks @RomneyDa and @davidcittadini.
- PR #171372 Related #171348. Thanks @RomneyDa and @LifeViwer.
- PR #172068 Thanks @RomneyDa.
- PR #164511 Thanks @holgergruenhagen and @RomneyDa.
- PR #172756 Thanks @RomneyDa.
- PR #172768 Thanks @RomneyDa.
- PR #172769 Thanks @RomneyDa.
- PR #173862 Thanks @RomneyDa.
- PR #176218 Related #176208. Thanks @eliavb43 and @RomneyDa.
- PR #177716 Thanks @jjjhenriksen and @RomneyDa.
- PR #174530 Related #174078. Thanks @wangmiao0668000666 and @RomneyDa and @asikorskiy.
- PR #181166 Related #181020. Thanks @najef1979-code.
- PR #181307 Related #181235. Thanks @RomneyDa and @agroman1993.
- PR #176783 Related #176669. Thanks @RomneyDa and @PennyVibe.
- PR #173366 Thanks @RomneyDa.
- PR #173292 Thanks @chandraveshchaudhari and @RomneyDa.
- PR #174257 Related #174120. Thanks @RomneyDa and @kazuyuki-eguchi.
- PR #170857 Thanks @trukhinyuri and @RomneyDa.
- PR #171508 Thanks @RomneyDa.
- PR #174297 Thanks @RomneyDa.
- PR #175007 Thanks @RomneyDa.
- PR #176174 Related #176163. Thanks @RomneyDa and @tjarrau-dev.
- PR #173246 Thanks @RomneyDa.
- PR #160433 Related #130807. Thanks @masatohoshino and @RomneyDa and @WadeOwenWatts.
Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.10.7
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.10.7.tgz
- integrity:
sha512-iiZO+kFFBgQvxm17wn3Sc/MSC/GQu01PubAFVNA2Nn736HOHUbR0ra7a9NeW9wpjq3kDkSJ1RB7dTP+qVJFXig== - release SHA: `157d8c2bc3ea2fa183afd...