openclaw 2026.9.5
Safer upgrades and retained history: Doctor preserves session history and repeated-repair state, finishes upgrades with invalid retained histories, and avoids repeatedly stalling or stopping a…
2026.9.5
Highlights
- Safer upgrades and retained history: Doctor preserves session history and repeated-repair state, finishes upgrades with invalid retained histories, and avoids repeatedly stalling or stopping a Gateway that is still starting. (#149741, #149956, #148901, #149308, #149823, #149760) Related #149822 Thanks @masatohoshino.
- Live plugin management: install and reload supported plugins without restarting the Gateway, update tools in active agent and managed Codex conversations, and manage multiple plugins in one CLI command. (#145484, #145710, #145713, #145648, #145917, #149910) Related #149909 Thanks @obviyus.
- Clearer multi-agent work: distinguish execution from result delivery, use private parent completion handoffs, resume scoped session inventories, and deliver one answer for each steered input. (#147571, #147206, #150065, #148051, #149925) Related #27445, #147955 Thanks @good-warning, @nicknmorty, @obviyus, @VACInc, and @vincentkoc.
- A desktop-first Systems workspace: manage Gateway connections through web login and switch saved Gateways independently of Primary, with sidebar switching on iOS and Android. (#147519, #148526, #147684, #146641, #148209) Related #147217, #147576, #148205 Thanks @IWhatsskill, @Solvely-Colin, and @vincentkoc.
- More flexible live voice: use GPT Live across calls and meetings, choose account-specific Talk defaults, and change voices during an active Talk or Discord call. (#145382, #146546, #146676) Related #145071.
- Citations and review in context: preview cited sources in web and native chats, turn selected chat text into editable comments, reference selected Android review lines, and toggle word wrapping in Review. (#148431, #148904, #148906, #148649, #144101, #143972) Related #144093, #148409 Thanks @ansxor, @IWhatsskill, @Marvinthebored, @Patrick-Erichsen, and @shakkernerd.
- Simpler model sign-in and selection: align native sign-in with runtime choices, sign in without changing the model, choose across agent harnesses, and connect Radius models with browser sign-in and native streaming. (#143588, #144329, #147994, #145377) Thanks @obviyus.
Changes
Conversation navigation: native sidebars preview pending requests, while macOS, iOS, Android, and web chat can collapse completed work so replies and older history remain easier to read. (#149811, #147540, #148002, #148050, #147295) Related #147271, #149682 Thanks @vyctorbrzezowski.
Agent setup and teams: start from role templates and a team preset, show every agent and its sessions in team mode, and use a roster-first Agents home. (#145712, #141476, #141097) Thanks @hannesrudolph.
Group conversations: coordinate bounded multi-agent group threads across channels and share selected sessions read-only with a paired team Gateway. (#141411, #136253)
Activity and run artifacts: show rolling session recaps, Git changes and PR previews, and select assistant-delivered files by the run that produced them. (#147441, #145530, #147682) Related #145529, #147383 Thanks @onlyysaurabh and @vincentkoc.
Browser and dashboards: download assets from the Browser sidebar, share browser dashboards with agents, embed websites in full-screen session dashboards, and save shared split/full-screen defaults. (#144480, #146702, #146312, #146475) Related #144477, #146303, #146308, #146577 Thanks @Patrick-Erichsen.
Desktop interaction: control Gateway desktops without a paired node, match virtual worker displays to their viewport, and watch live desktops in Picture-in-Picture. (#147275, #143938, #143836) Related #143829, #147274 Thanks @vincentkoc.
Remote workspaces: start remote sessions without a repository, select repository-defined source checkouts, and reduce source storage through filesystem snapshots, APFS clones, and ReFS clones. (#147773, #149581, #146251, #146338, #146403) Related #146250, #146288, #149580 Thanks @fuller-stack-dev and @obviyus.
Code mode: find MCP tools by task, reuse results between code cells, retain oversized results for later cells, and infer result shape from the requested action. (#147134, #147154, #147278, #147291)
Plugin state and background work: offer asynchronous task/flow reads and worker-backed keyed and conditional state operations without removing the supported synchronous SDK paths. (#145851, #146557, #147891)
Hot policy changes: apply browser control policy, Telegram access/reply policy, and renewed TLS certificates without restarting their running services. (#146100, #146129, #146267)
Model providers: support OpenRouter sign-in from private chat, explicit consent before exposing restricted provider models, and opt-in stored HTTP continuation for compatible Responses endpoints. (#144491, #144468, #128633) Related #123215 Thanks @hartmark, @obviyus, and @Patrick-Erichsen.
Codex interaction: answer asynchronous questions while other agent work continues, view usage beside saved logins, and expose slow or failed catalog phases with retained-request correlation. (#144664, #132453, #132454, #148639, #148735, #149616) Related #144643, #148629, #148728 Thanks @jesse-merhi.
Daybreak fallback: retry supported cyber-refused turns on Daybreak, surface cyber notices, and announce successful retries. (#143761, #145291, #147146) Thanks @VACInc.
Triage handoffs: add Muse, Grok, Cursor, Kimi Code, and Qwen Code handoffs through the existing triage workflow. (#149703, #149877)
Automation history: query and paginate run history from the CLI, show readable timer wake timestamps, and list matches when an automation name is ambiguous. (#141777, #141742, #150082) Related #58574, #141745 Thanks @Alix-007, @Celthi, @Patrick-Erichsen, and @shakkernerd.
Structured channel questions: answer an agent question directly from its offered Mattermost option or LINE tap. (#135350, #133421) Related #133288, #133418 Thanks @edenfunf and @Patrick-Erichsen.
Chat composition and files: keep drafting while history loads, offer emoji shortcodes, retain file previews in tabs with HTML rendering, and display image attachments inline in the TUI. (#143625, #146737, #146672, #146644) Related #143607, #146590, #146610, #146655 Thanks @VACInc, @vincentkoc, and @vyctorbrzezowski.
Review and workboards: inspect CI jobs and steps from PR chips and select or update multiple workboard cards together. (#148070, #144756) Related #147952 Thanks @vyctorbrzezowski.
Personalization: choose an avatar during agent hatching, use custom SVG session icons, and distinguish plugin activity with compact icons. (#146669, #147442, #147333, #143711) Related #143683 Thanks @Patrick-Erichsen.
Gateway visibility: show ping and shared activity graphs, a browser-tab status dot, and compact System busyness widgets with all three metrics. (#146755, #147388, #147760, #147840) Related #147343, #147757, #147829 Thanks @vyctorbrzezowski.
Native desktop layout: unify Tauri setup, Quick Chat themes, title bars, and window controls; the macOS app defaults to the web experience while retaining its experimental native experience. (#148808, #147097, #149763) Related #147096.
Diagnostics: report when the runtime was built from a different commit than HEAD, expose administrative CPU profiles, and inspect native FreeBSD rc.d service discovery. (#144499, #148004, #148875) Related #148003 Thanks @RomneyDa and @vincentkoc.
Provider and channel configuration: expose official channel labels/docs in JSON listings, allow a Discord API URL override, and show comparative cost analysis in the Control UI. (#93265, #118067, #100432) Related #100405 Thanks @fuller-stack-dev, @obviyus, and @RomneyDa.
Execution options: configure approval-reviewer thinking and fast mode, and default parallel-session capacity to four runs per available CPU. (#147192, #147423) Thanks @VACInc.
Plugin SDK migration — Gateway V2: the existing Gateway handler and node-session imports now expose physical WebSocket, generic framed, and HTTP polling capabilities honestly. Before WebSocket-only operations, narrow
node.client.webSocket; narrownode.client.socketseparately for framed operations. Polling nodes remain visible, and the node wire protocol is unchanged. Migration details:/plugins/sdk-migration/compatibility-policy#gateway-node-transport-sdk-v2. Thanks @vincentkoc and @RomneyDa.
Fixes
Identity and authorization: stop inferring forwarded sender identity from message text, stop MiniMax token requests after chat-login permission is revoked, and preserve attachments whose content types use prototype-like names. (#138579, #149140, #143673) Related #149139 Thanks @LiuwqGit, @masatohoshino, @obviyus, and @xialonglee.
Transcript and session ownership: prevent stale companion/cloud transcript writes, preserve context and ownership across compaction, and track new sessions before their first transcript write. (#149997, #149840, #149712)
Final replies and completed work: retain completed tool receipts through text-only finalization and empty-answer retries without repeating completed actions or recording internal continuation prompts as new user messages. Thanks @vincentkoc and @RomneyDa.
Large-history responsiveness: keep large session detail and chat metadata reads responsive, avoid blocking the Gateway during memory index publication, and reduce retention work and startup/Doctor memory pressure. (#149749, #149853, #149901, #149754, #149704) Thanks @fuller-stack-dev.
Update and Doctor recovery: preserve shared WAL after a refused restore, unblock shared-state repair for July upgrades, and avoid false pending migrations for bundled runtimes. (#149918, #149753, #149653) Thanks @obviyus.
Service upgrades: preserve Gateway authentication when reinstalling legacy services and avoid timing out systemd restart inspection. (#149686, #149970)
Managed-service updates: fix service environment refresh failures when upgrading from 2026.9.4 to 2026.9.5 with
openclaw update. (#151977)Subagent continuation: inherit the active model at spawn, enforce fork limits against current context, and resume tasks after output-limited tool calls. (#149036, #149666, #149844) Thanks @vincentkoc.
Channel shutdown: finish accepted Telegram work, Discord introductions, and deferred Slack replay before shutdown, while preserving Telegram spool settlement ownership. (#150080, #150072, #150073, #149953) Thanks @obviyus.
Channel startup and routing: avoid blocking Discord startup on persisted bindings and allow cross-provider messaging by default. (#149861, #149875)
Plugin reloads: reuse the published inbound registry and bundled setup code, keep Lossless usable after settings reload, and validate source reloads under Bun. (#149648, #149646, #149675, #150088) Thanks @Patrick-Erichsen.
Provider execution: retain disabled-plugin CLI backend capabilities during inspection, reject incomplete compatible reply streams, and preserve the configured transport during authentication refresh. (#149837, #149842, #150003) Related #149854, #149855 Thanks @obviyus, @zhangguiping-xydt, and @SunnyShu0925.
Codex startup and catalogs: prevent service refresh from repeatedly aborting startup, bound catalog memory while retaining tied rows, and avoid repeated scans across multiple homes. (#149365, #150112, #149879) Thanks @bdjben and @obviyus.
Automation correctness: prevent extra event-schedule runs, reject ambiguous exact-name lookups, and keep selected automation history and edits attached to the intended task. (#149902, #149958, #149955, #150129) Thanks @Alix-007.
Session navigation: retain archive confirmation after leaving Sessions, preserve pagination when switching agents during deletion, and keep newer selections when older mutations finish. (#150108, #150125, #149959)
Chat state: keep your own messages right-aligned through refresh and reconnect, and clear resolved queued-message reorder conflicts. (#147634, #149962) Related #147511 Thanks @keith9681, @obviyus, and @SunnyShu0925.
Files and selection: keep workspace files readable, preserve Files selection during directory refreshes, retain parent navigation for unavailable folders, and preserve model searches during text composition. (#149499, #149900, #150118, #149845)
Windows paths and credentials: preserve state roots during database admission and worker startup, retain credential reads, and read exact configuration filenames containing whitespace. (#149976, #150035, #149124, #149629) Related #149630 Thanks @obviyus and @zhangguiping-xydt.
Workspace safety: keep file tools aligned with overlapping sandbox mounts and preserve work through worktree creation and cleanup races. (#148893, #149914) Thanks @vincentkoc.
Legacy updater handoffs: keep the Node runner resolver independent of candidate runtime imports, complete changed-plugin Doctor work through the correct parent/child owner, and inspect copied Doctor contracts in private rehearsals while leaving live installation paths protected. Thanks @vincentkoc and @RomneyDa.
Plugin SDK authoring: retain released boolean memory-search
enabledvalues and undefined per-channelresponseUsageentries without changing runtime resolution or persisted configuration schemas. Thanks @vincentkoc and @RomneyDa.Shipped SDK compatibility: preserve full-config and readonly roster inputs, versioned legacy model-selection authoring, Discord component registration's
voidreturn, and Gateway plugin metadata notifications through their existing lifecycle and restart owners. The deprecated model-policyallowsKeymember remains source-only and is never used for authorization; asynchronous completion and errors remain owned after a void call returns. Thanks @vincentkoc and @RomneyDa.
Complete contribution record
The full contribution record is available in the tag-pinned CHANGELOG.md.
Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.9.5
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.9.5.tgz
- integrity:
sha512-TCO/ImVLh5HkF4tdfo7iriIa7kT6iYkIr/jR5ZOkePGFGhUx5Oe7DE716Y1DzzG2teRAVDdCjgJDu1A24Yta7w== - release SHA:
ec9c1a13db8938e5a3eaa51fca2e981cde2395a9 - full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.9.5/release-evidence.md
- release publish: https://github.com/openclaw/openclaw/actions/runs/35409974142
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/35382454474
- full release validation: https://github.com/openclaw/openclaw/actions/runs/35381634370
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/35410618472
- plugin ClawHub publish: not verified after a required ClawHub failure: https://github.com/openclaw/openclaw/actions/runs/35410622214
- plugin ClawHub bootstrap: not verified after a required ClawHub failure: https://github.com/openclaw/openclaw/actions/runs/35410623779
- OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/35410777778
- Stable soak waived by operator: "Operator-approved by Peter for 2026.9.5: soak-only live/E2E lanes blocked by infrastructure and main-owned fixture failures; non-soak Full Release Validation 35381634370 attempt 2 green; 9.4 to 9.5 update proven on systemd-service and plain installs."
- npm Telegram beta E2E: not supplied
- Android APK: skipped — apps/android/version.json is 2026.8.2, release train is 2026.9.5; run the shared mobile cutter (scripts/mobile-release-version.ts --prepare) before the next tag.