Skip to main content
Clawdbot
$ cat ./clawdbot.md

Clawdbot

Clawdbot is a powerful command-line interface tool designed to streamline automated interactions with Claude AI through terminal environments. The tool enables developers and power users to integrate Claude's advanced conversational AI capabilities directly into their workflows, scripts, and automation pipelines. Key features include batch processing of prompts, customizable output formatting, session management, and support for various input methods including file processing and stdin piping. Clawdbot excels in scenarios requiring automated content generation, code review assistance, documentation processing, and bulk text analysis tasks. Its lightweight architecture and intuitive command structure make it ideal for DevOps workflows, CI/CD pipelines, and rapid prototyping environments where seamless AI integration is essential.

391,821 stars 82,378 forks TypeScript MIT License
clawdbot 5372 Jan 22, 2026
Login with GitHub to like and favorite this CLI tool
$ git release --latest

Latest Releases

All releases

2026.10.5-beta.2
Highlights
  • Updates finish and recover: openclaw update settles stale handoff leases, completed receipts, and legacy 2026.9.8 recovery records instead of stopping on update-recovery-pending, keeps the service heap limit and webhook listeners, handles Windows short-name paths, and no longer reports accepted handoffs or successful updates as failures. (#169038, #169027, #168388, #168889, #169035, #169292, #168927, #168993, #169037, #169454, #168905) Thanks @mkdelta221, @waynegault, @chedong, @k94118, @bluet, @sirius1024, @RomneyDa, @sayitfast, and @hannesrudolph.
  • Doctor keeps your plugins and data: Doctor preserves installed plugins' configuration when path safety checks block them, leaves malformed UTF-8 root memory files untouched, and recovery copies capture Canvas and Memory Core files before migrations move them, including on installs with no configured agents. (#168111, #169029, #169436, #169516) Thanks @obviyus, @wangmiao0668000666, and @RomneyDa.
  • Approved tool calls stay as approved: hooks can no longer change tool arguments after a trusted inline approval; plugins that transform arguments must request approval for their final arguments. (#142700) Thanks @giodl73-repo and @giodl73.
  • Subagent message provenance: inter-session messages keep their [Inter-session message] safety envelope from the first request and through replay, so parent-sent instructions are never presented to a child as direct user instructions. (#169130, #169238) Thanks @RomneyDa.
  • Control UI turns keep running: chat turns from paired devices survive ordinary pairing activity such as node heartbeats, other devices' updates, and tab reconnects; real revocations still stop them. (#169457, #169134) Thanks @Oldrich333.

Changes
  • Tool approval hooks: ordinary hooks can no longer rewrite trusted-inline-approved tool arguments without another approval, and transforming plugins must request separate approval for their final arguments or the call is blocked; see docs/plugins/hooks/tool-policy.md for migration. (#142700) Thanks @giodl73-repo and @giodl73.
  • Codex runtime compatibility: plugin admission rejects official Codex runtimes below 2026.9.7 with update and repair guidance, and incompatible plugins stay inspectable without being imported. (#168930, #168748, #168749, #168977) Thanks @ezimerman.
  • Session notices: creating many sessions gives the main session one summary of new sessions instead of separate notices that crowd out reminders and wakes. (#168239)
  • Update performance: updates stop rehashing unchanged runtime files while retaining the running updater and publishing the candidate, reducing update I/O. (#168958)

Fixes
  • Tool Search provenance: network results reached through Tool Search and Code Mode now taint the turn the same way direct network tool calls do. (#169560, #169332) Thanks @RomneyDa and @farisoftfry.
  • Subagent provenance: child sessions keep the inter-session safety envelope on every replayed turn, and inter-session turns keep a stable provider prompt prefix across later turns and Gateway restarts. (#169130, #169238) Thanks @RomneyDa.
  • Node commands and approvals: approved node commands replay when their prepared plan omitted session identity, Windows node shell commands keep quoted arguments, safe-bin commands accept trailing whitespace, and the Linux node service keeps its PATH when the login shell resets it. (#161980, #151622, #158160, #142847, #168120, #136677, #134354) Thanks @Program-123, @gaojian125, @Dimitri-lcht, @igs-rogenlo, @yetval, @harjothkhara, and @abacha.
  • Private reasoning: unfinished model reasoning stays private when a reply hits a token limit or content filter after a tool call. (#168294)
  • Doctor data safety: Doctor keeps blocked plugins' authored entries, enablement, policy, and slots; refuses to merge malformed UTF-8 root memory; captures Canvas and Memory Core files in new recovery copies (and works on installs with no configured agents); skips redundant cron backups for unchanged one-shot jobs; and honors Windows permissions for SQLite recovery snapshots. (#168111, #168066, #169029, #168567, #169436, #169516, #168938, #168838, #169397) Thanks @obviyus, @wangmiao0668000666, @RomneyDa, @harshitgupta31415, and @WG-Mojo.
  • Memory: daily-note flushes reject copied saved content instead of repeating blocks, and correcting an embedding provider's endpoint or credential refreshes cached index managers without a Gateway restart. (#168123, #151263, #151055) Thanks @ruel225 and @Mirksen.
  • Restart recovery: main sessions that were mid-turn during a Gateway restart resume on the next boot, interrupted completion replies are delivered instead of lost, and new replies wait for their agent to finish starting instead of failing with prepared reply dispatch runtime owner was not published. (#168651, #167814, #167766, #168826, #157814) Thanks @goutamadwant, @marknilsn, and @xiaozishan.
  • Reply routing: WebChat task completions stay in WebChat, mirrored external sends no longer change a transcript's reply destination, and Reef carries GitHub commit links without flagging their revision IDs as credentials. (#168248)
  • Prompt caching: conversations whose first message ends in whitespace keep a byte-stable prompt prefix, and OpenAI-compatible and local endpoints keep runtime context in a user-role message. (#168725, #168546, #164791) Thanks @flanker-stack.
  • Compaction: sessions skip a redundant host compaction after native-only compaction, safeguard compaction keeps configured AGENTS.md sections, and memory-flush runs keep provider-native compaction off. (#168051, #168015, #168446, #168131, #168164) Thanks @ruel225, @xydigitLybnnnn, @robertoronderosjr, @jakeaadams, and @obviyus.
  • Control UI: chat turns survive unrelated pairing activity, typed /stop also cancels queued turns for the session, and open chats recover after a Gateway update or recovery reload instead of sticking on Server updated → Retry now, keeping their place. (#169457, #169134, #167860, #167859, #168941, #169194) Thanks @Oldrich333 and @masatohoshino.
  • Telegram: polling connects again when the ingress worker runs from a source checkout or packaged plugin build, and tables next to quotes or lists keep their boundaries and values. (#154286, #154180, #168383, #168366) Thanks @xydt-juyaohui, @markfietje, @dhruv1220, and @barry-ssb.
  • Channels and voice: channels start again after a stopped-Tailscale failure, the Matrix probe stops its client after checking identity, and openclaw voicecall steer keeps stdout machine-readable JSON. (#162266, #168587) Thanks @RomneyDa.
  • Agent turns: scheduled and ordinary turns reach the configured fallback after a provider timeout, queued follow-ups that switch model clear the auto-fallback probe, cancelled queued CLI work never runs, empty stream heartbeats no longer count as model progress, malformed tool calls whose argument length is 401 or 403 are not reported as auth failures, valid tool argument union values keep their type, and plugin completions keep working after another plugin reloads. (#168605, #160440, #160428, #169303, #145850, #168500, #168450, #158974, #168916, #156026) Thanks @hxy91819, @changeroa, @RileyJJY, @TYY-2005, @r3n3x, @Shenrui-Ma, and @jalehman.
  • Claude CLI: Claude CLI models stay listed after another plugin's config changes, exec-completion turns keep their native and MCP tools, and saved session MCP server selections apply on the next turn. (#168315, #168670, #168342, #168393, #168207) Thanks @obviyus, @Oldrich333, and @dprev.
  • OpenRouter prompt caching: cache-TTL context pruning now arms for Grok and Gemini 2.5+ models on OpenRouter. (#169548, #169133) Thanks @RomneyDa and @gregb100.
  • Models and providers: API-key sign-in discovers the provider's models immediately, shared OAuth credentials refresh with historical agent stores, switching back to an OpenAI model works without the Codex plugin, timed-out Codex discovery clients are reaped, LM Studio waits for slow model loads instead of overflowing a fresh session, and credential removal during a model reload no longer leaves a restart warning. (#168617, #168957, #169412, #168365, #168044) Thanks @obviyus.
  • Model catalog memory: a long-running Gateway's model-catalog worker evaluates an unchanged installed native ESM plugin once per workspace instead of retaining another copy of its module graph on every config change, and a failed native refresh re-registers the requested config on the next request. (#169272, #169321, #159662) Thanks @obviyus, @mcooks-cmd, @RomneyDa, and @svdinu-jpg.
  • MCP computer control: computer control is released with its run, so later calls no longer fail with COMPUTERHOSTBUSY. (#151127, #147420) Thanks @ylcn91 and @vovarbv.
  • Automations: cron target and payload validation errors are reported as invalid requests, and Workboard fallback runs stay active until the overall outcome settles. (#169102, #168215, #167574) Thanks @obviyus, @skyzhao1223, and @asikorskiy.
  • Agents API sessions: saved remote sessions continue with the same session ID across binding upgrades. (#168150)
  • Large Gateways: large fleets reserve session stores without stack overflows, and process-owning Gateway stops no longer wait on native skills watcher cleanup. (#168354, #168160, #168273) Thanks @609NFT and @obviyus.
  • Updates and recovery: managed updates settle eligible stale package recovery after a lost or replaced handoff lease database and archive completed receipts before the next preparation; --dry-run only reports the planned settlement. (#169038, #167506, #167771) Thanks @mkdelta221 and @waynegault.
  • Legacy update records: 2026.9.8 package recovery records settle by identity and version after metadata drift, completed-receipt identity drift no longer blocks updates, and public repair exits nonzero with guidance when a journal stays pending. (#169027, #168856, #168388, #168092) Thanks @chedong, @k94118, and @RomneyDa.
  • Update outcomes: accepted Gateway update handoffs are not reported as failures, recorded successes stay successful with a warning about stopped channels, original failures survive unavailable cleanup reporting, repaired migrations stop producing stale warnings, package verification tolerates clock jumps, and migrated-state failures point to openclaw update repair. (#168993, #168870, #169037, #169454, #169004, #168835, #168905) Thanks @sayitfast, @hannesrudolph, and @WG-Mojo.
  • Update memory and webhooks: update children inherit the managed service's heap limits so Doctor finishes on large agent databases, and official webhook plugins deferred during candidate Doctor keep their listeners, including Teams' historical port 3978. (#168889, #168729, #169035, #168872) Thanks @bluet and @sirius1024.
  • Update runtimes: updater workers stay on the retained runtime and openclaw doctor --fix reclaims retained runtimes when the install path uses a Windows short (8.3) name or different casing, and updates no longer copy unrelated dependencies into the retained runtime. (#169292, #168927) Thanks @RomneyDa.
  • Update diagnostics: an unsealed original-state capture warning names the affected database, and a candidate config read failure warning includes its reason. (#169282, #169259, #169284, #169261) Thanks @DonnieFi.
  • Codex Ultrafast: ChatGPT sign-in sessions keep Ultrafast on resumed turns instead of dropping to Fast after the first turn. (#169265, #169264) Thanks @SanderHelgesen.
  • npm-global updates: the updater runtime keeps only OpenClaw's own dependencies instead of every unrelated package in the global node_modules. (#169551, #169373) Thanks @RomneyDa and @holgergruenhagen.
  • Update exit handling: a completed update whose result reporting fails exits with its warning instead of opening interactive failure triage. (#168587)
  • Doctor maintenance: Doctor and update repair enter maintenance on a running systemd Gateway even when checking a large state database is slow. (#168161, #168031) Thanks @obviyus and @Tosko4.

Complete contribution record
This audited record covers the complete v2026.10.5-beta.1..8ed6123845921594f4643c1914e8ceb8cfb42c07 history: 91 in-range PRs + 0 retained seed-only PRs = 91 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
Shipped baseline exclusions: v2026.10.5-beta.1 (3 PRs: #134837, #144420, #167460).
#### Pull requests
  • PR #169281 Thanks @RomneyDa.
  • PR #169292 Thanks @RomneyDa.
  • PR #169268 Thanks @RomneyDa.
  • PR #168103
  • PR #168161 Related #168031. Thanks @obviyus and @Tosko4.
  • PR #168388 Related #168092. Thanks @k94118.
  • PR #168605
  • PR #168826 Related #157814. Thanks @xiaozishan.
  • PR #168889 Related #168729. Thanks @bluet.
  • PR #168958
  • PR #169035 Related #168872. Thanks @sirius1024.
  • PR #154286 Related #154180. Thanks @xydt-juyaohui and @markfietje.
  • PR #169027 Related #168856. Thanks @chedong.
  • PR #169038 Related #167506, #167771. Thanks @mkdelta221 and @waynegault.
  • PR #169084 Thanks @RomneyDa.
  • PR #168941
  • PR #169272 Thanks @obviyus and @mcooks-cmd.
  • PR #169257 Thanks @RomneyDa.
  • PR #169321 Thanks @RomneyDa.
  • PR #169436 Thanks @RomneyDa.
  • PR #169457 Related #169134. Thanks @Oldrich333.
  • PR #168150
  • PR #168097 Thanks @RomneyDa.
  • PR #168111 Related #168066. Thanks @obviyus.
  • PR #168128
  • PR #168123
  • PR #168264 Thanks @obviyus.
  • PR #168248
  • PR #168239
  • PR #168215 Related #167574. Thanks @obviyus and @skyzhao1223 and @asikorskiy.
  • PR #167814 Related #167766. Thanks @goutamadwant and @marknilsn.
  • PR #168273 Thanks @obviyus.
  • PR #151263 Related #151055. Thanks @ruel225 and @Mirksen.
  • PR #168294
  • PR #168354 Related #168160. Thanks @609NFT.
  • PR #168315 Thanks @obviyus.
  • PR #168365
  • PR #167860 Related #167859. Thanks @masatohoshino.
  • PR #168051 Related #168015. Thanks @ruel225 and @xydigitLybnnnn and @robertoronderosjr.
  • PR #168330 Thanks @RomneyDa.
  • PR #168546 Related #164791. Thanks @flanker-stack.
  • PR #168500 Related #168450. Thanks @TYY-2005 and @r3n3x.
  • PR #158974 Thanks @Shenrui-Ma.
  • PR #168617 Thanks @obviyus.
  • PR #168383 Related #168366. Thanks @dhruv1220 and @barry-ssb.
  • PR #168120 Thanks @yetval.
  • PR #168670 Related #168342. Thanks @Oldrich333.
  • PR #168725
  • PR #151127 Related #147420. Thanks @ylcn91 and @vovarbv.
  • PR #142700 Thanks @giodl73-repo and @giodl73.
  • PR #158160 Related #142847. Thanks @Dimitri-lcht and @igs-rogenlo.
  • PR #168927
  • PR #161980 Related #151622. Thanks @Program-123 and @gaojian125.
  • PR #168930 Related #168748, #168749. Thanks @ezimerman.
  • PR #168938 Related #168838. Thanks @harshitgupta31415 and @WG-Mojo.
  • PR #168957 Thanks @obviyus.
  • PR #168993 Related #168870. Thanks @sayitfast.
  • PR #169004 Related #168835. Thanks @WG-Mojo.
  • PR #169029 Related #168567. Thanks @wangmiao0668000666.
  • PR #169037
  • PR #136677 Related #134354. Thanks @harjothkhara and @abacha.
  • PR #168916 Related #156026. Thanks @jalehman.
  • PR #168977
  • PR #169130 Thanks @RomneyDa.
  • PR #169194
  • PR #169225 Thanks @RomneyDa.
  • PR #169238 Thanks @RomneyDa.
  • PR #145850 Thanks @RileyJJY.
  • PR #169303 Thanks @changeroa.
  • PR #169397
  • PR #169412 Thanks @obviyus.
  • PR #169454 Thanks @hannesrudolph.
  • PR #169516 Thanks @RomneyDa.
  • PR #169479 Thanks @RomneyDa.
  • PR #168651
  • PR #168044
  • PR #168446 Related #168131. Thanks @jakeaadams.
  • PR #168164 Thanks @obviyus.
  • PR #168393 Related #168207. Thanks @dprev.
  • PR #160440 Related #160428. Thanks @hxy91819.
  • PR #169102
  • PR #169430
  • PR #162266 Thanks @RomneyDa.
  • PR #168905
  • PR #168587
  • PR #169265 Related #169264. Thanks @SanderHelgesen.
  • PR #169282 Related #169259. Thanks @DonnieFi.
  • PR #169284 Related #169261. Thanks @DonnieFi.
  • PR #169548 Related #169133. Thanks @RomneyDa and @gregb100.
  • PR #169551 Related #169373. Thanks @RomneyDa and @holgergruenhagen.
  • PR #169560 Related #169332. Thanks @RomneyDa and @farisoftfry.

Release verification
  • npm package: https://www.npmjs.com/package/openclaw/v/2026.10.5-beta.2
  • registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.10.5-beta.2.tgz
  • integrity: sha512-9OgCXW1ZUmMdBdtojEIp7P9qRh9hTHhTARNQfTLPTtKQViuNenvcjgJh6JaJsZx9b20J0FL4qXA4q1dkw795eg==
  • release SHA: 467e83dea27c0d9ade8e999d688de2ed656b2225
  • full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.10.5-beta.2/release-evidence.md
  • release publish: https://github.com/openclaw/openclaw/actions/runs/38244441645
  • npm preflight: https://github.com/openclaw/openclaw/actions/runs/38227708658
  • full release validation: https://github.com/openclaw/openclaw/actions/runs/38226906077
  • plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/38245185150
  • plugin ClawHub publish: no normal OIDC candidates
  • plugin ClawHub bootstrap: not needed
  • OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/38241099968/attempts/1
  • npm Telegram beta E2E: not supplied

2026.10.2
Highlights
  • Updates from 2026.10.1: the first upgrade from stable 2026.10.1 now completes cleanly, successful in-place updates no longer end in errors, and Windows, cloned-filesystem, and private-Node update paths finish instead of stalling or rolling back. (#168849, #169031, #165233, #166530, #168968, #164677, #165257) Thanks @RomneyDa, @jarvisnextgeneration20-lang, and @MrJanvar.
  • Doctor and update recovery: Doctor no longer stops on residual legacy imports, stale Gateway locks, slow state inspection, memory reindex locks, or allowlists for removed channel accounts, and stale-receipt sessions keep their current data. (#166397, #165355, #165417, #168161, #166517, #167651, #165775) Thanks @coolcoolwcr, @obviyus, @Tosko4, @noelff, @oshunter, @donquiche61, and @RomneyDa.
  • Provider-native compaction: OpenAI and Anthropic API-key routes now default to provider-native compaction, and compaction recovers when the primary auth profile is cooling down. (#168164, #166459) Thanks @obviyus and @hawkit.
  • Secret redaction: credentials that cross a chunk boundary in long tool output are now masked, and redaction of large text no longer stalls or overflows the stack while running several times faster. (#161480, #166701, #167943) Thanks @eleqtrizit.
  • Prompt-cache stability: Anthropic conversation checkpoints, enriched user prompts, tool results, and inter-session provenance stay byte-identical across follow-ups, replays, Gateway restarts, and subagent completions, so cached prefixes keep hitting. (#168042, #167938, #168392, #167898, #169130, #169238) Thanks @RomneyDa.
  • Gateway responsiveness: Control UI reconnects, model changes with large plugins, dashboard title work, and catalog loading no longer freeze the Gateway or hang new sessions. (#167374, #161267, #162689, #166089, #166376) Thanks @jalehman, @obviyus, @ericcaiwx-star, @cursoragent, @dimonnld, and @dprev.

Changes
  • Defaulted OpenAI and Anthropic API-key routes to provider-native compaction. (#168164) Thanks @obviyus.
  • Reported finalized update successes and suppressed channels as warnings instead of failures. (#169037)
  • Stopped live npm dist-tag drift from failing already-validated release candidates. (#168836) Thanks @RomneyDa.

Fixes
  • Fixed credential leaks across redaction chunk boundaries and redaction stalls on large tool output. (#161480) Thanks @eleqtrizit.
  • Fixed replies lost while an agent finishes starting, streamed Telegram replies vanishing when the replacement message never lands, and Telegram treating local owner rejection as ambiguous delivery. (#168826, #164649, #167470) Thanks @xiaozishan, @jayzhou2309, @obviyus, @jmar5439, and @mgr-nick.
  • Fixed Claude CLI sessions showing runtime prompts as user messages, routed CLI prompts appearing on the owner's side of history, lost replies after long streamed turns, and post-turn compaction failing without an Anthropic API key. (#166080, #163521, #153545, #162066) Thanks @Marvinthebored, @Peetiegonzalez, @RomneyDa, @rogeriochaves, @zhangguiping-xydt, @obviyus, @methylester, @llmsommelier, and @ajmtrz.
  • Fixed subagent and ACP answers being truncated, superseded child answers delivered by late receipts, and requester turns stopping when completion delivery expires. (#165800, #162843, #166139, #164282) Thanks @yetval, @holgergruenhagen, @zyz619963502zyz, @Yun-0000, @michaeljgood71, @Oldrich333, and @obviyus.
  • Fixed runs aborted as stalled after completed async tools or while waiting on plugin approval, context-engine advancement lost after steering, and the tool loop refilling from the wrong context window. (#166997, #161821, #168394, #166120) Thanks @SunnyShu0925, @hannesrudolph, @fransqaas, @obviyus, @robertoronderosjr, @ruel225, and @igs-rogenlo.
  • Fixed OpenAI turns failing on regex-lookaround tool schemas, ChatGPT websocket expiry and 16 MiB SSE limits, strict chat templates after runtime notices, and Code Mode calls with repeated tool-call IDs. (#166999, #167063, #166853, #167309, #165210) Thanks @scs0209, @cursoragent, @obviyus, @adamjgmiller, @Jackten, @jlapenna, and @RomneyDa.
  • Fixed Codex sessions stopping after thread unloads, leaked app-server clients after model discovery timeouts, provider failures shown as a silent stop, and max thinking dropping on cron and hook turns. (#166693, #168365, #165488, #165444) Thanks @jalehman, @Oldrich333, and @obviyus.
  • Fixed sessions failing every turn after a truncated image, the agent disowning earlier image answers, and memorysearch snakecase arguments being rejected through tool_call. (#166564, #166165, #158632) Thanks @jayzhou2309, @mirasrael, @nogikeyaksh, @masatohoshino, and @obviyus.
  • Fixed scheduled cron runs losing the Gateway plugin registry, manual cron runs losing tool access, runs rejected after catalog publication, and preflight compaction skipped for completion turns. (#166991, #168037, #168410, #163117) Thanks @67-luck, @lucianosmori, @obviyus, @RomneyDa, @SunnyShu0925, and @AXEG0.
  • Fixed the Control UI hold-to-dictate button stopping on release, typed /stop letting queued turns restart the agent, repeated browser replies after background work, and pending Home creation notices piling up. (#166843, #167860, #166362, #168239) Thanks @alfredjbclaw, @obviyus, @masatohoshino, and @shakkernerd.
  • Fixed update failures from absolute avatar paths, refused finalize steps leaving the Gateway stopped, and the SQLite worker launch error hidden behind a TypeError. (#164638, #166548, #165373) Thanks @nitinjwadhawan and @Shirleyyyhk.
  • Fixed worker capacity leaks after forced descendant cleanup and browser tab eviction at the managed tab cap. (#168746, #166666) Thanks @aniruddhaadak80, @ruel225, and @obviyus.
  • Fixed Feishu replaying obsolete streaming previews, Bedrock custom provider routes using the wrong region, the egress proxy CA rejected by strict TLS clients, and quoted Windows shell arguments in the node host. (#166610, #164406, #165818, #158160) Thanks @rudycelekli, @Takhoffman, @Ayushdevo, @obviyus, @kai-ocean-kurt, @vortexopenclaw, @RyanSandoval, @Dimitri-lcht, and @igs-rogenlo.
  • Fixed macOS crashes: the Swift compiler crash in the sidebar picker, Rosetta segfaults, Intel worker startup, and managed llama.cpp setup on macOS below 13.3. (#165573, #165088, #161876, #163358) Thanks @shakkernerd, @NovaUnboundAi, @VACInc, and @xXG0DLessXx.
  • Logged update config fallback diagnostics as warnings and unblocked production lint suppression checks. (#165539, #166841) Thanks @Patrick-Erichsen.

Complete contribution record
This audited record covers the complete v2026.10.1..64cec484d6b34d913854b6fa965635c272a1533f history: 85 in-range PRs + 0 retained seed-only PRs = 85 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
#### Pull requests
  • PR #165573 Related #165560. Thanks @shakkernerd.
  • PR #165233
  • PR #166397 Related #166204. Thanks @coolcoolwcr.
  • PR #166459 Related #166436. Thanks @hawkit.
  • PR #166530
  • PR #166548 Related #166509. Thanks @Shirleyyyhk.
  • PR #166610 Thanks @rudycelekli and @Takhoffman.
  • PR #166693 Thanks @jalehman.
  • PR #166999 Related #166877. Thanks @scs0209 and @cursoragent and @obviyus and @adamjgmiller.
  • PR #166666 Thanks @ruel225 and @obviyus.
  • PR #166564 Related #166515. Thanks @jayzhou2309 and @mirasrael.
  • PR #167063 Related #166708. Thanks @Jackten.
  • PR #166853 Thanks @Jackten.
  • PR #166997 Related #166770. Thanks @SunnyShu0925 and @hannesrudolph.
  • PR #167309 Related #167305. Thanks @jlapenna.
  • PR #166991 Related #166756. Thanks @67-luck and @lucianosmori.
  • PR #166843 Related #166842. Thanks @alfredjbclaw and @obviyus.
  • PR #167374 Thanks @jalehman.
  • PR #161267 Thanks @obviyus.
  • PR #167470 Related #167416. Thanks @obviyus and @mgr-nick.
  • PR #168037 Thanks @obviyus.
  • PR #168239
  • PR #168365
  • PR #167860 Related #167859. Thanks @masatohoshino.
  • PR #168410 Thanks @RomneyDa.
  • PR #168746 Related #160643. Thanks @aniruddhaadak80.
  • PR #168394 Related #168014. Thanks @robertoronderosjr.
  • PR #168826 Related #157814. Thanks @xiaozishan.
  • PR #164649 Related #164610, #164611. Thanks @jayzhou2309 and @obviyus and @jmar5439.
  • PR #164282 Related #164141. Thanks @Oldrich333 and @obviyus.
  • PR #165088
  • PR #161876
  • PR #153545 Related #150132. Thanks @zhangguiping-xydt and @obviyus and @methylester.
  • PR #162689 Related #162420. Thanks @ericcaiwx-star and @cursoragent and @obviyus and @dimonnld.
  • PR #164638 Thanks @nitinjwadhawan.
  • PR #161821 Thanks @fransqaas and @obviyus.
  • PR #163117 Related #162853. Thanks @SunnyShu0925 and @AXEG0.
  • PR #158632 Related #158631. Thanks @masatohoshino and @obviyus.
  • PR #158160 Related #142847. Thanks @Dimitri-lcht and @igs-rogenlo.
  • PR #162066 Related #153174. Thanks @rogeriochaves and @llmsommelier and @RomneyDa and @ajmtrz.
  • PR #164406 Related #164379. Thanks @Ayushdevo and @obviyus and @kai-ocean-kurt.
  • PR #164677 Related #164525. Thanks @jarvisnextgeneration20-lang.
  • PR #165257 Related #164113. Thanks @MrJanvar.
  • PR #165355 Related #165214.
  • PR #165373
  • PR #166089 Related #166084. Thanks @ericcaiwx-star and @obviyus.
  • PR #163358 Related #128879. Thanks @NovaUnboundAi and @VACInc and @xXG0DLessXx.
  • PR #166376 Related #161409. Thanks @dprev.
  • PR #166517 Related #166450. Thanks @noelff.
  • PR #167651 Related #134570. Thanks @oshunter.
  • PR #165210
  • PR #165444 Related #164812. Thanks @Oldrich333 and @obviyus.
  • PR #166362 Related #166344. Thanks @shakkernerd.
  • PR #165818 Related #139151. Thanks @vortexopenclaw and @RyanSandoval.
  • PR #166165 Related #166134. Thanks @jayzhou2309 and @nogikeyaksh.
  • PR #165800 Related #162777. Thanks @yetval and @holgergruenhagen.
  • PR #162843 Related #162777. Thanks @zyz619963502zyz and @yetval and @holgergruenhagen.
  • PR #166139 Related #142850. Thanks @Yun-0000 and @michaeljgood71.
  • PR #166120 Related #166076. Thanks @ruel225 and @igs-rogenlo.
  • PR #165488
  • PR #163521 Thanks @rogeriochaves.
  • PR #166080 Thanks @Marvinthebored and @Peetiegonzalez and @RomneyDa.
  • PR #168851 Thanks @RomneyDa.
  • PR #161480 Thanks @eleqtrizit.
  • PR #166701
  • PR #167943
  • PR #165775 Related #158239. Thanks @donquiche61.
  • PR #168161 Related #168031. Thanks @obviyus and @Tosko4.
  • PR #168164 Thanks @obviyus.
  • PR #168849 Thanks @RomneyDa.
  • PR #168968 Thanks @RomneyDa.
  • PR #166841
  • PR #168569 Related #168014. Thanks @robertoronderosjr.
  • PR #165417
  • PR #168042
  • PR #168392
  • PR #167938
  • PR #167898
  • PR #169130 Thanks @RomneyDa.
  • PR #165539 Thanks @Patrick-Erichsen.
  • PR #169238 Thanks @RomneyDa.
  • PR #169225 Thanks @RomneyDa.
  • PR #169031 Thanks @RomneyDa.
  • PR #169037
  • PR #168836 Thanks @RomneyDa.

Release verification
  • npm package: https://www.npmjs.com/package/openclaw/v/2026.10.2
  • registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.10.2.tgz
  • integrity: sha512-FuLLF+WI12ypwQ0r+pcKDcmB+kXus5N4QClaKEnaAn6GN4I1AitkOhwv0GFl2rVKpvuUBDQWIfglHNy6Trv/EQ==
  • release SHA: b8952d477f0c932d8ddc6da5c89cab5a169b6ff1
  • full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.10.2/release-evidence.md
  • release publish: https://github.com/openclaw/openclaw/actions/runs/38206442814
  • npm preflight: https://github.com/openclaw/openclaw/actions/runs/38181105939
  • full release validation: https://github.com/openclaw/openclaw/actions/runs/38180680775
  • plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/38206893097
  • plugin ClawHub submission: https://github.com/openclaw/openclaw/actions/runs/38206895444; 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/38207115053
  • npm Telegram beta E2E: not supplied
  • Android APK: skipped — apps/android/version.json is 2026.8.2, release train is 2026.10.2; run pnpm android:version:pin -- --from-gateway before the next tag.

2026.10.5-beta.1
Highlights
  • Safer updates: updates finish across devices, filesystems, Windows elevation, and interrupted activations, and recover from stale leases or changed evidence instead of stranding the install or blocking future updates. (#164636, #164769, #165257, #165863, #166548, #166695, #168043, #166394, #167302) Thanks @hrp6vv9mwr-glitch, @MrJanvar, @Shirleyyyhk, @farisoftfry, @neilofneils404, and @shanselman.
  • Restart-safe conversations: interrupted turns, first messages during worktree preparation, and deferred tasks resume after a Gateway restart, and user input and committed session data survive restarts, concurrent writes, and failed publications. (#165333, #166042, #165184, #166238, #165502, #167570, #163258, #166010, #167662) Thanks @masatohoshino, @goutamadwant, and @hawkit.
  • Faster, steadier Gateway: session, transcript, history, and metadata reads move onto worker threads with far less SQLite work per turn, and startup maintenance runs after readiness so busy Gateways stay responsive. (#164744, #165470, #165614, #166587, #167194, #164779, #165028, #166041, #167278, #165993) Thanks @obviyus.
  • Reliable turns and subagents: turns recover from stalled streams, reused tool-call IDs, and expired ChatGPT websockets, incomplete turns end with a visible notice, and subagent results keep returning through follow-ups, restarts, and expired delivery windows. (#165983, #167013, #165212, #167063, #167972, #164282, #168068, #166846, #166139, #165987) Thanks @cestercian, @Irish-Joseph, @rmyers64, @sszyh2026, @Jackten, @Oldrich333, @obviyus, @stackingrockss, @Yun-0000, @michaeljgood71, and @LifeViwer.
  • X channel: answer X (Twitter) mentions through a new channel plugin with streaming, guest mode for repository questions, and enforced API cost limits. (#165138, #165337, #165354, #165351)
  • Voice calls: voice calls gain per-call briefs, call reports, live steering, callbacks, and voicemail detection. (#165716) Thanks @mbelinky and @jacobtomlinson.
  • Smarter model pickers: pickers lead with each provider's recommended models, show newly listed Claude, ChatGPT, and Ollama models without waiting for an OpenClaw release, and stay responsive while catalogs load. (#167370, #166737, #167658, #167387, #167463, #165989) Thanks @obviyus, @DonnieFi, and @dprev.
  • ClawHub in the Gateway: browse and search ClawHub plugins and skills from the Gateway, and plugins automatically pick the newest official release your OpenClaw supports. (#163459, #167485, #166588) Thanks @jacobtomlinson and @charlesBerg-ux.

Changes
  • Sessions: allow directed sends to a session without granting transcript access. (#164444)
  • Worker-local inference: add a native worker inference runtime with Gateway dispatch, client placement, required worker policy and destination checks before local inference, and clear setup-failure explanations. (#158902, #163645, #163646, #163647, #166611, #166613, #165960) Thanks @RomneyDa.
  • Public threads: open public threads at their regular links. (#166049)
  • Subagent progress: count running subagents on the working line, name launched subagents in the operations group, and continue a resumed answer in the block that handed off. (#165477, #165725, #165542) Thanks @shakkernerd.
  • X channel: add the X (Twitter) mentions channel plugin with Activity API streaming and backfill, repository-question guest mode with hidden same-agent helpers, GitHub-verified repository writers, and daily and monthly X API cost limits. (#165138, #165337, #165376, #165354, #165543, #168071, #165351) Thanks @obviyus.
  • Automation repair: let a failing automation's owner conversation repair it before alerting, give a second repair turn when the error changes, and post a clear warning when a repair turn times out. (#161007, #162702, #162772) Thanks @obviyus.
  • Channel progress: show useful Telegram and Discord progress by default, add per-tool glyphs to Discord progress drafts, restore per-tool emoji on Telegram tool rows, and hide routine Slack reaction rows. (#166861, #168032, #167392, #166880) Thanks @obviyus, @keshavbotagent, and @notmnp.
  • Skills: keep learned skills focused on repeatable procedures rather than facts or codebase knowledge, and keep longer legacy Workshop skills manageable. (#167404, #167639) Thanks @obviyus.
  • Memory: explain why trigger recall is skipped and why embedding responses are rejected, and report managed Ollama and LM Studio embedding readiness. (#164409, #168035, #156483) Thanks @Ayushdevo, @wangmiao0668000666, and @obviyus.
  • Models and catalogs: show each provider's recommended models first in pickers, publish curated per-provider recommendations in catalog v2, lead NVIDIA recommendations with its featured models, and apply downloaded catalogs without a Gateway restart. (#167370, #166737, #167989, #158000) Thanks @obviyus.
  • Anthropic and Claude CLI: support Claude Haiku 5.5, show newly listed Claude models without waiting for an OpenClaw release, list each Claude CLI model once, and keep logged-out Claude CLI models listed with a login reason. (#166706, #167658, #166311, #166338, #167942) Thanks @RomneyDa and @obviyus.
  • OpenAI: support custom realtime voice endpoints, show account chat models missing from the manifest, surface new ChatGPT-login models without a release, and stop offering ChatGPT-only or bundled-Codex-rejected models that would fail. (#165632, #162563, #167387, #167633, #167975) Thanks @jacobtomlinson and @obviyus.
  • Tool rows and subagent progress: show Tool Search calls in native tool rows with shared tool icons across clients, show the subagent wait in place without handoff markers, and guide users after HTTP 400 prompt-size rejections. (#165095, #165378, #159712) Thanks @shakkernerd and @sunlit-deng.
  • Voice calls: add per-call briefs, call reports, live steering, callbacks, and voicemail detection to voice calls. (#165716) Thanks @mbelinky and @jacobtomlinson.
  • Control UI subagents: show when a chat is waiting on subagents, open the Subagents panel from the chat's subagent count and names, and surface child failures and attention in the parent chat. (#164190, #166142, #166224, #166312, #166347) Thanks @shakkernerd and @vincentkoc.
  • Control UI customization: let themes customize Control UI branding, use agent avatars or unlocked Lobsterdex icons for browser tabs, choose favicon shapes, and add seven Lobsterdex character variants. (#168027, #165201, #166325, #167809, #159815) Thanks @vyctorbrzezowski, @jacobtomlinson, and @hannesrudolph.
  • Terminal: add configurable terminal fonts with built-in Nerd Font icons. (#166180) Thanks @jacobtomlinson.
  • Control UI navigation: copy file paths from chat tooltips, pin agents directly from the switcher, make agent menus easier to scan, let users hide a session's branch PR row, and simplify optional question cards. (#164431, #165640, #165641, #166366, #168040, #150587) Thanks @jjjhenriksen, @vyctorbrzezowski, and @RomneyDa.
  • Skill Workshop: show each skill with its changes, files, and history in one view. (#167440) Thanks @obviyus.
  • iOS: connect the Gateway through native Cloudflare Access with app-owned browser and profile admission. (#147244, #147238) Thanks @vincentkoc, @Solvely-Colin, @Patrick-Erichsen, and @RomneyDa.
  • ClawHub: browse and search ClawHub plugins and skills through the Gateway. (#163459) Thanks @jacobtomlinson.
  • Plugins: let plugin tools deliver their finished reply without a second model turn, allow every loaded plugin its own state and ingress queues and queue modes, and select plugin-owned self-hosted executors. (#164558, #165063, #165965, #161609) Thanks @mbelinky and @sjf-oa.
  • Plugins: pick the newest official plugin release the running OpenClaw supports and keep a working plugin when its matching release is unavailable. (#167485, #166588) Thanks @charlesBerg-ux.
  • Workboard: pin, unpin, and delete boards from the sidebar, keep card notes selectable with a roomier notes editor, and keep column edits on rename. (#165020, #166625, #167348) Thanks @rogeriochaves, @llmsommelier, and @obviyus.
  • GitHub: support asynchronous PR merges and compact the Publish PR card. (#163579, #165219) Thanks @vincentkoc.
  • Session performance: serve per-turn session projections, entry reads, authority checks, compaction reads, and first-turn headers from worker threads to keep the Gateway main thread responsive. (#164779, #165028, #165205, #165406, #165401, #165581, #165819, #165027, #165367, #164747, #164989, #165073)
  • Session list and search performance: stop Control UI list refresh bursts, bound list materialization, scope and prefilter transcript search, speed up cold suggestion lists, and retain previews across metadata edits. (#162280, #164764, #165080, #165089, #165570, #165150, #165834, #165096, #165932, #166635, #165887, #167909)
  • Turn database performance: reduce SQLite statements, worker requests, and redundant reads per chat turn, batch snapshot and metadata queries, and reuse admitted schema and reader facts. (#164490, #166041, #166053, #166054, #166074, #166102, #166541, #166503, #166519, #166698, #167278, #167686, #167685, #167690, #167932, #167046, #166966, #166925, #167291, #166703, #167029, #165360, #165193)
  • State database performance: speed up cold agent database admission and crash recovery, reuse integrity checks on clean restarts, stop reopening executors when switching agents, and release leases promptly during shutdown. (#164846, #165070, #165186, #165293, #165680, #166112, #165993, #167001, #168008, #164788, #164962, #165085, #165910, #166822)
  • Maintenance and history performance: lighten idle and manual maintenance, lifecycle cleanup, archive, reset, and trajectory retention work, and speed history reads with nested tool activity. (#164851, #164755, #164938, #165081, #165082, #165254, #165090, #165074, #165274, #165678, #167268, #167070, #167549, #167643, #168013, #167449, #165221, #165181, #165093, #165086, #165111, #165377, #165495, #165909, #166069, #166631, #166778, #166804, #167434, #167915, #167959) Thanks @Patrick-Erichsen and @obviyus.
  • Agent performance: reduce retained heap, per-turn prompt allocations, transcript reads, and main-thread SQLite work during runs, preserve prompt cache across instruction refreshes and image cleanup, and reuse verified history images across turns. (#167454, #167922, #167682, #167547, #167698, #167613, #167355, #167938, #165142, #165404, #167282, #164685, #165012, #165410, #165370, #165552) Thanks @RomneyDa.
  • Model catalog performance: speed up multi-provider catalog refreshes, avoid discovery on cold account reads and unrequested plugin catalogs, retain account catalogs during refresh, and reduce catalog worker heap. (#167101, #167334, #167359, #167009, #167008, #166007, #166434, #165911, #165708, #165547, #165034, #165491, #166602) Thanks @vincentkoc, @obviyus, and @xialonglee.
  • Subagent and ACP performance: reduce startup registry restore latency, move bulk registry work off the Gateway thread, batch registry cohorts, and avoid full-session scans when resuming ACP sessions. (#165942, #165684, #165098, #167684, #167010, #167372, #165550, #167086)

Fixes
  • Session data safety: preserve user input and committed facts through restart recovery and failed publication, keep accepted locked appends settled before releasing the writer, and fence cross-store worker commits. (#165502, #167570, #165894, #168018, #168029)
  • Session authority and privacy: check caller authority before restoring cold history for compaction, keep authority current after committed session changes, reject malformed hook session keys, and hide pre-session edits to branch-added files from uncommitted diffs. (#166506, #167875, #166406, #164671) Thanks @yetval and @obviyus.
  • Session cleanup: remove leftover GitHub publication receipts and managed worktrees on cleanup and Incognito reset, and publish conversation, plugin-state, sandbox, worktree, and GitHub authority receipts. (#163833, #165185, #167731, #168025) Thanks @jayzhou2309 and @obviyus.
  • Turn reliability: recover agent turns when the database worker exits mid-operation, stop unrelated session writes from failing Codex and chat turns, keep Knowledge calls working while a session publishes its bookkeeping, and stop group turns from failing silently when history cannot load. (#163258, #165196, #166010, #166758, #135253, #166059) Thanks @goutamadwant, @hawkit, @jalehman, and @izshaw.
  • Restart recovery: settle sessions left running after restart, avoid duplicate recovery after ordinary interruptions, keep recovery reconciliation on the host, and preserve database admission, custody, and hook retries for post-restart and first-session turns. (#165174, #154175, #166395, #166867, #166609, #167629, #165859, #165738, #166891) Thanks @Grynn and @RomneyDa.
  • Agent and session creation: fix concurrent first requests for a new agent, cold shared-store and fresh-store creation failures, and agent database recovery after orphan session window repair. (#166003, #167257, #167515, #167366, #166860)
  • Windows and path aliases: canonicalize the shared state database path and compare link-stable identities so Windows and POSIX path aliases share one store, custody, and channel lifecycle. (#166755, #165775, #166062, #166462, #166787) Thanks @taihartman, @donquiche61, @RomneyDa, and @ericcaiwx-star.
  • SQLite deadlocks and stalls: prevent writer-reader admission and cleanup deadlocks, keep committed reads responsive during writer stalls, stop writer-held transcript reads waiting on readers, and keep foreign changes visible during refresh. (#167662, #167446, #167901, #167687, #166331, #165898, #167332) Thanks @sasan1200 and @vincentkoc.
  • State and updates: stop leftover update-check caches and completed recovery history from blocking updates, and give one actionable answer for state written by a newer release while keeping status reads read-only. (#165461, #167358, #166963) Thanks @RomneyDa.
  • Startup and integrity checks: return pending admission during startup index repair, retain integrity proof through startup and idle retirement, stop early lease timers on long delays, avoid false state ownership loss on Bun, and stop healthy starts logging SQLite lock-wait warnings. (#165323, #166972, #166412, #167467, #167669, #167754, #166253, #168310) Thanks @RomneyDa.
  • Session search and history: search transcripts for configured ACP owners, stop false indexing notices, keep search parallel with accurate indexing, preserve dot-prefixed checkpoint references and CLI history after interrupted progress replies, and keep canonical transcript owners distinct. (#164897, #165879, #167174, #167163, #164920, #166658, #164512) Thanks @sunlit-deng, @obviyus, @techdou, @shakkernerd, and @VACInc.
  • Session display: stop Markdown link markup leaking into previews, show correct context windows for plugin-discovered models, log failed wakes with their target, keep owning agents in lifecycle commands and trajectory export, and decode UTF-16 BOM text files. (#166653, #159731, #166458, #166415, #165777) Thanks @jayzhou2309, @obviyus, @rudycelekli, @Yigtwxx, and @yetval.
  • Startup ordering: stop agents with small transcript rebuild backlogs from waiting behind larger agents at startup. (#165207)
  • Security boundaries: fail closed on unresolved A2A peer token references and when the process census cannot prove a temp root is unused, and reject incompatible worker prompt contexts before launch. (#165021, #165079, #166268) Thanks @eleqtrizit, @Dhotei, @vincentkoc, and @obviyus.
  • Data integrity: reject malformed UTF-8 backup manifests before verification, preserve malformed UTF-8 and trailing-space connect targets, and keep accents in named legacy text attachments. (#167389, #167399, #167116, #165405) Thanks @Alix-007, @obviyus, and @Chessing234.
  • Restart recovery: resume Control UI turns interrupted by a Gateway restart, keep a new session's first message when the Gateway restarts during worktree preparation, resume tasks after deferred startup recovery, pause restart recovery while the crash-loop breaker is tripped, and settle restart intents and update reports in workers. (#165333, #166042, #165184, #166238, #167572, #165069, #165670) Thanks @masatohoshino.
  • Turn lifecycle: publish one terminal event per stopped or runtime-lost run, settle terminal runs before session mutations, keep queued message run ids and replies aligned, and prevent internal recovery errors after queued turns. (#165483, #167383, #166784, #166981, #165996, #164656) Thanks @RomneyDa.
  • Stop and steering: stop yielded commands with their Gateway request, retire stopped continuations, allow wakes after stopped commands, preserve running tools when steering receipts are uncertain, show accepted steering messages in order, and hold steering during worktree creation until the task finishes. (#166753, #166775, #166968, #166754, #168099, #165462, #165537) Thanks @shakkernerd and @RomneyDa.
  • Queue fairness: prevent background starvation under sustained traffic, avoid stalled turns when diagnostics throw, keep permit waiters until their real deadline, and cancel queued host callbacks at task deadlines. (#167683, #167733, #165359, #167740) Thanks @Chessing234.
  • Chat delivery: deliver activity-summary updates after compaction, hide managed media directives in CR-only replies, keep node completion follow-ups in their originating conversation, preserve live node approval handoffs, and stop false Yield failed warnings in group chats. (#165024, #164657, #160675, #166971, #161154, #166396) Thanks @ly85206559, @obviyus, and @brokemac79.
  • Session creation: keep new sessions working while other local turns start or finish, recognize agents immediately after agents.create, keep parent-only sessions bound to their agent, and bind required worker sessions during workspace binding. (#165984, #167894, #165929, #167162) Thanks @alkor2000, @markstones78, and @RomneyDa.
  • Chat history: stop endless retries for sessions in skipped agent stores, return anchored history for pre-reset Claude CLI-bound messages, retain tool history details and channel startup context, and keep generated and truncated session titles UTF-16 safe and balanced. (#165408, #166578, #164848, #141240, #167584) Thanks @obviyus, @VACInc, @sjf-oa, @sjf, @hugenshen, and @cursoragent.
  • Claude CLI and helper calls: keep claude-cli session tools and later CLI bridge calls working after the starting turn ends, route shorthand Anthropic CLI auth refs correctly, keep the session observer working on CLI-backed utility models, and keep OpenClaw helper calls working across runtime changes. (#165432, #165428, #84374, #162067, #166235) Thanks @Oldrich333, @Leit-motif, @nano-richtera, @joshavant, @obviyus, @rogeriochaves, @llmsommelier, and @PollyBot13.
  • Models and catalog: keep Codex selectable after startup and deferred agent startup, recheck models after failed catalog recovery, stop catalog continuations hanging while models load, and keep OpenRouter and LM Studio thinking levels intact. (#165979, #166081, #162901, #166089, #166705, #164478, #164597) Thanks @scotthuang, @ericcaiwx-star, @obviyus, @ooiuuii, and @VACInc.
  • Usage and metrics: report usage for silent replies, estimate context when compatible streams omit usage, include background utility completions in token and cost metrics, and keep usage ranges ordered when the host skipped a date. (#152396, #166151, #167986, #165523, #164140) Thanks @ly85206559, @obviyus, @MutenCath, @fede-kamel, @ericcurtin, @etzelm, @SashaMIT, and @DasX.
  • Startup and readiness: show startup failures even when cleanup fails, stop small agents waiting on larger agents, prevent public chat 503s and stalls after startup, avoid failures during temporary state contention, and stop Gateway start reporting success before an existing process is ready. (#164500, #165107, #167604, #167544, #166111, #166942, #167697, #167674) Thanks @sunlit-deng, @obviyus, @waynegault, @NianJiuZst, @ericcaiwx-star, @mashaohua1999-stack, and @RomneyDa.
  • Plugins and restarts: stop treating restarts as plugin removal, retry stuck plugin reloads once their work settles, keep Control UI reconnects from freezing the Gateway during plugin reloads, and ship hidden external plugin chunks to cloud workers. (#164975, #164894, #167374, #165669) Thanks @obviyus, @jalehman, @LiuwqGit, and @JakeBotFleet.
  • Status and diagnostics: stop deep status blaming config for an unreadable state database, report startup migrations and channel logouts accurately, surface startup failures over unrelated log lines, use plain language for diagnostic checks, stop recommending onboarding for runtime failures, and report signal-terminated node commands. (#167352, #167723, #167478, #166946, #165742, #166234, #165116, #165358, #165426) Thanks @RomneyDa, @PollyBot13, @obviyus, @Colton-Harris, and @shakkernerd.
  • Daemon and platforms: recover disabled Windows Gateway tasks from Doctor, restore gateway stop, restart, and update on macOS 12, avoid versioned pnpm launcher paths, keep exec and MCP servers working after a Homebrew Node upgrade, and reconnect Apple clients promptly after network changes. (#164728, #163317, #167905, #166222, #166430, #168024) Thanks @NovaUnboundAi, @xXG0DLessXx, @RomneyDa, @SMF12138, @jayzhou2309, and @mightyx.
  • Networking: restore managed portals on large Tailscale tailnets, keep verified Tailscale GitHub users signed in during GitHub rate limits, stop interrupted Tailscale serve processes, emit TLS key identifiers for strict egress proxy clients, recover proxy requests instead of one-token replies, and bound unattributable proxy warnings. (#165507, #166254, #167514, #165818, #167878, #134404) Thanks @obviyus, @redasadki, @pandysp, @vortexopenclaw, @RyanSandoval, @jacobtomlinson, @amittell, @lzhan011, and @abacha.
  • Workers and processes: stop repeated worker starts after initialization failure, keep workspace recovery running during unrelated writes, stop background execs outliving cleanup, load source workspace workers from external directories, release settled work blocking suspension, and avoid heap-check stalls in busy Bun Gateways. (#165277, #166375, #166478, #166606, #165871, #167184, #166104, #166608, #162124) Thanks @Oldrich333, @RomneyDa, @michaelswissa, and @obviyus.
  • Gateway behavior: encode Ctrl+Space and modified function keys in send-keys, collapse finished processes by default, cap oversized policy watch intervals, keep slow WebSocket response logs and stop listener buildup, keep OpenAI-compatible cancellations from blaming the provider, and explain protected credential execution limits. (#164688, #164776, #164850, #164772, #165052, #167995, #167976) Thanks @yetval, @obviyus, @shakkernerd, @KrasimirKralev, @etzelm, and @RomneyDa.
  • Integrations: parse Firecrawl source-specific results, report ComfyUI workflows without outputs, validate meeting timeouts, stop Mattermost retrying permanent refusals, and include jobId in agent_end hook context for scheduled runs. (#155885, #166249, #158695, #167244, #167124, #158632) Thanks @qingminglong, @obviyus, @chelsealong, @catnipluss, @Alix-007, @Leon-SK668, @xyrolle, and @masatohoshino.
  • Workspaces: reconcile root node workspaces and surface failures, reject timed-out workspace inventory commands, keep dashboard title work from blocking session rollover, and allow Claw removal with a running Gateway. (#166441, #167673, #162689, #166889) Thanks @ericcaiwx-star, @cursoragent, @obviyus, and @dimonnld.
  • Session reads: keep chat admission responsive and bound to current authority, refresh placement reads after concurrent publication, skip agent stores no configured agent owns, isolate session-worker receipts, and avoid an unavailable flash when refreshing conversations. (#164682, #165166, #164929, #165904, #167097, #167689, #165468) Thanks @galiniliev and @jacobtomlinson.
  • Agent CLI and recovery: keep withdrawal results when queued turns time out, report queued cancellation details, await system-agent audit and greeting persistence, record retired state deferred to Doctor, and keep Doctor maintenance working under the shared lease policy. (#167106, #166185, #165561, #165528, #164697, #165479) Thanks @A1fred-AI and @shakkernerd.
  • Channel security: stop removed X allowlist senders from reaching dispatch mid-authorization, redact credentials in Discord PluralKit, LINE, and Tlon API error bodies, bound pending IRC inbound lines, and reject unsafe LINE question option indexes and unmatchable Matrix auto-join entries. (#165244, #141317, #167234, #165018, #158694, #161607) Thanks @hugenshen, @obviyus, @xialonglee, @eleqtrizit, @Alix-007, @xydigitLybnnnn, and @captain-marlow.
  • Browser safety: isolate session tab ownership by agent, reject malformed JSON before filling forms, match URL globs without backtracking regexes, honor explicit management timeouts, and evict least recently used tabs at the managed tab cap. (#167484, #167412, #166727, #167252, #166666) Thanks @Alix-007, @obviyus, @SebTardif, @Leon-SK668, and @ruel225.
  • Reply delivery: stop reporting transcript-only channel replies as sent, deliver isolated cron results to their creating conversation, keep node completion and background command results in their own conversation, and stop repeated browser replies after background child work. (#164860, #167363, #164719, #166362) Thanks @jayzhou2309, @obviyus, @Jackten, @SparcleAI, and @shakkernerd.
  • Telegram: keep streamed replies from vanishing when their replacement never lands, retry preview edits after transient errors, keep delegated progress and media-run progress cards live, honor explicit reply tags during partial streaming, keep pending questions through settings commands, restore verbose diagnostics, treat GIFs as videos, and harden spooled turn adoption. (#164649, #165072, #166101, #167362, #167895, #168004, #168016, #168011, #103695, #167470) Thanks @jayzhou2309, @obviyus, @jmar5439, @vincentkoc, and @mgr-nick.
  • Discord and Slack: let newer Discord messages pass deferred ingress, keep source formatting in streaming previews, keep health inspection from blocking connections, keep Slack final replies below later human messages, stop misclassifying bare channel names as ids, log skipped mentions, and quiet Socket Mode ping warnings. (#159265, #165120, #166736, #163511, #155882, #157953, #164305) Thanks @aatreya, @RomneyDa, @Olli0103, @Patrick-Erichsen, @leovoloshin, @MertBasar0, @obviyus, @jayzhou2309, and @Johannes-Berggren.
  • Other channels: recognize images sent as files on LINE and as documents on WhatsApp, preserve WhatsApp media proxy uploads on Bun, complete Feishu webhook upgrades before activation, coalesce obsolete Feishu previews, resolve Feishu mentions, advertise Feishu group chats, and keep Matrix attachment filenames out of agent text. (#165778, #165774, #165017, #165303, #166610, #167264, #121463, #166599, #165419, #165209, #133338) Thanks @yetval, @Takhoffman, @shakkernerd, @rudycelekli, @Leon-SK668, @Raven-wy, @zw-xysk, @ooiuuii, @obviyus, and @RileyJJY.
  • IRC and Tlon formatting: log in with passwords containing spaces, keep backslash sequences and long non-ASCII replies intact, keep graphemes intact when splitting Slack and IRC replies, preserve angle-bracket placeholders, and keep Tlon links and images formatted. (#165721, #165719, #159730, #167025, #167953, #164828, #167191, #137763, #167637) Thanks @Sedrak-Hovhannisyan, @obviyus, @rodricksz4h5, @jayzhou2309, @yetval, @ly85206559, and @teddytennant.
  • Cron: keep migrated and Doctor-repaired automations available, report overflowing reminders instead of dropping them, preserve canceled status and Codex max thinking, hold repair while provider-outage retries are pending, and stop maintenance failures during agent deletion or startup. (#165064, #165032, #165305, #167524, #165444, #167957, #167907, #165814, #166991, #166836, #161321, #167120, #166487, #165310) Thanks @Oldrich333, @obviyus, @67-luck, @lucianosmori, @JLahullier, @LinzeShi, @Alix-007, @AXEG0, @Linux2010, and @automaton1379.
  • Memory reliability: keep indexing, background sync, and nightly dreaming working after plugin reloads and during agent startup, keep keyword fallback when embeddings fail, let slow local models finish Dream Diary entries, and fix database-locked session indexing. (#167724, #167722, #167756, #167679, #167970, #152210, #167984, #167891, #164624, #166419, #166422, #166417, #107921, #164633) Thanks @synthalorian, @clanksy-code, @woshicby, @fonoempresa, @triciah73, @jalehman, @tzy-17, and @altaywtf.
  • Memory search: keep distinct mixed-script and CJK memories, find words across Unicode normalization forms, correct EmbeddingGemma retrieval, avoid inheriting chat-only base URLs for embeddings, and bound memory-wiki searches. (#164062, #164660, #150968, #168058, #165514, #166329, #166355, #167929, #143054, #167357) Thanks @harshitgupta31415, @obviyus, @ly85206559, @Leon-SK668, @polley-mister, @dhruv1220, @vit-pavlenko, @etzelm, @RileyJJY, and @syfvb.
  • Heartbeat and auto-reply: let chained command completions skip the interval wait, report file-redirected background results, deliver Android notification wakes with heartbeat.every at 0m, keep heartbeat-only options off queued messages, settle active runs before compacting, and surface silent media staging failures. (#164756, #166123, #166522, #165313, #166777, #166163, #165788, #165066, #165876) Thanks @obviyus, @gkoch02, @jayzhou2309, @BensonChen1204, @RomneyDa, @holny, @alexph-dev, and @akshatshahh.
  • Exec and tools: preserve channel context in node exec, prevent NUL commands from breaking shutdown, stop stalled sandbox finalization loops, advertise only session-supported hosts, fix Kimi K3 exec calls, stop yielded commands from channel /stop, and show tool summaries instead of internal MCP names in CLI progress. (#164584, #164770, #165167, #166835, #164506, #165022, #166764, #167486, #167274) Thanks @shakkernerd, @holgergruenhagen, @obviyus, and @VACInc.
  • Browser: follow configured node routing, reserve CDP ports before relay ports, recover from extension cleanup failures, ignore extension pages, start Chromium from relative Playwright caches, and upload files as payloads on extension profiles. (#164575, #164678, #151037, #162110, #164659, #160013) Thanks @miguelbranco80, @obviyus, @yetval, @ethangui, @openclaw-agent-man, @dlmccoy, @ly85206559, @LiuwqGit, and @elandesberg.
  • Skills and MCP: recheck prerequisites in new sessions, stop calling unavailable skills uninstalled, stop rescanning unchanged roots, hide disconnected MCP catalogs during recovery, connect MCP plugins from HTTPS dashboards, and preserve tool prompts during reconnects. (#165529, #164884, #165304, #165158, #163875, #167642, #158059) Thanks @obviyus, @Patrick-Erichsen, and @NoelDavies.
  • Media and web fetch: accept public IPv6 MEDIA URLs, attach multiline Markdown images, keep UTF-16 text MIME and filename apostrophes, report unrecognized video sizes, preserve code literals and list spacing in fetched text, and send an honest DuckDuckGo User-Agent. (#164689, #165439, #164687, #165754, #159037, #162650, #164936, #164692, #164726) Thanks @yetval, @Takhoffman, @Milbaxter, @chief-o-brien-bot, @obviyus, @LinzeShi, @YangManBOBO, @wangmiao0668000666, @ly85206559, and @takyyon.
  • Nodes: give node sessions the same prompt and bootstrap context as local sessions, reduce Windows final-reply latency, and reject blank camera facing values. (#164647, #164523, #145538) Thanks @hugenshen and @altaywtf.
  • Team reports: keep the missed closed day when catch-up runs after midnight and defer catch-up until scheduled runs. (#165780, #165356) Thanks @yetval.
  • Updates: fix dev-channel updates on source checkouts without dependencies. (#165347)
  • Agent safety: block visible and cross-agent spawns for restricted senders, stop forged Code Mode bridge failures from guest code, and keep unrelated tools from running during memory saving. (#165418, #165071, #166650) Thanks @jlapenna.
  • Reply delivery: stop runs ending with "couldn't generate a response" when a model writes a tool call as text, keep answers from being dropped or replaced after NO_REPLY follow-ups, plan checks, reasoning-only tails, or yields, and make incomplete turns end with a visible notice. (#156342, #164774, #164896, #167567, #166876, #167972, #168062, #156939) Thanks @namest504, @hogawa000, @obviyus, @goutamadwant, @hannesrudolph, and @QuinsZouls.
  • Subagents: keep requester turns and wakes alive through expired completion delivery and transient preparation failures, preserve complete ACP and CLI subagent answers, stop late or superseded completions from delivering stale answers, and keep results returning after follow-ups. (#164282, #165610, #165800, #162843, #166139, #165987, #168068, #167898, #166990) Thanks @Oldrich333, @obviyus, @yetval, @holgergruenhagen, @zyz619963502zyz, @Yun-0000, @michaeljgood71, @LifeViwer, and @stackingrockss.
  • Subagent ownership and recovery: settle raw-key children and listings through recorded owners, reconcile interrupted subagents at startup, keep restart recovery running past stale records, drain native subagent commands on parent stop, and preserve child finals and failure diagnostics. (#164674, #166550, #166845, #166846, #165335, #165499, #166832, #165634, #166454, #165496, #165469, #165612, #166294) Thanks @shakkernerd, @Oldrich333, @sunlit-deng, and @Jackten.
  • Tool calls: recover when providers reuse tool-call IDs across steps or send malformed tool calls, stop Tool Search crashing on large Unicode descriptions, accept regex lookarounds in OpenAI tool schemas, preserve images from deferred tool calls, and end turns after repeated identical tool errors. (#165210, #165212, #165297, #164274, #164737, #166999, #165762, #167628, #163577, #164742) Thanks @fransqaas, @scs0209, @cursoragent, @obviyus, @adamjgmiller, @jlapenna, @GoldArowana, @aniruddhaadak80, and @ooiuuii.
  • Code Mode: report invalid tool arguments as invalid_input, preserve core coding signatures in the bounded catalog, clarify that API.read returns a file record, and limit exec discovery guidance to code-mode-only threads. (#165008, #166785, #167286, #165508) Thanks @obviyus, @rclarke0, and @mbelinky.
  • Stalled turns: retry model streams stalled behind empty keepalives or cut mid-frame, prevent SSE idle timeouts and stalled-reconnect hangs, stop plugin-approval waits and completed async tools from being aborted as stalled, and recover ChatGPT turns after websocket expiry or rejected tool continuations. (#165983, #165870, #152705, #167013, #161821, #166997, #167063, #168055, #166853, #167303) Thanks @cestercian, @Irish-Joseph, @rmyers64, @ericcurtin, @obviyus, @masatohoshino, @ZengWen-DT, @alfredjbclaw, @sszyh2026, @fransqaas, @SunnyShu0925, @hannesrudolph, and @Jackten.
  • Sessions and queued work: stop sessions_send into a busy session from never running, queue follow-ups behind settling image completions, keep yielded sessions admitting work, avoid model fallback on local transcript conflicts, and recover sessions after truncated or unreloadable images. (#167126, #166597, #167007, #165490, #166564, #166165, #166120) Thanks @holgergruenhagen, @MoerAI, @hannesrudolph, @jayzhou2309, @mirasrael, @nogikeyaksh, @ruel225, and @igs-rogenlo.
  • Compaction: commit a deterministic reduction after summary timeouts instead of aborting streaming summaries, recover when primary auth is cooling down, drop stale decisions after corrections, unstick small-context sessions, and stop large sessions waiting minutes for compaction. (#164246, #164263, #166459, #167757, #167900, #167916, #165179, #163117, #167505, #162066) Thanks @obviyus, @hawkit, @jacobtomlinson, @ericcurtin, @johan-eilertsen, @SunnyShu0925, @AXEG0, @jaikharbanda, @rogeriochaves, @llmsommelier, @RomneyDa, and @ajmtrz.
  • Codex: stop the turn after an interrupt waiting on other active Codex chats, explain provider failures and rejected compaction turns, keep sessions responsive after Codex unloads threads with background terminals, support native children on remote app-servers, and keep the current task after overload retries. (#165487, #165488, #167016, #166693, #166400, #166868, #165728, #167220, #167075, #160952, #166668, #155855) Thanks @jaikharbanda, @jalehman, @Kimiyu-186, @Baumus, @RomneyDa, @jacobtomlinson, @vincentkoc, @SunnyShu0925, @altaywtf, and @obviyus.
  • Claude CLI: preserve replies after long streamed turns and background Bash runs, stop history forks across message routes, recheck login after Gateway startup, fix missing-API-key failures after Claude CLI sign-in, refresh system context on resume, and keep the working timer steady on reopen. (#153545, #165596, #167241, #166305, #167963, #168074, #167817, #164873, #166009, #82546, #165769, #157697) Thanks @zhangguiping-xydt, @obviyus, @methylester, @adele-with-a-b, @cmatrx0, @yu-xin-c, @robburke, @rogeriochaves, @llmsommelier, @Oldrich333, @amknight, @FreeWind6, and @Bruce-Yii.
  • Model picker and discovery: keep New Session and session patches responsive while the catalog loads, stop discovery failures, restarts, config reloads, or catalog adoption from hiding models, keep cron jobs and first chats running when a catalog update lands mid-turn, show known models right after sign-in, and keep explicit model IDs ahead of aliases. (#165989, #166376, #167230, #167458, #167117, #167178, #167460, #167462, #167492, #166983, #167444, #167128, #161740, #168410) Thanks @DonnieFi, @obviyus, @dprev, @tianhaotian, @matthematics1137, and @RomneyDa.
  • Model catalog data: keep the hosted catalog updating past 5 MiB of models.dev data, stop publishing models providers no longer serve, resolve models.dev aliases for Together, StepFun, and Kilo Code, retain discovered models with provider SecretRefs, and list standalone models with the owning plugin registry. (#166699, #167855, #144946, #144951, #144960, #147374, #166361, #168050, #165990, #150423) Thanks @obviyus, @ly85206559, @cursoragent, @pheidon, @xydigitLybnnnn, and @marcusa617.
  • Ollama and local models: keep ollama.com setup separate from local Ollama, show newly pulled models, stop retrying retired models, fix Tool Search tool calls and empty reasoning-off completions, and keep pre-tool narration out of channel replies. (#167433, #67005, #167463, #160047, #28827, #167933, #159380, #156389) Thanks @obviyus, @Irish-Joseph, @Kansodata, @autoeverything, @YangManBOBO, @Olli0103, @Solvely-Colin, and @noamliav.
  • llama.cpp: fix managed setup on macOS below 13.3, avoid Metal-init timeouts, recover missing or orphaned managed servers, keep selected GGUF files, and stop local memory indexing from being OOM-killed on small hosts. (#163358, #167630, #153523, #167902, #168064, #168020) Thanks @NovaUnboundAi, @VACInc, @xXG0DLessXx, @samuelreyes982, @dh-js, and @frankhli843.
  • Provider reasoning and routing: honor thinking levels for custom reasoning models, declared vLLM reasoning efforts, and Grok subscription efforts, fix tool turns for reasoning models on OpenAI Completions routes, recover trailing Gemma 4 tool-call text, and route custom Bedrock providers in their configured region. (#168056, #150149, #167949, #166182, #167886, #164406, #161838, #160604, #166152, #166169) Thanks @leapdragon, @krell11, @obviyus, @AsTutoAI, @jlapenna, @Ayushdevo, @kai-ocean-kurt, @ericcurtin, @sxh313, and @Lian-Hu-Agent.
  • Agents and ACP: fix agents delete with $include entries, align binding commands with routing, fix ACP spawns for raw harness targets, allow Gateway startup with unbound legacy ACP metadata or pending agent stores, keep native Talk consults running, and hide web search when no provider is configured. (#166316, #166426, #166908, #166839, #167627, #164372, #166199, #164061, #164766, #167608, #167890) Thanks @jayzhou2309, @obviyus, @jaoa12or, @saariuslystoned, @josephbergvinson, @VACInc, @SunnyShu0925, @samiralibabic, @jacobtomlinson, and @shakkernerd.
  • Streaming text: keep fitting emoji and accents intact in prose replies. (#166567) Thanks @rudycelekli and @obviyus.
  • Onboarding: report provider setup failures as JSON. (#165211)
  • Chat delivery: keep queued WebChat cancellations, run-start and tool events, steering messages, injected notes, background replies, and media completions attached to the right turn and session. (#165168, #165194, #165535, #165549, #167284, #166710) Thanks @obviyus, @legarconc, @Marvinthebored, @Peetiegonzalez, @oywino, @wsk19831112-web, and @ing650423.
  • Chat reliability: reconcile completed runs without navigation, keep sends working during concurrent session updates, prevent stalls during progress-card saves, recover strict chat templates after runtime notices, honor non-streaming requests, and retry initialization after rolled-back maintenance. (#165108, #166027, #167396, #167309, #168057, #168078, #165137) Thanks @shakkernerd, @fuller-stack-dev, @jlapenna, @jacobtomlinson, and @mbelinky.
  • Chat history: keep active tools running after history refresh, stop duplicate commentary during long runs, keep aborted Claude CLI tool markup out of history, and stop sent drafts and typing previews from returning. (#165392, #158459, #167054, #165031, #167507, #166824, #168090) Thanks @RomneyDa, @jayzhou2309, and @ndakota79.
  • Chat scrolling and layout: keep chat following turns sent from elsewhere and measured row growth, hide conversation navigation when chat fits onscreen, keep header and composer visible during startup, and stop dashboard reloads flashing the wrong layout. (#165484, #166261, #168010, #166865, #168073, #168007) Thanks @RomneyDa.
  • Control UI sessions: stop new session tabs showing Disconnected while loading, open new sessions on modified Enter and before draft cleanup settles, stop IME confirmation from starting sessions, and fix folder-path Enter in New Session. (#165051, #167019, #167384, #165919, #165446, #166128, #168034) Thanks @obviyus, @vyctorbrzezowski, @vincentkoc, @ly85206559, @shakkernerd, and @RomneyDa.
  • Control UI subagents: keep delegated subagents in the running panel, restore inline per-subagent activity, clear false unread and attention dots, and stop old timed-out subagents flashing red cards. (#166442, #168102, #165792, #166124, #167232, #165160) Thanks @holgergruenhagen, @obviyus, @vincentkoc, @jalehman, and @tre1d.
  • Model picker: stop the picker spinning on every message, keep provider choices and toggles distinct, keep the effort selector after catalog failures, and hide the Anthropic group for Claude CLI-only setups. (#164963, #164574, #166821, #146155, #167438, #164357, #166819) Thanks @vyctorbrzezowski, @ooiuuii, @obviyus, @Patrick-Erichsen, @NGO-A, and @TUARAN.
  • Chat titles: generate chat titles from the supplied source message and retry naming when the model serves one request at a time. (#166308, #163817) Thanks @jjjhenriksen, @obviyus, and @MertBasar0.
  • Control UI: stop identity request floods during Gateway restarts, preserve operator access and chat deep links after restart, keep Control UI available under arbitrary UIDs, and close unauthorized portal WebSocket upgrades. (#165443, #166553, #166783, #165880, #167065, #167645, #165806) Thanks @RomneyDa, @Conan-Scott, @hugenshen, @cursoragent, @obviyus, and @SebTardif.
  • Control UI polish: keep Escape scoped, fix sidebar overlap and filter controls, render emoji shortcodes and correct PR links, preserve Unicode in truncation and widget error reports, and show setup and Skill Workshop errors clearly. (#165100, #165126, #165199, #165449, #166287, #165004, #164608, #165415, #167830, #165849, #165619, #166392, #166563, #155429, #167656, #168001, #165737, #167375, #167400) Thanks @vyctorbrzezowski, @jacobtomlinson, @jjjhenriksen, @obviyus, @nocodet888-arch, @ly85206559, @RomneyDa, @jalehman, and @Patrick-Erichsen.
  • Control UI composer and media: keep dictation available during active turns and stop hold-to-dictate on release, avoid duplicate iOS Safari attachment actions, stop image controls obscuring previews, and allow unlisted files on Android. (#166075, #166843, #167590, #166829, #166402, #168049, #166994, #167600) Thanks @jacobtomlinson, @alfredjbclaw, @obviyus, @DonnieFi, @Solvely-Colin, and @Patrick-Erichsen.
  • Control UI misc: confirm dirty exec approval target switches, keep focus in config collections, revert Slack and Discord session return buttons, consolidate browser connections in Activity, and remove duplicate agent update attribution. (#149181, #160131, #165334, #166814, #166006, #167759) Thanks @tommyjoseph, @obviyus, @MoerAI, @Patrick-Erichsen, @vincentkoc, @RomneyDa, and @jacobtomlinson.
  • Terminal: keep the terminal when docking right, close the dock after shell logout, preserve connection state on tab resume, size multiline table cells, and confirm selection copies. (#166213, #166087, #167031, #166549, #166669, #153580) Thanks @jacobtomlinson, @ly85206559, @obviyus, and @alexsimeonoww.
  • iOS: stop duplicate streamed replies, show tool step titles and progress bars, keep voice replies in place, give chat full width, and avoid Debug stack overflow in the composer. (#166313, #166359, #166321, #165473, #166067, #165472, #165927) Thanks @Marvinthebored, @Solvely-Colin, and @Peetiegonzalez.
  • Talk and voice calls: keep restored calls and receipts honest, stop sharing answers across consults, preserve Talk completion status, settle voice work before shutdown, fix native-delegation hangups, and restore config migrations. (#166431, #145776, #167455, #166795, #165715, #165831, #164951, #166552, #165368) Thanks @tianhaotian, @Leon-SK668, @rmyers64, @Bartok9, @samiralibabic, @obviyus, @mbelinky, @SunnyShu0925, @ly85206559, and @vincentkoc.
  • macOS and Windows: stop slow-starting Gateway restart loops after reboot, fence recovery installs with the runtime pin, size LaunchAgent exit timeouts, install unattended Windows Gateway tasks, and replace running services safely. (#158954, #165044, #165320, #165088, #166510, #165163, #165261, #165538, #164680) Thanks @MertBasar0, @cjn119-ui, @yuzh086-create, and @desksk.
  • Markdown and text: keep wrapped frontmatter values, preserve prose between operator tokens, and avoid tiny code messages from rendering overhead. (#165531, #165753, #167958) Thanks @SashaMIT, @obviyus, and @Sedrak-Hovhannisyan.
  • Local models: show embedding-only setup when llama.cpp chat exceeds RAM. (#165832) Thanks @obviyus and @NovaUnboundAi.
  • GitHub Copilot: fix first turns for Chat Completions-only and new Claude models. (#167941) Thanks @obviyus.
  • Logging and secrets: mask credentials in long tool text without stalling redaction, preserve the first retry after long model output, and stop restarts from logging false secret-resolution failures. (#161480, #167708, #165485) Thanks @eleqtrizit.
  • Config: reject malformed UTF-8 and malformed plugin metadata JSON before rewriting files, explain blocked destructive updates, and stop recommending refused writes for managed metadata. (#167118, #167391, #155427, #166830) Thanks @Alix-007, @obviyus, @RomneyDa, and @sxh313.
  • Auth: preserve selected chat accounts when credentials disappear, keep concurrent Gateway calls authenticated, fix Claude CLI plugin completions returning 401 without a selected profile, and point retired auth profile migrations at doctor --fix. (#166985, #166523, #166173, #167650) Thanks @vincentkoc, @sunlit-deng, @Fealves0, and @samson1357924.
  • Pairing: tell browsers when their access request is declined or expires. (#164793)
  • Update safety: never strand non-root updates on launcher ownership, complete package swaps across devices instead of rolling back on EXDEV, fall back to byte copies when file cloning is denied, judge publication and rollback identity on the published bytes, and keep foreign-owned state roots writable. (#164636, #164769, #165257, #164797, #164823, #164990) Thanks @hrp6vv9mwr-glitch, @MrJanvar, @potterdigital, and @saftall.
  • Update recovery: settle pending recoveries whose lease database, device id, or rollback evidence changed, recover updates blocked by dead child-lineage leases or missing handoff leases, and stop completed recovery history from blocking future updates. (#164849, #166394, #167302, #168043, #165238, #165607, #167648, #167330, #168197, #164997) Thanks @szef-svg, @izrl613, @neilofneils404, @shanselman, @farisoftfry, @Hensarj, @NovaeonStudio, and @RomneyDa.
  • Update and Gateway restarts: restart the Gateway and record the interruption when the updater is signaled mid-activation or a finalize step is refused, stop managed systemd Gateways with the bounded gateway-stop sequence, refuse before mutating masked units, and skip the maintenance drain when the Gateway is already stopped. (#165863, #166548, #167040, #165747, #167649, #167760) Thanks @Shirleyyyhk, @jlapenna, @gregb100, and @hannnnn-l.
  • Update on Windows: refuse non-elevated Windows updates immediately with an elevation hint, and bind the Windows candidate executor by its handoff identity. (#166695, #166530)
  • Update compatibility: hand the private Node runtime to npm lifecycle children, preserve startup errors and admit Doctor runs from older updaters, complete October beta updater compatibility, repair legacy config on identical-package updates, and fix updates failing on absolute-path agent avatars. (#164677, #162344, #167833, #165855, #165242, #164638) Thanks @jarvisnextgeneration20-lang, @jamiezigelbaum, @GoDiao, @shakkernerd, and @nitinjwadhawan.
  • Update diagnostics: name each candidate and preflight check, the resolved install, and the detected runtime when refusing, surface the child's refusal reason through the managed handoff, record why handoffs failed, show every recorded update warning, and clarify report wording. (#164746, #166410, #164782, #166540, #167509, #167802, #167794, #164858, #165539, #166577) Thanks @TOM-WANG-GUANG, @coygeek, @GitHoubi, @Patrick-Erichsen, @xydigitLybnnnn, and @creanet-64.
  • Update verification: degrade candidate verification at integrity limits instead of refusing, treat channel health-collection timeouts as warnings, keep checkout plugin skills loadable, finish deferred model repair, honor an explicit TMPDIR, and stop repair turns and triage retry loops from timing out or looping. (#164504, #165852, #165882, #165148, #165830, #166847, #167782, #167051, #165982, #167035) Thanks @vasaeru, @RomneyDa, @DonnieFi, and @WG-Mojo.
  • Install: preserve npm network environment settings, keep native packages on their intended platforms, and fix Windows Bun packaging failing to find npm. (#165409, #165997, #165241) Thanks @Chessing234 and @TommyFive.
  • Doctor migrations: migrate legacy session entry state before SQLite import, commit transcript archive migration per batch, reconcile residual legacy imports, settle deferred imports bound to a different database, preserve SQLite files and markerless legacy cron ownership, and set aside allowlists for removed channel accounts instead of stopping. (#165866, #165837, #166397, #167538, #166671, #166996, #167651, #167059, #164867, #162275) Thanks @SunnyShu0925, @609NFT, @coolcoolwcr, @bipolar84, @oshunter, @jaiden0, @hshs38033-cmd, and @RomneyDa.
  • Doctor backups: keep the pre-migration backup when sqlite-vec cannot load, write captures on filesystems that reject RENAME_NOREPLACE or lack birthtime, and retain interrupted capture evidence. (#165820, #166425, #164748, #164363, #166495) Thanks @NovaUnboundAi, @MertBasar0, @bbs2i58, @jayzhou2309, @StevenKrebs, and @hippoley.
  • Doctor and Gateway: recover archives without leaving Gateways stopped, reclaim stale Gateway locks like startup does, verify restarted Gateways by health, avoid races with a managed Gateway, settle Doctor writers before recovery, and shut down lifecycle workers before exit. (#165854, #165355, #167713, #166948, #162614, #164853, #165417) Thanks @RomneyDa, @Olli0103, and @lshamash.
  • Doctor accuracy: keep lint and JSON Doctor read-only, stop reporting skipped maintenance as repaired, run diagnostics when maintenance is declined, flag missing Tailscale prerequisites, stop promising service defaults it cannot apply, and resolve the Claude CLI binary like the runtime. (#166857, #167714, #168065, #166947, #166950, #165273, #166384, #166517, #165420, #168069, #167699, #166335) Thanks @RomneyDa, @mightyx, @jayzhou2309, @davidchyi-beep, @noelff, @obviyus, @Tosko4, and @vincentkoc.
  • Skill Workshop: keep approval-first setups from writing skills unreviewed while keeping automatic learning for approval-policy configs. (#167641, #167846) Thanks @obviyus.
  • Plugins on Windows: stop Gateway startup stalls capturing installed plugin files, preserve native SDK filenames, accept entries inside the package root, keep Bun plugins across source edits, and reclaim Jiti generation caches. (#168313, #165282, #167588, #165533, #165169) Thanks @RomneyDa and @JIRBOY.
  • Plugin loading: resolve mixed-case plugin IDs, load Doctor contracts after in-place replacement, preserve replacement installs across watcher echoes, reload bundled plugins with dormant records, avoid slow native prebuild loading, and settle migrations whose owner is unavailable. (#164683, #165049, #166618, #167647, #165301, #165861, #163198, #164662) Thanks @mbelinky, @goutamadwant, @exGeni, @Franklinyung, and @shakkernerd.
  • Plugin runtime: stop Gateway freezes on model changes with large plugins, keep plugin-started turns' completion status, fix Copilot plugin tool calls after the first turn, keep isolated completions from capturing unrelated plugins, and fix follow-up turns after native tool use. (#161267, #167621, #164598, #166310, #168067, #163636) Thanks @obviyus, @ericcurtin, @takyyon, and @jjjhenriksen.
  • Plugin diagnostics: use plain language for diagnostic and connection checks and stop repeating unchanged provenance warnings. (#165741, #165740, #167023) Thanks @RomneyDa.
  • CLI: prevent errors after in-place updates and silent status hangs, keep Gateway readiness on a monotonic clock, prevent rapid log polling, and bound shared-state drain on shutdown. (#165233, #167677, #155799, #163791, #164915, #164998) Thanks @RomneyDa, @SunnyShu0925, @LinzeShi, @obviyus, and @Grynn.
  • CLI output: return JSON errors for node, exec-policy, and devices refusals, explain unresolvable agent model references and reasoning-only model runs, reject ACP harness models for ACP agents, and show a UTC marker in sessions tail. (#167437, #167279, #167294, #168009, #156137, #166662, #148022, #145537, #145532, #166745, #165373, #164835) Thanks @Leon-SK668, @obviyus, @masatohoshino, @azuretek, @taekop, @jayzhou2309, @FtlC-ian, @TUARAN, @aniruddhaadak80, @hugenshen, @altaywtf, @sxh313, and @danhayman.
  • Shell completion: preserve escaped profile spaces and Fish completion backslashes. (#164785, #164455) Thanks @yetval, @obviyus, and @LinzeShi.
  • Worktrees: create parallel New Session worktrees concurrently, preserve worktrees used by live sessions, recover leaked branches, stop repeated Git maintenance failures, heal missing commit-graph tips and stale pack indexes, and use remote defaults after fetch failures. (#166060, #166443, #164615, #165204, #167473, #165995, #167426, #167691, #167367, #165969)
  • Workboard: keep automation, home, and Board agent sessions off Sessions boards, show truthful run and PR facts, explain dispatch refusals, and stop re-dispatch from silently using an old base. (#165076, #165319, #165189, #167427, #164829) Thanks @Leon-SK668, @obviyus, @mightyx, and @ArcueidMP.
  • Gateway performance: acknowledge chat sends before skill preparation, restore fast saved-session model picking, retain cold session list selections, reduce board and member-list read latency, prewarm sandbox templates, and avoid premature scheduler wakes and full placement projections. (#165608, #166037, #166405, #166403, #165344, #165125, #165931, #165922, #165600, #165840, #166617, #167666, #167813, #166387, #165015) Thanks @obviyus and @jacobtomlinson.
  • Gateway performance: serve chat, usage, placement, and metadata reads from workers and prepared projections, move startup maintenance and notice sweeping after readiness, and reduce SQLite, projection, and history-page work per chat turn. (#164744, #164943, #165470, #165614, #165218, #165331, #166587, #167194, #167032, #166263, #165190, #166365) Thanks @obviyus.
  • Gateway performance: speed up reconnects, restarts, and bootstrap by sharing update status, reusing admitted state and snapshots, warming recent database pages, and pausing reconnect bootstrap during restarts. (#164984, #165498, #165667, #165545, #165524, #165782, #165480, #167407, #164670, #165803, #166018, #166122)
  • Gateway performance: share opted-in reads and broadcast encoding across clients, reuse catalogs, session rows, avatars, and artifact summaries, bound link previews and queued previews, and keep PR comparisons local. (#165203, #167961, #162326, #165941, #165464, #166591, #166429, #165759, #166195, #166474, #166461, #166264, #165030, #166447)
  • Worker performance: reduce worker scheduling, transport, and reader memory overhead, centralize bounded pool sizing, expose queue wait and cost attribution, and cut Gateway fork costs for Git and TLS. (#165077, #165230, #165249, #167295, #167060, #167676, #165591, #165816, #165290, #164465, #166683, #167235)
  • Performance: move cron ticks, session scans, maintenance, and run transcripts off the main thread, share skill indexes, offload memory retrieval and index admission, persist sandbox state through workers, and serve channel status from recorded health. (#165332, #165511, #165629, #167248, #163885, #166507, #165106, #165173, #167644, #167254, #165075, #165568, #165611, #165558, #165534, #165295, #165436, #166538, #164694, #164648) Thanks @vincentkoc, @obviyus, @kzclaw, and @Patrick-Erichsen.
  • Performance: speed up chat with indexed reads, bounded history pages, reused metadata, catalogs, and versioned assets, smaller tool previews, fewer idle reads, and lighter Control UI startup downloads. (#164605, #165897, #166250, #167993, #168023, #167896, #167906, #167968, #167020, #167447, #167263, #167238, #165101, #164735, #165228, #163573, #166493, #165546, #161543) Thanks @shakkernerd, @boeingchoco, and @obviyus.
  • Update performance: skip unnecessary fetches for cached commits, unused state leases, duplicate snapshots, and slow prevalidation of large plugin trees, bound SQLite snapshot amplification on live installs, and reduce inventory latency for large runtimes. (#165060, #165326, #166126, #166317, #167451, #166741, #165316, #165013) Thanks @vincentkoc, @hannesrudolph, and @ooiuuii.
  • Worktree and Git performance: run worktree GC and cleanup in the background with capacity limits, back off timed-out and corrupt-repo cleanup, consolidate shared packs, speed up partial-clone creation, keep session diffs responsive in large repositories, and prevent agent-triggered Git maintenance. (#164758, #165913, #167323, #167453, #167944, #165858, #167443, #167936, #167030, #167695, #167631, #166072, #165513, #165605, #165750, #165981, #165411, #167899, #166214, #166381)
  • Workboard and GitHub performance: skip unchanged card and Sessions board reloads, reuse authorized snapshots, speed up revision reads, and overlap preview and publication option reads. (#165058, #165141, #165698, #165896, #165094, #167189, #167597, #166987, #167322)
  • Plugin and auth performance: bound retained plugin heap across reloads, reuse native admission and instance identity, batch plugin capture copies, move OAuth refresh and auth saves to workers, and run pairing mutations in the SQLite worker. (#166751, #166687, #165923, #167516, #166955, #166278, #165029, #159448, #165658, #165644, #166936, #167024, #166183, #164992, #166283, #167239, #167308) Thanks @jjjhenriksen, @RomneyDa, and @Patrick-Erichsen.
  • CLI and diagnostics performance: speed up gateway call cold starts, reuse prepared runtime inputs, speed up secret redaction for large text, calibrate memory pressure to runtime limits, and reduce Prometheus scrape allocation. (#166722, #166657, #166864, #162313, #166701, #167943, #165042, #167618, #167930, #166933, #165327) Thanks @sunlit-deng, @obviyus, and @etzelm.

Complete contribution record
This audited record covers the complete 8ea8bb11a5bd5c0fa66665861c10b49aaf8ed989..45248f28b3f0fa321deb499a6e679f699971a541 history: 1,971 in-range PRs + 0 retained seed-only PRs = 1,971 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
Shipped baseline exclusions: v2026.10.1-beta.2 (53 PRs: #42, #88247, #109291, #110888, #113594, #113615, #113660, #113681, #113757, #115080, #115592, #125106, #126114, #127394, #129052, #129346, #129634, #133130, #134463, #134724, #136241, #137131, #137949, #138046, #139757, #139848, #139911, #140086, #142176, #144252, #146667, #149983, #150071, #151032, #151470, #152979, #153707, #154875, #155388, #157615, #157869, #159892, #160225, #160651, #161876, #164103, #164165, #164268, #164401, #164434, #164521, #164546, #164586).
#### Pull requests
  • PR #164622
  • PR #164626 Thanks @vincentkoc.
  • PR #164636 Related #164422. Thanks @hrp6vv9mwr-glitch.
  • PR #164538
  • PR #164061 Thanks @shakkernerd.
  • PR #164640
  • PR #164575 Related #164568. Thanks @miguelbranco80 and @obviyus.
  • PR #164590 Thanks @RomneyDa.
  • PR #164654
  • PR #164658 Thanks @RomneyDa.
  • PR #164655
  • PR #164666
  • PR #164633
  • PR #164567
  • PR #164663 Related #164661. Thanks @shakkernerd.
  • PR #164605
  • PR #164662 Thanks @shakkernerd.
  • PR #164664 Related #164644. Thanks @shakkernerd.
  • PR #164566
  • PR #164669
  • PR #164679
  • PR #164676 Thanks @shakkernerd.
  • PR #164476
  • PR #164680
  • PR #164649 Related #164610, #164611. Thanks @jayzhou2309 and @obviyus and @jmar5439.
  • PR #164637
  • PR #164520
  • PR #164686
  • PR #164677 Related #164525. Thanks @jarvisnextgeneration20-lang.
  • PR #162275 Thanks @RomneyDa.
  • PR #164588
  • PR #164675 Thanks @RomneyDa.
  • PR #162920
  • PR #164598 Related #164470. Thanks @ericcurtin and @obviyus and @takyyon.
  • PR #164697
  • PR #164706
  • PR #164674
  • PR #164714 Related #164711. Thanks @shakkernerd.
  • PR #164584
  • PR #164673
  • PR #164715 Related #164709. Thanks @shakkernerd.
  • PR #164718
  • PR #164717 Related #164713. Thanks @shakkernerd.
  • PR #164627
  • PR #164504
  • PR #164728
  • PR #164615
  • PR #164653 Thanks @hannesrudolph.
  • PR #164707
  • PR #164726 Related #164471. Thanks @takyyon and @obviyus.
  • PR #164645
  • PR #164735 Thanks @shakkernerd.
  • PR #164743 Related #164741. Thanks @shakkernerd.
  • PR #164269
  • PR #164748 Related #164703. Thanks @bbs2i58.
  • PR #164603
  • PR #164282 Related #164141. Thanks @Oldrich333 and @obviyus.
  • PR #164751
  • PR #164739
  • PR #164737
  • PR #164754
  • PR #164643
  • PR #164708
  • PR #164750
  • PR #164763
  • PR #164574 Related #164572. Thanks @ooiuuii and @obviyus.
  • PR #164617
  • PR #164746
  • PR #162344 Related #162131. Thanks @jamiezigelbaum.
  • PR #164577
  • PR #164766 Related #164733. Thanks @shakkernerd.
  • PR #164500 Related #164426. Thanks @sunlit-deng and @obviyus and @waynegault.
  • PR #164710
  • PR #161480 Thanks @eleqtrizit.
  • PR #164760
  • PR #164770 Thanks @shakkernerd.
  • PR #164665
  • PR #161545
  • PR #164274 Thanks @fransqaas.
  • PR #156342 Related #138929. Thanks @namest504 and @hogawa000.
  • PR #164738
  • PR #164795 Related #164790. Thanks @shakkernerd.
  • PR #164767
  • PR #164465
  • PR #162280
  • PR #164768
  • PR #164798
  • PR #164776 Thanks @shakkernerd.
  • PR #164683
  • PR #164797 Related #164672. Thanks @potterdigital.
  • PR #164759
  • PR #164802
  • PR #164523
  • PR #141240 Thanks @hugenshen and @cursoragent and @obviyus.
  • PR #164806
  • PR #164753
  • PR #164793
  • PR #164727
  • PR #164670
  • PR #164782 Related #164693. Thanks @coygeek.
  • PR #164769
  • PR #164815
  • PR #164813
  • PR #164814
  • PR #164490
  • PR #164647
  • PR #164764
  • PR #164484
  • PR #164810
  • PR #164630
  • PR #164258
  • PR #164820
  • PR #164827
  • PR #164823
  • PR #164816
  • PR #164692 Thanks @yetval and @obviyus.
  • PR #164758
  • PR #164788
  • PR #164834
  • PR #164844
  • PR #164819
  • PR #164558 Thanks @mbelinky.
  • PR #164694
  • PR #164807
  • PR #164688 Thanks @yetval and @obviyus.
  • PR #164845
  • PR #164805
  • PR #164830
  • PR #164648
  • PR #164779
  • PR #164848 Thanks @sjf-oa and @sjf.
  • PR #164789 Thanks @RomneyDa.
  • PR #164849 Related #164817, #164826. Thanks @szef-svg and @izrl613.
  • PR #164851
  • PR #164855
  • PR #164853
  • PR #164678 Thanks @yetval and @obviyus.
  • **

<!-- openclaw-release-publication:docs-v1 -->
OpenClaw v2026.10.1
3,055 commits · 2,425 pull requests · 402 contributors
Changes included in this release
The release notes and changelog contain the same content, presented in two formats:
  • [Release notes](https://docs.openclaw.ai/releases/2026.10.1) — formatted for people, with expandable sections.
  • [Changelog](https://raw.githubusercontent.com/openclaw/openclaw/main/CHANGELOG/2026.10.1.md) — plain Markdown for AI agents and tools.

Thanks
[@100yenadmin](https://github.com/100yenadmin) [@51Google](https://github.com/51Google) [@609NFT](https://github.com/609NFT) [@A1fred-AI](https://github.com/A1fred-AI) [@abacha](https://github.com/abacha) [@adamamzalag](https://github.com/adamamzalag) [@adamczhang](https://github.com/adamczhang) [@addyCooks](https://github.com/addyCooks) [@adele-with-a-b](https://github.com/adele-with-a-b) [@adembektas](https://github.com/adembektas) [@aikohoshinoai-prog](https://github.com/aikohoshinoai-prog) [@akennedytog](https://github.com/akennedytog) [@akrosliving](https://github.com/akrosliving) [@Alex-vonAllmen](https://github.com/Alex-vonAllmen) [@alexeysophia](https://github.com/alexeysophia) [@alexph-dev](https://github.com/alexph-dev) [@alfred429](https://github.com/alfred429) [@ali-log](https://github.com/ali-log) [@Alix-007](https://github.com/Alix-007) [@alkor2000](https://github.com/alkor2000) [@altaywtf](https://github.com/altaywtf) [@AmelioMansour](https://github.com/AmelioMansour) [@amittell](https://github.com/amittell) [@andersonjeccel](https://github.com/andersonjeccel) [@aniketkrs](https://github.com/aniketkrs) [@aniruddhaadak80](https://github.com/aniruddhaadak80) [@anyech](https://github.com/anyech) [@aounakram](https://github.com/aounakram) [@armstrongsam25](https://github.com/armstrongsam25) [@aron-intframe](https://github.com/aron-intframe) [@Arslan-Mehmood1](https://github.com/Arslan-Mehmood1) [@ashleywolf](https://github.com/ashleywolf) [@asikorskiy](https://github.com/asikorskiy) [@aspalagin](https://github.com/aspalagin) [@astra-openclaw](https://github.com/astra-openclaw) [@avirtudazo-officeconnect](https://github.com/avirtudazo-officeconnect) [@awss1i](https://github.com/awss1i) [@axeg0](https://github.com/axeg0) [@axiom-ncis](https://github.com/axiom-ncis) [@ayaangazali](https://github.com/ayaangazali) [@ayoakouh](https://github.com/ayoakouh) [@Ayushdevo](https://github.com/Ayushdevo) [@azuretek](https://github.com/azuretek) [@b4rRa](https://github.com/b4rRa) [@Bartok9](https://github.com/Bartok9) [@Baumus](https://github.com/Baumus) [@big-hill](https://github.com/big-hill) [@BillBOT33](https://github.com/BillBOT33) [@bipolar84](https://github.com/bipolar84) [@boeingchoco](https://github.com/boeingchoco) [@brainatworkharris](https://github.com/brainatworkharris) [@brandon-julio-t](https://github.com/brandon-julio-t) [@bulingbuling688](https://github.com/bulingbuling688) [@carlosjarenom](https://github.com/carlosjarenom) [@catnipluss](https://github.com/catnipluss) [@cbhawthorne84](https://github.com/cbhawthorne84) [@ceckert](https://github.com/ceckert) [@cestercian](https://github.com/cestercian) [@CHAESH](https://github.com/CHAESH) [@chaitongxue](https://github.com/chaitongxue) [@changeroa](https://github.com/changeroa) [@ChenGuoShun1979](https://github.com/ChenGuoShun1979) [@chffhc](https://github.com/chffhc) [@chiyunshen](https://github.com/chiyunshen) [@chopin-op60](https://github.com/chopin-op60) [@ChuLaiTheGreat](https://github.com/ChuLaiTheGreat) [@cjn119-ui](https://github.com/cjn119-ui) [@cknzraposo](https://github.com/cknzraposo) [@cmillwat](https://github.com/cmillwat) [@cmrstudio56](https://github.com/cmrstudio56) [@Colton-Harris](https://github.com/Colton-Harris) [@Conan-Scott](https://github.com/Conan-Scott) [@coygeek](https://github.com/coygeek) [@cunzai007-hub](https://github.com/cunzai007-hub) [@danieljimz](https://github.com/danieljimz) [@dankarization](https://github.com/dankarization) [@dapangkai11](https://github.com/dapangkai11) [@DarkJuanFra](https://github.com/DarkJuanFra) [@DasX](https://github.com/DasX) [@datus1982](https://github.com/datus1982) [@DaveFan-NCHC](https://github.com/DaveFan-NCHC) [@davidcittadini](https://github.com/davidcittadini) [@deepujain](https://github.com/deepujain) [@Deregtx](https://github.com/Deregtx) [@dh-js](https://github.com/dh-js) [@DonnieFi](https://github.com/DonnieFi) [@dori-jitter](https://github.com/dori-jitter) [@dprev](https://github.com/dprev) [@drakeo338](https://github.com/drakeo338) [@Dylanzhang1128](https://github.com/Dylanzhang1128) [@eddiekk](https://github.com/eddiekk) [@ekinnee](https://github.com/ekinnee) [@eleqtrizit](https://github.com/eleqtrizit) [@eltonwf-del](https://github.com/eltonwf-del) [@elvisquirino](https://github.com/elvisquirino) [@EmisvaldoSilva](https://github.com/EmisvaldoSilva) [@EndeavorPioneer](https://github.com/EndeavorPioneer) [@ericcaiwx-star](https://github.com/ericcaiwx-star) [@ericcurtin](https://github.com/ericcurtin) [@etzelm](https://github.com/etzelm) [@eugifa](https://github.com/eugifa) [@exGeni](https://github.com/exGeni) [@farisoftfry](https://github.com/farisoftfry) [@fede-kamel](https://github.com/fede-kamel) [@FelixIsaac](https://github.com/FelixIsaac) [@fenglanhua](https://github.com/fenglanhua) [@Finn763](https://github.com/Finn763) [@FlagshipClaw](https://github.com/FlagshipClaw) [@Flakedict](https://github.com/Flakedict) [@frankhli843](https://github.com/frankhli843) [@Frosmans](https://github.com/Frosmans) [@FtlC-ian](https://github.com/FtlC-ian) [@fuller-stack-dev](https://github.com/fuller-stack-dev) [@g0st1n](https://github.com/g0st1n) [@g62nkcx4q7-wq](https://github.com/g62nkcx4q7-wq) [@Gabrielnkl](https://github.com/Gabrielnkl) [@galiniliev](https://github.com/galiniliev) [@ghowkay](https://github.com/ghowkay) [@Giannoulakos](https://github.com/Giannoulakos) [@giodl73](https://github.com/giodl73) [@giodl73-repo](https://github.com/giodl73-repo) [@glaiveai](https://github.com/glaiveai) [@glebsergeevich](https://github.com/glebsergeevich) [@GodBlf](https://github.com/GodBlf) [@GoDiao](https://github.com/GoDiao) [@godinpt-floada](https://github.com/godinpt-floada) [@gokay-ai](https://github.com/gokay-ai) [@GoldArowana](https://github.com/GoldArowana) [@gollymashed](https://github.com/gollymashed) [@goncalonc](https://github.com/goncalonc) [@goutamadwant](https://github.com/goutamadwant) [@griswomw2](https://github.com/griswomw2) [@grtninja](https://github.com/grtninja) [@hailongguo0530-alt](https://github.com/hailongguo0530-alt) [@hannesrudolph](https://github.com/hannesrudolph) [@hannnnn-l](https://github.com/hannnnn-l) [@hansraj316](https://github.com/hansraj316) [@harshitgupta31415](https://github.com/harshitgupta31415) [@hartmark](https://github.com/hartmark) [@hartra344](https://github.com/hartra344) [@Harvey-XuH](https://github.com/Harvey-XuH) [@hawkit](https://github.com/hawkit) [@he-yufeng](https://github.com/he-yufeng) [@hewal-dev](https://github.com/hewal-dev) [@hogawa000](https://github.com/hogawa000) [@holgergruenhagen](https://github.com/holgergruenhagen) [@hotfemale](https://github.com/hotfemale) [@hpyhandsome](https://github.com/hpyhandsome) [@hrp6vv9mwr-glitch](https://github.com/hrp6vv9mwr-glitch) [@hshs38033-cmd](https://github.com/hshs38033-cmd) [@hubofvalley](https://github.com/hubofvalley) [@HunterStile](https://github.com/HunterStile) [@hxy91819](https://github.com/hxy91819) [@iancollyer87](https://github.com/iancollyer87) [@ignamiranda](https://github.com/ignamiranda) [@iJaack](https://github.com/iJaack) [@imabotone-ui](https://github.com/imabotone-ui) [@ioannis-giannoulakos](https://github.com/ioannis-giannoulakos) [@Irish-Joseph](https://github.com/Irish-Joseph) [@islandpreneur007](https://github.com/islandpreneur007) [@IstiqlalBhat](https://github.com/IstiqlalBhat) [@itayzit](https://github.com/itayzit) [@ivan-magda](https://github.com/ivan-magda) [@IWhatsskill](https://github.com/IWhatsskill) [@izrl613](https://github.com/izrl613) [@jacobtomlinson](https://github.com/jacobtomlinson) [@JakeBotFleet](https://github.com/JakeBotFleet) [@JakeMalis](https://github.com/JakeMalis) [@jalehman](https://github.com/jalehman) [@jamiezigelbaum](https://github.com/jamiezigelbaum) [@jarimustonen](https://github.com/jarimustonen) [@Jarvis-Baba](https://github.com/Jarvis-Baba) [@jasdeepohri-max](https://github.com/jasdeepohri-max) [@jason-allen-oneal](https://github.com/jason-allen-oneal) [@jayzhou2309](https://github.com/jayzhou2309) [@jbfranklin](https://github.com/jbfranklin) [@JD8855122](https://github.com/JD8855122) [@Jeehut](https://github.com/Jeehut) [@jesse-merhi](https://github.com/jesse-merhi) [@jgs-jeeves](https://github.com/jgs-jeeves) [@jj5638521](https://github.com/jj5638521) [@jjjhenriksen](https://github.com/jjjhenriksen) [@jlapenna](https://github.com/jlapenna) [@jm9151821](https://github.com/jm9151821) [@jocojolo](https://github.com/jocojolo) [@joelwp](https://github.com/joelwp) [@jonathanlindsay](https://github.com/jonathanlindsay) [@joryirving](https://github.com/joryirving) [@joshavant](https://github.com/joshavant) [@JuampiHernandez](https://github.com/JuampiHernandez) [@juyterman1000](https://github.com/juyterman1000) [@kazuyuki-eguchi](https://github.com/kazuyuki-eguchi) [@kenmege](https://github.com/kenmege) [@kevin2966n](https://github.com/kevin2966n) [@Kimiyu-186](https://github.com/Kimiyu-186) [@KirDE](https://github.com/KirDE) [@kirylh](https://github.com/kirylh) [@klabir](https://github.com/klabir) [@KoalaShen](https://github.com/KoalaShen) [@krissding](https://github.com/krissding) [@krumch](https://github.com/krumch) [@laurentschwartz](https://github.com/laurentschwartz) [@leoreq](https://github.com/leoreq) [@LifeViwer](https://github.com/LifeViwer) [@LinzeShi](https://github.com/LinzeShi) [@LiuwqGit](https://github.com/LiuwqGit) [@LLagoon3](https://github.com/LLagoon3) [@louria](https://github.com/louria) [@love-ai-open-source](https://github.com/love-ai-open-source) [@lshamash](https://github.com/lshamash) [@Ludwigtheo0815](https://github.com/Ludwigtheo0815) [@ly85206559](https://github.com/ly85206559) [@MaikiMolto](https://github.com/MaikiMolto) [@marcoschierhorn](https://github.com/marcoschierhorn) [@marctomas-png](https://github.com/marctomas-png) [@MarkMa84](https://github.com/MarkMa84) [@markoub](https://github.com/markoub) [@martinderm](https://github.com/martinderm) [@Marvinthebored](https://github.com/Marvinthebored) [@masatohoshino](https://github.com/masatohoshino) [@MasterSwords1](https://github.com/MasterSwords1) [@matthematics1137](https://github.com/matthematics1137) [@matthewmoroz](https://github.com/matthewmoroz) [@maxpuppet](https://github.com/maxpuppet) [@mbelinky](https://github.com/mbelinky) [@MertBasar0](https://github.com/MertBasar0) [@mgr-nick](https://github.com/mgr-nick) [@mick-lu-lingyue](https://github.com/mick-lu-lingyue) [@miguelarios](https://github.com/miguelarios) [@miguelbranco80](https://github.com/miguelbranco80) [@miguelpt2026](https://github.com/miguelpt2026) [@MikyWang](https://github.com/MikyWang) [@mmaps](https://github.com/mmaps) [@MoerAI](https://github.com/MoerAI) [@monde](https://github.com/monde) [@Monkeykingll](https://github.com/Monkeykingll) [@mpquemel](https://github.com/mpquemel) [@mrzeepek](https://github.com/mrzeepek) [@nachoratico-source](https://github.com/nachoratico-source) [@namest504](https://github.com/namest504) [@nancymx-dev](https://github.com/nancymx-dev) [@nano-richtera](https://github.com/nano-richtera) [@nashtu3000](https://github.com/nashtu3000) [@ndakota79](https://github.com/ndakota79) [@Nehanth](https://github.com/Nehanth) [@neilofneils404](https://github.com/neilofneils404) [@nessim-liamani](https://github.com/nessim-liamani) [@ngominhduc263](https://github.com/ngominhduc263) [@NianJiuZst](https://github.com/NianJiuZst) [@NickM83](https://github.com/NickM83) [@nikosml](https://github.com/nikosml) [@nimarosa](https://github.com/nimarosa) [@nkarkare](https://github.com/nkarkare) [@nocodet888-arch](https://github.com/nocodet888-arch) [@NovaUnboundAi](https://github.com/NovaUnboundAi) [@nwang783](https://github.com/nwang783) [@nweishar](https://github.com/nweishar) [@obnoxious2011-cmd](https://github.com/obnoxious2011-cmd) [@obviyus](https://github.com/obviyus) [@oc-jarvis](https://github.com/oc-jarvis) [@odrodash](https://github.com/odrodash) [@Oldrich333](https://github.com/Oldrich333) [@Olli0103](https://github.com/Olli0103) [@oNo500](https://github.com/oNo500) [@ooiuuii](https://github.com/ooiuuii) [@oscarsixsecllc](https://github.com/oscarsixsecllc) [@oxen-horse](https://github.com/oxen-horse) [@oywino](https://github.com/oywino) [@Patrick-Erichsen](https://github.com/Patrick-Erichsen) [@paulcam206](https://github.com/paulcam206) [@PaulClawitzki](https://github.com/PaulClawitzki) [@paulotvlincelia](https://github.com/paulotvlincelia) [@paweldrozd](https://github.com/paweldrozd) [@Peetiegonzalez](https://github.com/Peetiegonzalez) [@PennyVibe](https://github.com/PennyVibe) [@percilabs](https://github.com/percilabs) [@personaltrainerkoichan](https://github.com/personaltrainerkoichan) [@pibur](https://github.com/pibur) [@ploy-elison](https://github.com/ploy-elison) [@PollyBot13](https://github.com/PollyBot13) [@postoso](https://github.com/postoso) [@potterdigital](https://github.com/potterdigital) [@priyabrataedu-droid](https://github.com/priyabrataedu-droid) [@produtoramaxvision](https://github.com/produtoramaxvision) [@qingminglong](https://github.com/qingminglong) [@R3NK0R](https://github.com/R3NK0R) [@Ram-G](https://github.com/Ram-G) [@ranukadf82-hub](https://github.com/ranukadf82-hub) [@Raven-Gt](https://github.com/Raven-Gt) [@rebarshop-24](https://github.com/rebarshop-24) [@RileyJJY](https://github.com/RileyJJY) [@ringbe-cyber](https://github.com/ringbe-cyber) [@robburke](https://github.com/robburke) [@RomneyDa](https://github.com/RomneyDa) [@roslinmahmud](https://github.com/roslinmahmud) [@rosmiroslav-create](https://github.com/rosmiroslav-create) [@Rotocruz](https://github.com/Rotocruz) [@rtfcv](https://github.com/rtfcv) [@ruel225](https://github.com/ruel225) [@RuiCatalao7](https://github.com/RuiCatalao7) [@RvsL](https://github.com/RvsL) [@RXQ6](https://github.com/RXQ6) [@ryan-dyer-sp](https://github.com/ryan-dyer-sp) [@sahilsatralkar](https://github.com/sahilsatralkar) [@saizero-dr](https://github.com/saizero-dr) [@sallyom](https://github.com/sallyom) [@samadarsh](https://github.com/samadarsh) [@sasan1200](https://github.com/sasan1200) [@ScientificProgrammer](https://github.com/ScientificProgrammer) [@scotthuang](https://github.com/scotthuang) [@sercada](https://github.com/sercada) [@serg0x](https://github.com/serg0x) [@sergiorodriguez-sudo](https://github.com/sergiorodriguez-sudo) [@shadow-enthusiast](https://github.com/shadow-enthusiast) [@shailaja-bot](https://github.com/shailaja-bot) [@shakkernerd](https://github.com/shakkernerd) [@shanselman](https://github.com/shanselman) [@Shenrui-Ma](https://github.com/Shenrui-Ma) [@sjf](https://github.com/sjf) [@sjf-oa](https://github.com/sjf-oa) [@slinkoff](https://github.com/slinkoff) [@SMF12138](https://github.com/SMF12138) [@smoe](https://github.com/smoe) [@song-jia](https://github.com/song-jia) [@sonofakel](https://github.com/sonofakel) [@SparcleAI](https://github.com/SparcleAI) [@Spheresta](https://github.com/Spheresta) [@spunzon](https://github.com/spunzon) [@stackingrockss](https://github.com/stackingrockss) [@stbtyx747](https://github.com/stbtyx747) [@steipete](https://github.com/steipete) [@StevenKrebs](https://github.com/StevenKrebs) [@stevenlee-oai](https://github.com/stevenlee-oai) [@Stronggenetics](https://github.com/Stronggenetics) [@stuart-minion-ai](https://github.com/stuart-minion-ai) [@stunt4711](https://github.com/stunt4711) [@sunhsiao](https://github.com/sunhsiao) [@suninweb](https://github.com/suninweb) [@sunlit-deng](https://github.com/sunlit-deng) [@SunnyShu0925](https://github.com/SunnyShu0925) [@SuperMarioYL](https://github.com/SuperMarioYL) [@swampgorilla](https://github.com/swampgorilla) [@sxh313](https://github.com/sxh313) [@szef-svg](https://github.com/szef-svg) [@taihartman](https://github.com/taihartman) [@Takhoffman](https://github.com/Takhoffman) [@taoxia255-del](https://github.com/taoxia255-del) [@TeaCup404](https://github.com/TeaCup404) [@tedassur](https://github.com/tedassur) [@Thinkscape](https://github.com/Thinkscape) [@tianhaotian](https://github.com/tianhaotian) [@todddickerson](https://github.com/todddickerson) [@tommyfive](https://github.com/tommyfive) [@Tosko4](https://github.com/Tosko4) [@travellingsoldier85](https://github.com/travellingsoldier85) [@TrevorDGreen33](https://github.com/TrevorDGreen33) [@triciah73](https://github.com/triciah73) [@ttcmourao](https://github.com/ttcmourao) [@Twilight-Networks](https://github.com/Twilight-Networks) [@utesara](https://github.com/utesara) [@VACInc](https://github.com/VACInc) [@vanecook](https://github.com/vanecook) [@veritasaiflows-cell](https://github.com/veritasaiflows-cell) [@vicary](https://github.com/vicary) [@victor-gurbani](https://github.com/victor-gurbani) [@vincentkoc](https://github.com/vincentkoc) [@vinsew](https://github.com/vinsew) [@vyctorbrzezowski](https://github.com/vyctorbrzezowski) [@wakqasahmed](https://github.com/wakqasahmed) [@wangmiao0668000666](https://github.com/wangmiao0668000666) [@wangyan2026](https://github.com/wangyan2026) [@wave-workflow](https://github.com/wave-workflow) [@waynegault](https://github.com/waynegault) [@webdood](https://github.com/webdood) [@wenwenxiong](https://github.com/wenwenxiong) [@WG-Mojo](https://github.com/WG-Mojo) [@WhitenessTiger](https://github.com/WhitenessTiger) [@winddd666](https://github.com/winddd666) [@wlassalle724](https://github.com/wlassalle724) [@wuwo2119](https://github.com/wuwo2119) [@wynxo](https://github.com/wynxo) [@xialonglee](https://github.com/xialonglee) [@xiao398008](https://github.com/xiao398008) [@xilopaint](https://github.com/xilopaint) [@xXG0DLessXx](https://github.com/xXG0DLessXx) [@xydigitLybnnnn](https://github.com/xydigitLybnnnn) [@yaohd100](https://github.com/yaohd100) [@yashas-13](https://github.com/yashas-13) [@yetval](https://github.com/yetval) [@Yigtwxx](https://github.com/Yigtwxx) [@yihan331313](https://github.com/yihan331313) [@yoyo837](https://github.com/yoyo837) [@ysumatta](https://github.com/ysumatta) [@yu-xin-c](https://github.com/yu-xin-c) [@Yun-0000](https://github.com/Yun-0000) [@yunligou711-commits](https://github.com/yunligou711-commits) [@zachisfine](https://github.com/zachisfine) [@zhangguiping-xydt](https://github.com/zhangguiping-xydt) [@zhangming678](https://github.com/zhangming678) [@zhyx1996](https://github.com/zhyx1996) [@zouxiao777](https://github.com/zouxiao777) [@zyz619963502zyz](https://github.com/zyz619963502zyz)
Release verification
  • npm package: https://www.npmjs.com/package/openclaw/v/2026.10.1
  • registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.10.1.tgz
  • integrity: sha512-C072/lxy83KP1nMCnJbipr4O+EtIR9XXbjzQFM+ol7VE5ci2MkKk5XTxfSG70jxpEVaGFeXcEmObHxR/ZHLdHw==
  • release SHA: e178c39e9aae3fa440735217f9aef9574f286677
  • full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.10.1/release-evidence.md
  • release publish: https://github.com/openclaw/openclaw/actions/runs/38095688873
  • npm preflight: https://github.com/openclaw/openclaw/actions/runs/38073515874
  • full release validation: https://github.com/openclaw/openclaw/actions/runs/38073132248
  • plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/38096133326
  • plugin ClawHub publish: no normal OIDC candidates
  • plugin ClawHub bootstrap: not needed
  • OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/38091379224/attempts/1
  • npm Telegram beta E2E: not supplied
  • Android APK: skipped — apps/android/version.json is 2026.8.2, release train is 2026.10.1; run pnpm android:version:pin -- --from-gateway before the next tag.

<!-- openclaw-release-publication:docs-v1 -->
OpenClaw v2026.9.9
185 commits · 112 pull requests · 92 contributors
Changes included in this release
The release notes and changelog contain the same content, presented in two formats:
  • [Release notes](https://docs.openclaw.ai/releases/2026.9.9) — formatted for people, with expandable sections.
  • [Changelog](https://raw.githubusercontent.com/openclaw/openclaw/main/CHANGELOG/2026.9.9.md) — plain Markdown for AI agents and tools.

Thanks
[@A1fred-AI](https://github.com/A1fred-AI) [@adele-with-a-b](https://github.com/adele-with-a-b) [@alexph-dev](https://github.com/alexph-dev) [@Alix-007](https://github.com/Alix-007) [@alkor2000](https://github.com/alkor2000) [@altaywtf](https://github.com/altaywtf) [@aniruddhaadak80](https://github.com/aniruddhaadak80) [@aounakram](https://github.com/aounakram) [@armstrongsam25](https://github.com/armstrongsam25) [@AXEG0](https://github.com/AXEG0) [@azuretek](https://github.com/azuretek) [@big-hill](https://github.com/big-hill) [@carlosjarenom](https://github.com/carlosjarenom) [@cestercian](https://github.com/cestercian) [@changeroa](https://github.com/changeroa) [@ChuLaiTheGreat](https://github.com/ChuLaiTheGreat) [@cmrstudio56](https://github.com/cmrstudio56) [@danieljimz](https://github.com/danieljimz) [@dapangkai11](https://github.com/dapangkai11) [@DasX](https://github.com/DasX) [@davidcittadini](https://github.com/davidcittadini) [@dh-js](https://github.com/dh-js) [@drakeo338](https://github.com/drakeo338) [@ekinnee](https://github.com/ekinnee) [@eleqtrizit](https://github.com/eleqtrizit) [@ericcaiwx-star](https://github.com/ericcaiwx-star) [@ericcurtin](https://github.com/ericcurtin) [@fenglanhua](https://github.com/fenglanhua) [@FlagshipClaw](https://github.com/FlagshipClaw) [@Flakedict](https://github.com/Flakedict) [@fuller-stack-dev](https://github.com/fuller-stack-dev) [@gokay-ai](https://github.com/gokay-ai) [@goncalonc](https://github.com/goncalonc) [@hannesrudolph](https://github.com/hannesrudolph) [@hansraj316](https://github.com/hansraj316) [@holgergruenhagen](https://github.com/holgergruenhagen) [@hshs38033-cmd](https://github.com/hshs38033-cmd) [@ignamiranda](https://github.com/ignamiranda) [@IstiqlalBhat](https://github.com/IstiqlalBhat) [@jamiezigelbaum](https://github.com/jamiezigelbaum) [@jarvisnextgeneration20-lang](https://github.com/jarvisnextgeneration20-lang) [@jayzhou2309](https://github.com/jayzhou2309) [@jgs-jeeves](https://github.com/jgs-jeeves) [@joshavant](https://github.com/joshavant) [@Kimiyu-186](https://github.com/Kimiyu-186) [@KirDE](https://github.com/KirDE) [@louria](https://github.com/louria) [@Ludwigtheo0815](https://github.com/Ludwigtheo0815) [@Marvinthebored](https://github.com/Marvinthebored) [@MasterSwords1](https://github.com/MasterSwords1) [@maxpuppet](https://github.com/maxpuppet) [@MertBasar0](https://github.com/MertBasar0) [@mmaps](https://github.com/mmaps) [@mpquemel](https://github.com/mpquemel) [@ngominhduc263](https://github.com/ngominhduc263) [@NovaUnboundAi](https://github.com/NovaUnboundAi) [@nweishar](https://github.com/nweishar) [@obnoxious2011-cmd](https://github.com/obnoxious2011-cmd) [@obviyus](https://github.com/obviyus) [@Oldrich333](https://github.com/Oldrich333) [@Olli0103](https://github.com/Olli0103) [@oxen-horse](https://github.com/oxen-horse) [@Patrick-Erichsen](https://github.com/Patrick-Erichsen) [@paulcam206](https://github.com/paulcam206) [@Peetiegonzalez](https://github.com/Peetiegonzalez) [@rebarshop-24](https://github.com/rebarshop-24) [@RileyJJY](https://github.com/RileyJJY) [@ringbe-cyber](https://github.com/ringbe-cyber) [@RomneyDa](https://github.com/RomneyDa) [@Rotocruz](https://github.com/Rotocruz) [@RvsL](https://github.com/RvsL) [@sahilsatralkar](https://github.com/sahilsatralkar) [@ScientificProgrammer](https://github.com/ScientificProgrammer) [@shakkernerd](https://github.com/shakkernerd) [@stackingrockss](https://github.com/stackingrockss) [@steipete](https://github.com/steipete) [@stuart-minion-ai](https://github.com/stuart-minion-ai) [@sunlit-deng](https://github.com/sunlit-deng) [@SunnyShu0925](https://github.com/SunnyShu0925) [@takyyon](https://github.com/takyyon) [@VACInc](https://github.com/VACInc) [@victor-gurbani](https://github.com/victor-gurbani) [@vincentkoc](https://github.com/vincentkoc) [@waynegault](https://github.com/waynegault) [@WG-Mojo](https://github.com/WG-Mojo) [@WhitenessTiger](https://github.com/WhitenessTiger) [@wuwo2119](https://github.com/wuwo2119) [@xXG0DLessXx](https://github.com/xXG0DLessXx) [@yetval](https://github.com/yetval) [@zachisfine](https://github.com/zachisfine) [@zhyx1996](https://github.com/zhyx1996) [@zyz619963502zyz](https://github.com/zyz619963502zyz)
Release verification
  • npm package: https://www.npmjs.com/package/openclaw/v/2026.9.9
  • registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.9.9.tgz
  • integrity: sha512-3sB6ejq5smBozfBhVEDfK48wFpbkx+0f6PJ19qZjC3ab3RoFrYO58CnE2mAsbUy8sXdxdBtjQ3vkAqcW9BZXAw==
  • release SHA: bcfc88812a35243893585dbeca87ca41b48272ca
  • full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.9.9/release-evidence.md
  • release publish: https://github.com/openclaw/openclaw/actions/runs/37760358165
  • npm preflight: https://github.com/openclaw/openclaw/actions/runs/37737494191
  • full release validation: https://github.com/openclaw/openclaw/actions/runs/37736976027
  • plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/37761210573
  • plugin ClawHub publish: no normal OIDC candidates
  • plugin ClawHub bootstrap: not needed
  • OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/37755950239/attempts/1
  • Telegram integration checks: waived by the release owner for 2026.9.9 (source QA, Package Acceptance, published-package E2E); not run.
  • Android APK: skipped — apps/android/version.json is 2026.8.2, release train is 2026.9.9; run pnpm android:version:pin -- --from-gateway before the next tag.

Installation

curl -fsSL https://clawd.bot/install.sh | bash
npm i -g clawdbot
$ tail ./comments.log

Comments (0)

Login with GitHub to post a comment
No comments yet. Be the first to comment!