2026.10.5-beta.3
Highlights
- Updates leave the Gateway running: pnpm 12 installs keep their Gateway service and
openclawlauncher on the durable install path, Windows updates accept qualified Scheduled Task accounts and their own verified driver, macOS accepts protected Bun service commands, and clean service-install refusals no longer leave the Gateway stopped. (#170003, #169059, #170131, #169244, #169481, #169563, #170006, #169662, #169658, #169915) Thanks @xilopaint, @k-sekula, @RomneyDa, @jokerman1302-eng, and @vincentkoc. - Stuck updates recover: updates settle package-activation journals after filesystem remounts or device-number drift, ride out a briefly locked state database, stop reporting false post-install failures after migration, and reclaim retained updater runtimes that blocked npm recovery. (#169410, #170046, #169050, #169352, #168210, #170130, #169422, #170170, #169463) Thanks @patrickschiller, @RomneyDa, @SergeiAug, @angeliti999, and @Warhangel.
- Doctor keeps credentials and data: Doctor no longer deletes an OAuth profile when the legacy auth store is unreadable, refuses retired state before migrating the database, imports retained ACP metadata, and restores a stopped Gateway when cleanup fails. (#170256, #168959, #170051, #169918, #169759, #169783) Thanks @Yolo521-bot, @bautrey, and @RomneyDa.
- Turns survive restarts: interrupted turns, subagent work, automation turns, steered sessions, and node-hosted turns resume after a Gateway restart, and streamed replies from a killed worker stay in history. (#168650, #169144, #170162, #170252, #170161, #170223)
- Telegram never replays old updates: the first start after updating no longer re-dispatches months-old Telegram updates from the legacy spool as new owner instructions. (#170068, #169784) Thanks @angeliti999.
- Codex and provider replies complete: Codex replies keep their last tokens and accept follow-ups after a failed thread preparation, ChatGPT turns retry a mid-stream WebSocket close, and DeepSeek tool markup no longer leaks into messages. (#168400, #169431, #167512, #167345, #169728, #159665) Thanks @RomneyDa, @jjjhenriksen, @ericcurtin, @obviyus, @mightyx, and @TOMUIV.
- Meta Muse Wonder: Meta users can select
meta/muse-wonder-1.0with tools, image input, streaming, reasoning controls, and a 1M-token context window. (#170232) Thanks @RomneyDa. - Plugin SDK compatibility: plugins built against 2026.10.1 and 2026.10.2 can import
createSessionHeaderLinkfromopenclaw/plugin-sdk/control-uiagain. (#169746) Thanks @RomneyDa.
Changes
- Meta Muse Wonder: adds
meta/muse-wonder-1.0with text and image input, tools, streaming, encrypted reasoning replay, and a 1,048,576-token context window; Spark remains the onboarding default. (#170232) Thanks @RomneyDa. - Device joins: the CLI and Control UI join command now installs a background node service that can host agent sessions (
--service --session-host), with a command-only service alternative, and already-paired devices get a working command to enable session hosting. (#168623) Thanks @obviyus.
Fixes
- Telegram: legacy spool updates older than 24 hours are imported as stale and never dispatched, so already-handled messages are not executed again after an update. (#170068, #169784) Thanks @angeliti999.
- Plugin SDK compatibility:
createSessionHeaderLinkis restored inopenclaw/plugin-sdk/control-uias a deprecated export for plugins built against 2026.10.1 and 2026.10.2. (#169746) Thanks @RomneyDa. - Reply delivery: streamed text from a killed native worker stays in history with its real failure, steered messages behind subagent announcements are no longer dropped as interrupted, blocking questions from routed agent turns reach their conversation, live sends survive delivery recovery, WebChat no longer shows false attachment errors or duplicate file cards, Talk consultations no longer abort right after connecting, and deleting a session records its cancellation before draining retained replies. (#170223, #168077, #170039, #169010, #169093, #170083) Thanks @RomneyDa and @brokemac79.
- Restart recovery: turns interrupted while a session was still preparing resume after a restart, interrupted subagents return to their parent with their history, automation turns, steered sessions, and node-hosted turns resume instead of failing with an active turn claim, a Gateway restarts cleanly when a stored cloud worker's machine is gone, and symlinked state directories keep working after a restart. (#168650, #169144, #170162, #170252, #170161, #168907, #168361) Thanks @obviyus.
- Nodes and channels: node requests and events no longer fail with "pairing changed" during another device's pairing activity, and channel tools keep working after a config write restarts the account. (#169486, #169575, #159396) Thanks @ceckert and @RomneyDa.
- macOS app: fresh app installs authenticate to their app-hosted Gateway and finish setup faster, and the Gateway reconnects automatically after a trusted TLS certificate renewal. (#169403, #168151)
- Codex and OpenAI: Codex replies keep their final tokens when a stream drops the last delta, Codex follow-ups work after a failed thread preparation, ChatGPT turns retry a mid-stream WebSocket close with code 1000, and personal-account quota rechecks no longer abort replies. (#168400, #169431, #167512, #167345, #170065) Thanks @RomneyDa, @jjjhenriksen, @ericcurtin, @obviyus, and @mightyx.
- Models and providers: DeepSeek tool-call markup is recovered instead of leaking into messages, Claude CLI sessions call registered OpenClaw tools by their MCP names, providers that never send response headers time out, agent runs honor the provider's live thinking levels without reloading catalogs, LM Studio refresh discovers new models, llama.cpp setup keeps aliased models and fails when credentials cannot be saved, and guarded model requests fall back to IPv6. (#169728, #159665, #153032, #168282, #168566, #168039, #150262, #168232, #168973, #87763) Thanks @TOMUIV, @kiranvk-2011, @RomneyDa, @obviyus, @jb-lopez, @an2in, and @georgenaz.
- MiniMax: M3.1 models honor their thinking effort levels, and MiniMax OAuth sign-ins refresh expired tokens instead of failing about two hours after login. (#160089, #160037, #160459, #77467) Thanks @NianJiuZst, @Takhoffman, @php737, @masatohoshino, and @rongtianhua.
- ACP and compaction: ACP agents keep plugin and OpenClaw tools when acpx is installed as a separate package, and the next turn after native compaction no longer fails while the transcript projection rebuilds. (#164272, #164211, #169583) Thanks @jayzhou2309, @obviyus, and @ajmtrz.
- Automations: manual runs keep tool access after the starting turn ends, cron no longer holds the state writer while waiting on the host so updates do not fail with a locked database, and a one-shot automation that fails terminally now sends a failure notice instead of disabling silently. (#168037, #168291) Thanks @obviyus.
- pnpm and platform updates: pnpm 12 Gateway services and
openclawlaunchers stay on the durable install link after updates, Windows updates accept qualified Scheduled Task account names and no longer roll back when Doctor re-checks ancestry, macOS updates accept protected Bun service commands, and clean service-install refusals stay recoverable. (#170003, #169059, #170131, #169244, #169481, #169563, #170006, #169662, #169658) Thanks @xilopaint, @k-sekula, @RomneyDa, and @jokerman1302-eng. - Update recovery: package-activation journals settle after filesystem remounts and device-number drift, retained updater runtimes outside
node_modulesare reclaimed and never hard-link recovery files, upgrades keep state ownership across the heartbeat transition, and update-time Doctor keeps its child identities after a failed custody binding. (#169410, #170046, #169050, #169352, #170170, #169463, #169915, #169665) Thanks @patrickschiller, @RomneyDa, @SergeiAug, @Warhangel, and @vincentkoc. - Update outcomes: updates with a running Gateway no longer record false post-install failures after migration, unsafe Doctor recovery guidance is kept until settled, candidate bookkeeping no longer makes older updaters refuse their config repair, and Doctor cleanup during updates no longer fails with nested-effect errors. (#170130, #169422, #170207, #170195, #170070, #168750) Thanks @angeliti999, @hannesrudolph, and @ezimerman.
- Update database contention: updates ride out a briefly locked state database, update history writes no longer stall Gateway cron and cleanup, and Doctor recovery captures stay stable while shared-state workers remain open. (#168210, #169283, #170022) Thanks @DonnieFi.
- Doctor data safety: Doctor keeps OAuth profiles when the legacy auth store is unreadable, refuses retired state before migrating the database, imports retained ACP metadata after archiving legacy session stores, restores a stopped Gateway when cleanup fails, and removes the
(multiple)store sentinel registered as an agent database. (#170256, #168959, #170051, #169918, #169759, #169783, #170043, #169764) Thanks @Yolo521-bot, @bautrey, @RomneyDa, and @ourcoms2018. - oc-path:
openclaw path setrefuses malformed UTF-8 before writing, preserving the file's bytes. (#168491) Thanks @wangmiao0668000666 and @Takhoffman.
Complete contribution record
This audited record covers the complete v2026.10.5-beta.2..463017d history: 71 in-range PRs + 0 retained seed-only PRs = 71 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.2 (6 PRs: #108851, #165334, #168164, #168651, #169102, #169268).
Pull requests
- PR #169410 Thanks @patrickschiller and @RomneyDa.
- PR #170046 Related #169050, #169352. Thanks @patrickschiller and @SergeiAug.
- PR #168210
- PR #169283 Thanks @DonnieFi.
- PR #169563 Thanks @RomneyDa.
- PR #169481
- PR #169915 Thanks @vincentkoc.
- PR #170170 Related #169463. Thanks @Warhangel.
- PR #168907
- PR #168973 Related #87763. Thanks @an2in and @georgenaz.
- PR #168491 Thanks @wangmiao0668000666 and @Takhoffman.
- PR #169010 Thanks @RomneyDa.
- PR #159396 Thanks @ceckert and @RomneyDa.
- PR #169486
- PR #169575
- PR #170065
- PR #153032 Thanks @kiranvk-2011 and @RomneyDa.
- PR #170068 Related #169784. Thanks @angeliti999.
- PR #164272 Related #164211. Thanks @jayzhou2309 and @obviyus and @ajmtrz.
- PR #169728 Related #159665. Thanks @TOMUIV.
- PR #170083 Thanks @brokemac79.
- PR #167512 Related #167345. Thanks @ericcurtin and @obviyus and @mightyx.
- PR #168400 Thanks @RomneyDa.
- PR #169583 Thanks @obviyus.
- PR #168077
- PR #170043 Related #169764. Thanks @ourcoms2018.
- PR #169783 Thanks @RomneyDa.
- PR #169759 Thanks @RomneyDa.
- PR #170070 Related #168750. Thanks @hannesrudolph and @ezimerman.
- PR #169658
- PR #169665
- PR #170003 Related #169059. Thanks @xilopaint.
- PR #170006 Related #169662. Thanks @jokerman1302-eng.
- PR #170131 Related #169244. Thanks @k-sekula.
- PR #170195
- PR #170051 Related #169918. Thanks @bautrey.
- PR #170130 Related #169422. Thanks @angeliti999.
- PR #170207
- PR #170256 Related #168959. Thanks @Yolo521-bot.
- PR #168361 Thanks @obviyus.
- PR #168282
- PR #168232
- PR #168039 Related #150262. Thanks @jb-lopez.
- PR #168566 Thanks @obviyus.
- PR #168037 Thanks @obviyus.
- PR #168291
- PR #169093
- PR #168151
- PR #164435 Related #150152. Thanks @fuller-stack-dev and @joryirving.
- PR #169403
- PR #169144
- PR #168650
- PR #170162
- PR #170252
- PR #170039
- PR #170223
- PR #170161
- PR #169746 Thanks @RomneyDa.
- PR #169012 Related #168257. Thanks @RomneyDa.
- PR #169567 Thanks @RomneyDa.
- PR #170181 Related #169737. Thanks @RomneyDa.
- PR #170113
- PR #168623 Thanks @obviyus.
- PR #170178 Related #169669. Thanks @RomneyDa.
- PR #169664 Thanks @RomneyDa.
- PR #169431 Thanks @jjjhenriksen and @RomneyDa.
- PR #170022
- PR #170232 Thanks @RomneyDa.
- PR #170702 Thanks @RomneyDa.
- PR #160089 Related #160037. Thanks @NianJiuZst and @Takhoffman and @php737.
- PR #160459 Related #77467. Thanks @masatohoshino and @rongtianhua.
Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.10.5-beta.3
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.10.5-beta.3.tgz
- integrity:
sha512-5MzDpb696yD1lbQVgF+aaUQZCu7XAMfnfOs/564ulKBis5NKGrrqoeT8jAxTmJ+x/sr1oIQd3ASW8GMxGoz9IQ== - release SHA:
1808b57b75f056fe4ae247d6cbc1ba68f1717858 - full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.10.5-beta.3/release-evidence.md
- release publish: https://github.com/openclaw/openclaw/actions/runs/38372568845
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/38362655503
- full release validation: https://github.com/openclaw/openclaw/actions/runs/38361912690
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/38373404959
- plugin ClawHub submission: https://github.com/openclaw/openclaw/actions/runs/38373411660; 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/38376161524
- npm Telegram beta E2E: not supplied