OpenClaw release
2026.10.3
52 changes and 0 fixes shipped in OpenClaw 2026.10.3. Every entry links back to its upstream PR or issue.
52changes
0fixes
Changes52 total
- 01Blocked updatesBlocked updates. Updates can clear eligible leftover recovery work and archive completed update records that previously blocked the next upgrade. Already-blocked older updaters need the manual installation or recovery first step; an independent recovery helper can preserve the completed record and unblock the original updater. #168388, #169038, thanks to @steipete, @k94118, @kimjinsuhh, @GoldenrodScript, @neilofneils404, @mkdelta221, @waynegault, @clawdgawd, @yoyo837, @lishewen, @nukk-pain, @jullianatolentino, @joshpetras and @creanet-64.
- 02Interrupted 2026Interrupted 2026.9.8 updates. The updated CLI can settle supported aborted records that prevented another update. This legacy recovery path warns when package contents could not be rechecked, so keep the recovery evidence and follow the repair guidance. #169027, thanks to @steipete and @chedong.
- 03FreeBSD package recoveryFreeBSD package recovery. Recovery helpers produced by the fixed updater can repair or retire interrupted npm package updates on FreeBSD. Older helpers still support status only, and package recovery remains separate from restarting or verifying the Gateway. See the updating guide. #168775, thanks to @steipete.
- 04Leftover updater copiesLeftover updater copies. Doctor can remove an eligible abandoned npm updater copy that prevents the next update. Wait for updater workers to finish, run openclaw doctor --fix from the affected installation, then retry. Keep the recovery journal and its permissions intact; see update troubleshooting. #170170, thanks to @steipete, @sunnyshu0925 and @warhangel.
- 05Candidate checks with older updatersCandidate checks with older updaters. A newer candidate is no longer rejected solely because Doctor would update version, setup or migration bookkeeping. Real settings repairs and substantive migrations still follow their existing handling. See the update guide. #170195, thanks to @steipete, @maestrokling and @frxiaobei.
- 06Older Node updatersOlder Node updaters. Updates avoid an unnecessary rollback when older and newer update processes measure time differently and mistake a valid update for a lost one. #169915, thanks to @vincentkoc.
- 07Updates requested in chatUpdates requested in chat. Fixed a Doctor cleanup check that falsely refused permission and rolled back chat-requested updates, sometimes leaving plugin upgrades unfinished. #170218, thanks to @RomneyDa, @hannesrudolph, @ezimerman, @yoyo837, @aia007731-lab, @justinforsound and @steipete.
- 08Doctor during updatesDoctor during updates. Doctor can continue after a later process check fails when it already verified the updater. If recording a newly started command fails, Doctor can clean it up after confirming it stopped, avoiding leftover work that blocks later repairs. #169563, #169665, thanks to @RomneyDa and @steipete.
- 09Windows service accountsWindows service accounts. Updates recognize different Task Scheduler names for the same service account and can restart the Gateway without rewriting a service owned by somebody else. See the update guide. #169481, thanks to @steipete.
- 10Windows update and recovery pathsWindows update and recovery paths. Updater workers recognize short names and different capitalization for the same installation folder. Recovery snapshots also stop rejecting their own Windows temporary directory. The path correction requires the fixed updater to be installed before it starts the upgrade. #169292, #169397, thanks to @RomneyDa and @steipete.
- 11pnpm service commandsPnpm service commands. New or repaired Gateway service commands use pnpm's durable installation link, so replacing a versioned package folder does not break them. Update planning also recognizes installations reached through nested pnpm paths. Existing commands pinned to an old folder need repair or replanning; see update methods. #170003, thanks to @steipete, @xilopaint and @k-sekula.
- 12pnpm 12 launchersPnpm 12 launchers. Fixed native pnpm updates keep the openclaw command usable after staging cleanup, including with a symlinked global bin folder. The updater must already contain this fix. Already-broken commands need manual repair or a same-version pnpm reinstall after backup, using the same account and global directories. #170131, thanks to @steipete, @goutamadwant and @k-sekula.
- 13Service refresh refusalsService refresh refusals. An update can restart the preserved Gateway service after safely refusing to rewrite its definition. Restart still requires the existing definition and service ownership to pass revalidation, preserving customizations. See how updates run. #169658, thanks to @steipete.
- 14Busy state databasesBusy state databases. Optional progress logging no longer aborts an update solely because the database is briefly busy, and update-history writes spend less time blocking Gateway work. Required recovery writes remain mandatory. These driver-side improvements require the fixed updater to start the upgrade; see the update guide. #168210, #169283, thanks to @steipete, @jlapenna and @DonnieFi.
- 15Unrelated dependency copyingUnrelated dependency copying. Updates avoid copying dependencies from unrelated enclosing installations and scanning unrelated npm-global tools. The updater starting the upgrade must already contain these fixes; see the updating guide. #168927, #169551, thanks to @steipete, @RomneyDa, @goutamadwant and @holgergruenhagen.
- 16Configured update memory limitsConfigured update memory limits. Update commands using captured service settings retain configured Node memory limits, including memory-only overrides from your shell. This requires the fixed updater to be installed before the upgrade starts; see the update guide. #168889, thanks to @steipete and @bluet.
- 17Repair outcomes and next stepsRepair outcomes and next steps. Unfinished Doctor maintenance is reported as pending with a useful next action. Failures after data migration also point to the supported repair command. Keep the new installation and recovery snapshots, and follow warnings to keep the Gateway stopped while repair workers remain unsettled. See update repair. #167714, #168905, thanks to @steipete, @ruicozibon and @ezimerman.
- 18Update handoff reportsUpdate handoff reports. An already reported update outcome no longer produces a second misleading failure, and an update accepted by the background helper stays pending. Use the printed status and health commands to check its eventual result; see restart handoff. #168587, #168993, thanks to @steipete and @sayitfast.
- 19Update warning detailsUpdate warning details. Recovery-copy warnings identify the affected database, while a failed candidate configuration read explains the error and leaves the service definition unchanged. See recovery captures and the updating guide. #169282, #169284, thanks to @DonnieFi and @RomneyDa.
- 20Git update cleanupGit update cleanup. Temporary worktree cleanup continues when progress reporting fails, and the original update error remains visible alongside secondary diagnostics. If OpenClaw cannot confirm that update processes stopped, it keeps the recovery files and refuses to continue. This requires the fixed installed updater; see the repair guide. #169454, thanks to @hannesrudolph.
- 21Migration warnings and verification timersMigration warnings and verification timers. Completed plugin migrations stop showing obsolete unfinished warnings. Package verification also keeps its deadline when the system clock changes. Genuine pending migrations still need attention; see the repair guide. #169004, thanks to @steipete, @adenzhou1350 and @wg-mojo.
- 22Recovery copies before repairsRecovery copies before repairs. New recovery copies include older Canvas documents and Memory Core files before migration. Doctor and update recovery no longer reject a copy because scheduled background database maintenance changes files while it is being made. Update checks also work when the configured agent list is empty. Existing copies do not gain missing files retroactively. #169436, #170022, c01331a, thanks to @RomneyDa and @steipete.
- 23Channel tools after restartChannel tools after restart. Messaging accounts started or restarted by a chat or operator task keep using channel tools after that task finishes, with each later turn's permissions still enforced. #159396, thanks to @ceckert, @RomneyDa, @slinkoff, @fuller-stack-dev and @sjf-oa.
- 24Messages already being sentMessages already being sent. Recovery scanning leaves a message with its active sender, preventing the reported race that left queued messages unsent. #169010, thanks to @RomneyDa.
- 25Steered conversations after restartSteered conversations after restart. Human conversations can resume after a correction and Gateway restart when their original authorized source survives. Already-failed sessions are not reopened, and missing sender permissions are not reconstructed. See restart recovery. #170252, thanks to @steipete.
- 26Memory-file repairsMemory-file repairs. Doctor preserves the original bytes when malformed UTF-8 prevents merging MEMORY.md and the older memory.md. Keep the originals or preserved archive, and repair or convert a copy to UTF-8 before retrying. See workspace repair guidance. #169029, thanks to @steipete and @wangmiao0668000666.
- 27On this Mac setupOn this Mac setup. The Mac app can connect in eligible “On this Mac” setups that previously failed with “Gateway rejected auth”, with less unnecessary preparation and waiting. If a required new token cannot be saved, setup stops with a retryable error. See the bundled Gateway guide. #169403, thanks to @steipete.
- 28Mac reconnection after renewalMac reconnection after renewal. The Mac app reconnects automatically after a trusted Gateway certificate renewal. Learned fingerprints can renew after normal trust checks; explicitly configured fingerprints stay fixed. See remote connection guidance. #168151, thanks to @steipete and @fuller-stack-dev.
- 29Mac update and recovery checksMac update and recovery checks. The app recognizes its protected Bun Gateway command, addressing a cause of a stuck recovery screen despite a healthy Gateway. The protective launch option and ownership checks remain in place. #170006, thanks to @steipete, @jokerman1302-eng, @davidmackrory-byte and @josephsilvagnoli.
- 30Muse WonderMuse Wonder. Meta users can select Muse Wonder with text and image input and max thinking. Spark 1.3 Standard also supports max thinking and remains the setup default. The API supports Wonder Standard; max effort does not select Wonder Full. See the Meta guide. #170232, thanks to @RomneyDa.
- 31MiniMax M3MiniMax M3.1 Flash Preview. Eligible Token Plan or MiniMax Code users can select the preview model and choose low, medium, high, xhigh or max thinking effort. The preview defaults to max, including saved off or adaptive selections. M3 remains the default model. Missing published catalog rates do not mean free use; see the MiniMax guide. #160089, thanks to @NianJiuZst, @RomneyDa, @steipete, @Takhoffman, @php737, @ns-spec, @Hansen1018 and @olveww-dot.
- 32MiniMax sign-in renewalMiniMax sign-in renewal. Global and CN OAuth sign-ins renew expired tokens at their issuing regional account endpoint. Older saved sign-ins and region changes require one new login with openclaw models auth login --provider minimax-portal. See the MiniMax guide. #160459, thanks to @masatohoshino, @RomneyDa, @rongtianhua and @mychataa.
- 33Replies after native compactionReplies after native compaction. The next message waits for saved conversation history to become readable instead of failing while that history is rebuilding. See OpenAI guidance. #169583, thanks to @obviyus.
- 34Interrupted ChatGPT repliesInterrupted ChatGPT replies. An unfinished ChatGPT reply can continue from the saved conversation when a normal connection close interrupts it, within the existing retry limits. See model failover guidance. #167512, thanks to @ericcurtin, @obviyus, @mightyx and @aleps001.
- 35Codex follow-up messagesCodex follow-up messages. Compatible follow-ups can continue after failed conversation preparation while an existing background command keeps running. Incompatible permission or policy changes remain refused while protected work runs. #169431, thanks to @jjjhenriksen and @RomneyDa.
- 36Switching back to OpenAISwitching back to OpenAI. OpenAI models can use the existing built-in runtime when Codex is disabled and that runtime can run them. An explicitly configured Codex runtime still needs the Codex plugin enabled. #169412, thanks to @obviyus.
- 37Claude CLI tool discoveryClaude CLI tool discovery. Claude CLI receives the registered OpenClaw tool names and guidance for replies that must be sent through a tool, reducing failed lookups. This guidance applies to tools actually available to the conversation. See the CLI backend guide. #153032, thanks to @kiranvk-2011, @RomneyDa, @lakemike, @philknows, @destinedenergy and @wbumgardner-max.
- 38Claude CLI session toolsClaude CLI session tools. Later turns keep their authorized session, history and admin tools after the turn that started the shared connection ends. Each caller retains its own permissions and revocation checks. See the CLI backend guide. #165432, thanks to @Oldrich333, @Leit-motif, @steipete, @XX441, @aaajiao, @alexph-dev, @Claynetic, @N4DH, @Jeehut, @S1gv4rd, @arifarai, @davidevelyn, @marl0n and @Mydudeclaps.
- 39Copilot prompt capacityCopilot prompt capacity. Models with missing native limits can use the account's reported prompt capacity instead of the 128K estimate, while real limits and configured caps remain effective. Refresh discovery to replace previously cached estimates. #156636, thanks to @saju01, @RomneyDa, @snotty, @vinaycodeaxe, @zhangguiping-xydt and @Yigtwxx.
- 40DeepSeek replies and tool actionsDeepSeek replies and tool actions. Recognized internal tool markup stays out of replies, and managed turns can recover valid marked-up tool actions, including the calls wrapper. Direct provider calls and final replies filter the markup without recovering tools; malformed or unfinished recognized blocks stay hidden without execution. See the DeepSeek guide. #169728, thanks to @steipete and @TOMUIV.
- 41IPv6 provider fallbackIPv6 provider fallback. Guarded model requests can try a working IPv6 address when IPv4 is unreachable and Node address-family autoselection is enabled. Configured network security checks still apply. See connectivity troubleshooting. #168973, thanks to @steipete, @an2in, @georgenaz, @motookoyama and @orthogonalistic.
- 42Unchanged one-shot jobsUnchanged one-shot jobs. Doctor stops making redundant recovery copies for one-shot jobs whose saved timestamps are already correct. Genuine repairs keep their backup protections. #168938, thanks to @harshitgupta31415 and @wg-mojo.
- 43Blocked local plugin settingsBlocked local plugin settings. Doctor and updates preserve enablement, settings and policy for installed or linked plugins blocked by a path safety check. The plugin stays blocked until its path is repaired; see blocked-plugin guidance. #168111, thanks to @obviyus.
- 44oc-path file editsOc-path file edits. The opt-in oc-path plugin refuses openclaw path set edits on invalid UTF-8 before rewriting the file, preserving the original bytes. Back up and repair or convert the file before retrying. #168491, thanks to @wangmiao0668000666, @yetval and @Takhoffman.
- 45Webhook callbacks during upgradesWebhook callbacks during upgrades. Existing official webhook-channel callbacks can be preserved before a deferred plugin replacement is activated, including the affected Microsoft Teams path. Authored callbacks and opt-outs remain respected; see webhook migration guidance. #169035, thanks to @steipete and @sirius1024.
- 46Native plugin catalogsNative plugin catalogs. Catalog changes avoid repeatedly loading an unchanged installed native plugin, removing that source of growing memory use. After a failed refresh, the next request can use its requested configuration. #169272, #169321, thanks to @obviyus, @mcooks-cmd, @svdinu-jpg, @eduherranz and @RomneyDa.
- 47Commands on paired nodesCommands on paired nodes. An unchanged connected node keeps handling commands, requests and events while unrelated pairing information is updated or another device's pairing is being written. Actual revocation and token rotation still reject the old connection. #169486, #169575, thanks to @steipete and @gisk0.
- 48Codex plugin compatibilityCodex plugin compatibility. Official external Codex packages older than 2026.9.7 are reported unavailable before they break replies. Eligible official updates follow the core release, and failures show useful reasons. Use openclaw update repair or openclaw plugins update codex; linked copies need their source updated or load-path override removed. Finish Doctor before restarting when migrations are pending. See plugin update guidance. #170306, thanks to @RomneyDa, @steipete and @ezimerman.
- 49Plugin package repairsPlugin package repairs. A replacement package can be saved while its data migration is unfinished, allowing Doctor to continue. Finish openclaw doctor --fix before restarting or reloading the replacement. Unavailable automatically selected official ClawHub versions can use trusted same-version npm packages, or keep compatible installed code with a retry warning. Removing the plugin's entry preserves its backup and pending migration obligations. See the updating guide. #170339, thanks to @RomneyDa, @steipete, @h6y3, @CodeForcer, @waynegault and @rauf543.
- 50Saved sign-ins during Doctor repairsSaved sign-ins during Doctor repairs. An unreadable legacy auth file no longer causes the affected cleanup to discard saved OAuth profiles. Doctor identifies the file to inspect or restore before retrying, while unrelated repairs can continue. Previously deleted profiles and retired credential imports are not restored. See Doctor state recovery guidance. #170256, thanks to @steipete and @nosmile99.
- 51Restart with an unreachable cloud workerRestart with an unreachable cloud worker. The Gateway can stop or restart while deferring the stop of an unreachable stored cloud worker and reporting that deferral. The remote machine is not immediately stopped or deleted; later cleanup remains required. #168907, thanks to @steipete.
- 52Deleting an unfinished conversationDeleting an unfinished conversation. Deleting a session records cancellation before stopping its unfinished reply, allowing chat clients to receive the cancelled status. e115a6a.