// aktualnosc openclaw
OpenClaw 2026.8.1
## 2026.8.1
### Highlights
- **Find past conversations:** search visible conversation text by exact words or phrases and reopen the surrounding messages from a matching result. (#105057, #105635, #105585) Thanks @hercial61.
- **Sessions beyond your Gateway:** run work on paired devices or cloud workers, move the session workspace with it, and reuse warm machines and project seeds for later cloud sessions. (#123280, #127752, #131744, #132374)
- **Follow work as it happens:** keep a durable session progress card through reloads and follow subagent activity and accumulating edits across web and native chat. (#125125, #125438, #125442, #125444, #121549, #121840, #121815, #121813)
- **Answer clearly:** respond to structured agent questions through web and native cards, messaging buttons, or plain text, with free-text alternatives and an explicit Skip path. (#109922, #110372, #130262) Thanks @obviyus.
- **Interactive results and dashboards:** use widgets in chat, pin them to session dashboards, grant specific actions or network origins, and export rendered views as images. (#101840, #108983, #110960, #127315) Thanks @hannesrudolph.
- **Private credential requests:** let your agent request a credential through a masked prompt without putting its value in chat or model context, and use an opt-in proxy to limit protected-secret substitution to approved destinations. (#129670, #123216, #132122)
- **Approve recurring work once:** grant an automation permission for an exact operation, inspect or revoke that permission later, and require a fresh approval when the job or operation changes. (#129526, #131602)
- **Richer audio and video:** keep media attached to the conversation across uploads, generated replies, playback, and reloads, with native playback controls and video uploads on Apple and Android clients. (#115842, #116051, #116037)
### Changes
- **OpenProse migration (breaking):** remove the bundled OpenProse plugin and `/prose` command; run `openclaw doctor --fix` to clean stale configuration and follow the [upstream Agent Skill migration](https://docs.openclaw.ai/prose), keeping existing `.prose` source files. (#128494) Thanks @obviyus and @vincentkoc.
- **OpenAI route migration (breaking):** use `openclaw doctor --fix` to migrate shipped `codex/*` and `openai-codex/*` model refs, provider config, stored sessions, and automation routes to `openai/*`, retaining Codex runtime intent and flagging conflicts for operator repair. Thanks @vincentkoc.
- **Upcoming deprecations (2026-09-01):** external plugins should migrate ahead of the SDK removal gate: `plugin-sdk-config-runtime-subpath` moves to `api.pluginConfig` and the focused `openclaw/plugin-sdk/config-mutation`, `openclaw/plugin-sdk/runtime-config-snapshot`, or `openclaw/plugin-sdk/config-contracts` imports; `plugin-sdk-channel-reply-pipeline-subpath` and `plugin-sdk-channel-lifecycle-subpath` move to `openclaw/plugin-sdk/channel-outbound`; `plugin-sdk-channel-message-subpath` moves to `openclaw/plugin-sdk/channel-outbound` and `openclaw/plugin-sdk/channel-inbound`; `plugin-sdk-infra-runtime-subpath` moves to focused `openclaw/plugin-sdk/` imports such as `delivery-queue-runtime`, `diagnostic-runtime`, `error-runtime`, `exec-approvals-runtime`, `fetch-runtime`, and `ssrf-runtime`, according to the helper used. These are upcoming gates, not removals in this release; see the [SDK migration guide](https://docs.openclaw.ai/plugins/sdk-migration) for per-helper mappings and remaining compatibility limits.
- **Official provider packages:** install BytePlus, ComfyUI, Mistral, NovitaAI, OpenCode, Synthetic, Volcengine, Vydra, and Xiaomi as needed through onboarding. Recover missing configured packages with `openclaw update repair` or `openclaw doctor --fix`; complete requested capability review and restart the Gateway after explicit installation. OpenCode Go remains bundled. (#116866, #116888, #116919, #117007, #117035, #116720, #116854, #116813, #116861) Thanks @vincentkoc.
- **Additional official packages:** install Cohere and Meta providers, DuckDuckGo search, Voyage embeddings, and iMessage messaging as separate official plugins when needed; configured missing owners use the same explicit update, doctor, or install recovery flow. (#116662, #116740, #116785, #117101) Thanks @vincentkoc.
- **OpenAI long-context opt-in:** make expanded active-input context an explicit model configuration choice, keeping the runtime budget distinct from the model's native capacity and preserving configured overrides. (#112916)
- **Personal conversation recall:** with Active Memory enabled, retrieve bounded same-agent private conversation context by default on personal installs without configured DM isolation; explicit controls can disable recall, and groups and channels remain excluded. (#110597)
- **Grounded dreaming:** enable model-backed background memory consolidation by default, promoting provenance-qualified material into long-term memory with a Dream Diary and an explicit disable control. (#114819)
- **Automatic self-learning:** capture strong reusable lessons and automatically apply scanner-approved new or Workshop-owned skills by default, while leaving user-authored skill changes pending and preserving explicit off or propose settings. (#115576)
- **Session reset default:** keep conversations across idle periods and day boundaries when no reset policy is configured; retain explicit daily or idle policies and manual `/new` or `/reset`. (#111140)
- **CPU-scaled foreground concurrency:** size default top-level agent concurrency from available CPU parallelism, bounded between 8 and 16 simultaneous runs, while preserving explicit operator limits. (#114047)
- **Explicit model allowlists:** separate aliases and per-model settings from explicit `modelPolicy.allow` restrictions, with per-agent policies and provider wildcards; doctor migrates valid legacy restrictions without silently opening access when migration is incomplete. (#110888) Thanks @vincentkoc.
- **Remembered model selection and explicit scopes:** choose whether a model change affects this session, its agent, or the shared default; preserve existing surface behavior when no scope is set, including session-only Telegram callback picks and local TUI selection. (#115717, #127813) Thanks @Marvinthebored and @Peetiegonzalez.
- **Conversation-bound automations and loops:** default new agent-turn automations to their originating conversation when creation has session context. Owner-only `/loop` supports fixed-interval or self-paced checks; context-free CLI/API creation stays isolated. (#114328)
- **Owner-directed ambient heartbeat:** send ambient heartbeat alerts to a resolvable owner DM by default and skip unroutable ambient polls; configure an owner or explicit target instead of relying on a previous group conversation. (#121988) Thanks @obviyus.
- **Named agent setup:** choose the first agent name during interactive onboarding or with `--agent-name`, migrate legacy main-session history to its clear owner, and reuse `main` as an ordinary agent ID after required doctor repairs. (#123521, #123609, #123424, #123349)
- **Clearer plugin trust:** review an external plugin's capabilities, source, version, and exact artifact before install or enablement, while keeping the previous plugin unchanged if you decline an update. (#130168) Thanks @vincentkoc.
- **Plugin install provenance warnings:** require `--force` for arbitrary executable plugin sources in CLI/chat installs. Trusted ClawHub, bundled, official-catalog, and tracked-update sources skip that provenance warning, but retain capability consent. Crestodian installs require trusted sources. (#102197) Thanks @jesse-merhi.
- **Session permission modes:** choose an explicit session permission mode and keep restricted filesystem access anchored to its recorded workspace or worktree, while newly created worktrees inherit configured policy unless a mode is selected. (#124909, #131547, #132989)
- **Team operator roles:** assign verified users named roles that limit accessible agents, other people's sessions, and operator scopes, and optionally require sandboxed execution for newly created sessions; these are collaboration controls, not hostile-tenant isolation. (#128548, #129926)
- **Shared credential store:** manage team-scoped secret and environment entries in SQLite through the CLI and Settings; keep secret values write-only, bind protected egress to declared hosts, and distinguish readable environment values from secrets. (#121559, #121724, #126088)
- **Optional 1Password broker:** resolve curated SecretRefs or read selected 1Password fields with service-account auth, per-secret approval, and value-free audit. Agent-tool reads expose the selected value to the model for that execution. (#106133)
- **Usage statistics controls:** offer opt-in feature statistics with the daily version check. Inspect payloads with `openclaw telemetry show`; disable statistics or all automatic update requests. Feature statistics default off. (#128476)
- **Incognito threads:** keep Control UI conversation transcripts and compaction state in Gateway memory until restart, with memory flush off. Provider processing, diagnostic logs, and explicit tool writes retain their own behavior. (#113006) Thanks @vincentkoc.
- **Guided onboarding:** guide first-run setup through Custodian with structured option cards and native setup controls. (#109841, #110141, #114631) Thanks @jesse-merhi.
- **Local model setup:** offer model-download actions in web and macOS onboarding, prefer stronger available local models during detection, and provide lean mode for local runtimes. (#113476, #109250, #110596)
- **Quick Chat and desktop setup:** add macOS dictation, paste-to-app and model controls, Linux agent switching and per-agent routing, and a more complete Linux onboarding flow. (#110994, #110285, #129815)
- **Cloud setup:** select project-specific cloud worker defaults and see the active service, profile, machine resources, and worker-slot availability in placement controls. (#126238, #125696, #132405, #132394)
- **Cloud worker bootstrap:** use the running Gateway’s verified runtime artifact for cloud nodes, aligning source builds and worker packages. Images need supported Node.js, npm, and registry access; reverse proxies must forward the authenticated bootstrap-artifact route. (#133037)
- **External supervision:** set `OPENCLAW_SUPERVISOR_MODE=external` to let an external supervisor own Gateway restarts, service lifecycle, and updates without competing native service changes. (#109162, #119846, #121069) Thanks @shakkernerd and @vincentkoc.
- **ClickClack setup and commands:** connect ClickClack with a one-use expiring setup code, verify the account immediately, and publish native command menus at Gateway startup when the token has `commands:write`. (#107907, #109398) Thanks @shakkernerd.
- **Memory migration:** offer detected Claude Code, Codex, and Hermes memory imports during CLI, macOS, and Linux onboarding. (#108977)
- **Plugin uninstall cleanup:** remove exact recorded install paths from `plugins.load.paths` for marketplace, npm, and other managed installs while preserving parent, child, prefix, and unrelated paths. (#118930) Thanks @vincentkoc.
- **Recoverable backups:** schedule recorded database backups, keep versioned snapshots in an operator-owned Git repository, and restore a verified full archive into a fresh staging directory. (#122485, #122750)
- **Shared Gateway profiles:** manage display names and avatars, see who is online, and retain session-creator attribution with person filters. (#111224, #111421, #111501, #112658) Thanks @joshavant.
- **Cloud lifecycle:** suspend idle cloud workers after a configured interval and provision a replacement on the next message, preserving the session and reconciled workspace. (#130242)
- **Development previews:** expose agent-run development servers through authenticated Portals, including supported node-backed cloud workers, without manually opening inbound worker ports. (#122536, #130105)
- **Device hosting:** opt paired machines into session hosting with one-paste onboarding and enable native session hosting from the macOS app. (#122499, #131717)
- **Daytona sandboxes:** add a Daytona backend plugin for isolated cloud execution. (#121554) Thanks @mislavivanda and @Patrick-Erichsen.
- **Task suggestions:** name the suggestion-card tool `suggest_task` so agents can propose follow-up work without implying that it has started, with doctor migration for persisted references to the old name. (#121694)
- **Goals:** create and manage goals from the Control UI without entering slash commands. (#131370)
- **Workboard:** link boards to owning automations, run attached automations when linked sessions finish, and show complete boards on session dashboards. (#125076, #125170, #125094) Thanks @vincentkoc.
- **Agent interoperability:** add an opt-in A2A 1.0 channel plugin for authenticated text tasks, task polling, and messages to configured peer agents. (#130008)
- **Email triggers:** start agent work from configured inbound IMAP mailboxes through a new plugin. (#130230)
- **Approval surfaces:** show typed operation-scope summaries on channel cards, add native Teams approve/deny controls, and deliver opted-in PWA approval notifications. (#130116, #129997, #129348) Thanks @Takhoffman.
- **Session organization:** carry session colors across web and native apps, group the web sidebar by project, and search sessions and connected catalogs from the command palette. (#132570, #131543, #128356) Thanks @VACInc.
- **Safer startup repair:** apply safe doctor configuration migrations at Gateway startup before normal operation. (#132135)
- **ClawHub review:** show available security-audit information before a plugin install. (#131233) Thanks @Patrick-Erichsen and @vincentkoc.
- **Debugging handoff:** add `openclaw triage` for sanitized agent-debugging handoffs. (#128756)
- **Shared conversation terminals:** share a conversation terminal across browser viewers, and let the agent inspect or operate an operator-opened terminal within that exact session and its permission policy. (#109005, #129604)
- **Terminal uploads:** drop files into a terminal with per-file upload progress, cancellation, and retry, then insert safely quoted paths without running a command. (#107364, #107789)
- **Experimental Fleet:** provision and manage separate experimental OpenClaw cells on a local Docker or Podman host, with per-cell resources, logs, diagnostics, and backup/restore. (#104527, #104669, #104814, #104828)
- **Experimental Swarm:** enable experimental Swarm in Labs to fan out bounded parallel subagents, await structured results, and follow their progress across web and native chat. (#110932, #111267, #111297, #111298, #113850)
- **Interactive widgets:** present interactive widgets in chat, pin them to session dashboards, export rendered views as PNGs, and grant exact actions or network origins to pinned widgets. (#101840, #108889, #108983, #110960, #110987, #110992, #111030, #125803, #127315) Thanks @100yenadmin and @hannesrudolph.
- **Editable prompt queues:** edit queued prompts in place and reorder pending messages without disturbing work already sent to a running session. (#121682, #121692, #124298) Thanks @vyctorbrzezowski, @jjjhenriksen, and @Patrick-Erichsen.
- **Structured questions:** answer structured agent questions through web and native cards, messaging buttons, or a plain-text reply, with free-text alternatives and an explicit Skip path. (#109922, #110372, #130262) Thanks @obviyus.
- **Durable progress cards:** follow one durable progress card for a session across web, macOS, iOS, Android, and dashboard views, retaining the latest plan or status through reloads. (#125125, #125438, #125442, #125444)
- **Presence-triggered conversations:** optionally wake an agent when an eligible Discord participant comes online or a previously active Slack participant returns, with scoped audiences, cooldowns, and configurable Slack guidance. (#107451, #108510, #123805, #123875) Thanks @sjf-oa and @sjf.
- **Room introductions:** introduce the agent when it joins an allowed Matrix or LINE group, with per-account switches to turn introductions off. (#131128)
- **Managed local inference:** set up managed llama.cpp chat and local embeddings, or connect an existing llama-server, using one model-provider namespace and read-only discovery. (#109444, #109585, #123701, #130883, #125781) Thanks @obviyus, @NovaUnboundAi, and @osolmaz.
- **Web request customization:** configure operator request headers for web_fetch and Gemini web search to work with controlled gateways and upstream requirements. (#115545, #115549) Thanks @jesse-merhi.
- **SQLite snapshots:** create, list, verify, and restore compact global and per-agent database snapshots with `openclaw backup sqlite`, using fresh restore targets. (#105718) Thanks @giodl73-repo and @vincentkoc.
- **Workboard dispatch cap:** add a request-scoped `--max-starts` override while preserving the default cap, sequential starts, and one-card-per-owner guard. (#100174) Thanks @souvikDevloper, @Souvikalp, and @jwest75674.
- **Conversation branches:** rewind or fork from a persisted user message, switch among retained transcript branches, and keep earlier conversation paths available; rewind changes chat context without undoing files or other tool effects. (#110660, #110857, #110886, #112056, #112284)
- **Shared-session participation:** set session visibility and membership, assign an owner, and enforce who may view, suggest, or contribute while retaining creator attribution. (#112787, #125057)
- **Headless agent runs:** run `openclaw agent exec` against a chosen working directory with temporary state, optional retained state, explicit model fallbacks, and machine-readable results while preserving configured security restrictions. (#113988, #116038)
- **Configuration change history:** record configuration changes with writer labels, sensitive-value redaction, and manual-edit detection so operators can inspect what changed. (#111147, #111286)
- **Memory ownership:** inspect the sessions that contributed to memory, exclude selected sources from admission, and remove identifiable derived memory with `openclaw memory forget` while keeping source transcripts intact. (#130151) Thanks @vincentkoc.
- **Skill Workshop:** consolidate and improve learned skill collections through a recoverable review flow, reuse existing skills during `/learn`, and schedule collection review through the Gateway's system-owned automation. (#121653, #130030) Thanks @obviyus and @joshavant.
- **MCP dashboards:** pin interactive MCP app views from a conversation to its dashboard, retaining bounded tool grants and restoring the view when reopened. (#111524)
- **MCP connections:** add servers from composer connectors and support per-requester OAuth credentials for shared MCP servers. (#115921, #122166) Thanks @obviyus.
- **Code Mode selection:** configure Code Mode per model while preserving inherited defaults. (#132332)
- **Model discovery:** add Qwen 3.8 Max/Flash, DeepSeek V4 Flash Vision (Experimental), NVIDIA Nemotron 3.5 Lightning, and GLM-5.3/Flash, with provider-owned discovery. (#131294, #123523, #130309) Thanks @oliver-mee and @Marvinthebored.
- **Conversation search:** search past conversations by exact words or phrases and reopen the surrounding messages from a matching hit. (#105057, #105585, #105635, #105831) Thanks @hercial61 and @obviyus.
- **Baseten and Qwen plans:** add Baseten Model APIs and Qwen Token Plan Team Edition as official external plugins with their own setup and authenticated model catalogs; Qwen Token Plan is for interactive use. (#108708, #94419) Thanks @oliver-mee.
- **Live model discovery:** discover available models from supported providers instead of relying solely on built-in catalog snapshots. (#112412, #113757) Thanks @fuller-stack-dev.
- **Agent-specific provider accounts:** manage model-provider credentials for the selected agent in the Control UI, keeping authentication operations scoped to the intended agent. (#111796)
- **Anthropic server compaction:** explicitly opt in to beta provider-managed context compaction for supported direct Anthropic API-key sessions while retaining the complete transcript locally. (#123402) Thanks @GodsBoy.
- **Utility model defaults:** use a provider-declared small model for short title and progress tasks when no utility model is configured. (#103769)
- **Keyless Firecrawl search:** offer an explicit Firecrawl Search Free choice with hosted starter-tier limits and richer Firecrawl-specific search controls. (#97078) Thanks @developersdigest.
- **Batched tool discovery:** search for several independent tool capabilities in one tool_search request, returning ordered results under the same catalog and access policy. (#118623) Thanks @jesse-merhi and @vincentkoc.
- **Skill Workshop approvals:** run agent-initiated apply, reject, and quarantine actions without an additional approval prompt by default while preserving `skills.workshop.approvalPolicy: "pending"` as an opt-in approval gate. (#107690) Thanks @shakkernerd.
- **Skill Workshop history review:** manually scan sessions newest-first, progressively checking older substantial work for conservative skill ideas. Store only SQLite cursor metadata and keep up to three pending proposals, even with autonomous self-learning off. (#106182, #106766)
- **OpenAI model selection:** use the exact `openai/gpt-5.6-sol` model for fresh API-key and OAuth setup, remove the duplicate alias from the picker, and preserve existing explicit model choices. (#122178)
- **xAI context compaction:** use native xAI Responses server-side compaction for supported routes while retaining the complete OpenClaw transcript locally. (#123622)
- **External skill references:** install `skills-sh:` references through ClawHub's mirrored, commit-pinned skill artifacts and normal safety checks instead of downloading directly from the source registry. (#112751) Thanks @Patrick-Erichsen and @vincentkoc.
- **Browser workflows that stay connected:** pair the Chrome extension with less setup, import selected existing browser logins into managed profiles on macOS, and inspect page text, network requests, and emulated devices from the agent. (#121586, #104057, #131592)
- **Remote browser login sync:** opt in to synchronizing selected macOS browser logins into a managed browser profile on a remote Gateway, with an explicit domain allowlist and local cookie decryption. (#123494)
- **Desktop control:** control capable paired desktops through windows, elements, and supported background actions with provider-specific tools. macOS keeps Peekaboo and Allow Computer Control on by default, subject to OS permissions. Windows/Linux CUA remains experimental and opt-in; loading CUA’s Gateway policy on every platform does not enable local control. (#123544, #123604, #123635, #123801, #123949, #115280, #132374)
- **Cloud desktop control:** enable Cloud Worker Desktop and a desktop-enabled Crabbox profile to control the session-bound desktop in its Desktop panel. A vision model and explicit tool access are required; an unavailable bound desktop never falls back to another paired machine. (#132374)
- **Browser extension CDP clients:** use paired Chrome with Puppeteer clients, including browser-context and target discovery. `openclaw browser extension cdp` shows non-secret endpoint/challenge metadata; relay secrets and auth headers are not printed by default. (#117915)
- **Trusted-proxy browser pairing:** optionally enroll Control UI and WebChat devices and approve same-key scope upgrades within operator-configured scope caps, while keeping key, role, and metadata changes separately approved. (#111189, #111916, #129563)
- **Node-hosted tools:** discover and invoke approved plugin tools and MCP servers on paired nodes without duplicating their server configuration on the Gateway; node-hosted MCP configuration takes effect after restarting the node and does not support OAuth servers yet. (#90431, #114877, #114876)
- **Slack at scale:** support Enterprise Grid identity, direct messages, workspace routing, actions, approvals, and presence. (#121373, #121014) Thanks @sjf-oa and @sjf.
- **Slack direct conversations:** open/reuse a DM or group DM with 1–8 distinct recipients, then send to its returned target. Opening honors configured write identity/workspace but sends nothing and grants no history access. (#132928) Thanks @sjf-oa and @sjf.
- **Slack progress:** show a live session card and compact commentary in the native progress stream. (#122552, #122976, #126480) Thanks @sjf-oa, @fuller-stack-dev, @Adkid-Zephyr, @thostr1, @kiranmagic7, @joshavant, @Chinmayrawat15, @Piyushrathoree, @vyctorbrzezowski, @ampagent, @jjjhenriksen, @jalehman, @vincentkoc, @licheer-zte, @sunlit-deng, @calinilie, @carjes232, @djerez-dot, @Solvely-Colin, @masatohoshino, @Patrick-Erichsen, @IWhatsskill, @ruel225, @VACInc, @edenfunf, @Kailigithub, @shakkernerd, @felirami, @pash-openai, @obviyus, and @sjf.
- **Telegram presentation:** send rich location and video-note messages and render supported Markdown lists natively. (#105142, #113158) Thanks @paulislava.
- **Feishu collaboration:** support bot-to-bot conversations with mention handling and let agents discover and resend received stickers. (#89783, #130374, #130498) Thanks @GeekyMax, @heyumeng154-alt, and @zw-xysk.
- **Channel emoji:** discover custom emoji across Discord, Slack, Telegram, and Matrix. (#128435, #128518)
- **Buzz conversations:** support bounded bot-to-bot room conversations, retain passive context for accepted turns, and allow flat automatic replies with typing indicators. (#130488, #130509, #130511)
- **ClickClack discussions:** open a ClickClack discussion beside an OpenClaw session, with a scoped side agent that can inspect its progress and relay requested changes. (#111503)
- **Slack user identity:** opt in to connecting with an authorized Slack user account and reading or posting as that person, using a companion app for incoming events without requiring a bot identity. (#109837)
- **Slack Agent View:** open separate agent conversations from Slack Agent View and carry its current page context into the correct thread while continuing to support existing Assistant View installations. (#103895) Thanks @Patrick-Erichsen.
- **Slack charts and tables:** render structured charts and tables directly in Slack messages, preserving readable text when a client or workspace cannot display the native blocks. (#102635, #104539)
- **Discord interactive widgets:** open agent-generated HTML widgets inside Discord Activities after configuring the bot application and its public Gateway route. (#107442)
- **Telegram rich messages:** optionally send native tables, headings, details, checklists, formulas, and rich media through Telegram Bot API 10.2, while keeping ordinary HTML messages as the compatibility default. (#107986) Thanks @obviyus.
- **Telegram dashboard:** open the full Control UI as a Telegram Mini App with /dashboard from a bot DM. (#102805) Thanks @obviyus.
- **Matrix presentation:** render spoilers, underline, and native tables in Matrix messages. (#113199)
- **Teams and Zoom meetings:** install the official meeting plugins to join Teams and Zoom meetings as a browser guest, inspect call status and transcripts, and speak through the meeting tools while surfacing host admission or sign-in steps. (#109964, #111048, #116682) Thanks @vincentkoc.
- **Discord and Slack native login:** register `/login` in native command menus while keeping provider device-login codes limited to private chats and the Web UI. (#111341)
- **Buzz message fidelity:** preserve Markdown output and accept Buzz normal, rich-content, and structured-diff room messages through the existing authorized inbound path. (#116096) Thanks @shakkernerd, @vincentkoc, and @zw-xysk.
- **Buzz typing indicators:** show room- and thread-scoped typing during agent replies and heartbeat deliveries, refresh through the active authenticated connection without waiting for relay acknowledgement, and drop ephemeral updates safely during disconnects or shutdown. (#116194) Thanks @shakkernerd.
- **Buzz sender directory:** expose current bot, member, room, and room-member directory entries from bounded relay state; use current Buzz profile and room names in inbound context while preserving public keys and UUIDs as stable authorization and routing identities. (#116799) Thanks @shakkernerd.
- **Buzz native mentions:** map unique current room-member names and explicit NIP-27 identities to native `p` tags in replies, proactive sends, and bounded standalone delivery. Reject out-of-room identities and unresolved labels without explicit identity; retain reply-thread sessions in maintenance and heartbeats. (#117927) Thanks @shakkernerd and @joshavant.
- **ClickClack bot collaboration:** add opt-in bot-authored inbound dispatch with explicit sender authorization, mention gating, retry-safe loop protection, and independent thread budgets while keeping bot traffic denied by default. (#119278) Thanks @jjjhenriksen and @shakkernerd.
- **Discord voice:** optionally join occupied voice rooms and keep the agent informed about participant changes. (#125974, #107004)
- **Native video understanding:** send supported video inputs directly to compatible Google and Moonshot models and retain video for subsequent conversation replay. (#122074, #122337, #122257)
- **Speech:** add hosted Fish Audio synthesis and local MLX speech, and allow realtime voice agents to end a completed call. (#115790, #125525) Thanks @Conan-Scott, @Rheingold777, @ImLukeF, and @Patrick-Erichsen.
- **Talk continuity:** use durable client voice sessions and a macOS Gateway relay for realtime conversations. (#111216, #128204) Thanks @clifton, @vincentkoc, and @zhilong1115.
- **Spoken Slack mentions:** let captionless audio clips address an agent by a configured spoken name, checking sender access before transcription and discarding clips that do not qualify. (#103416)
- **Discord voice activation:** adapt supported realtime wake-name gating to room size so one person can speak naturally while shared rooms require the agent name. (#108696)
- **Feishu meeting invitations:** optionally route authorized meeting invitations to the agent so it can join through a configured Feishu VC tool. (#92340) Thanks @Ren1104.
- **Linux meeting talk-back:** use Chrome meeting talk-back on Linux through PipeWire-Pulse, alongside the existing macOS audio path. (#118451) Thanks @fuller-stack-dev, @Adkid-Zephyr, @thostr1, @kiranmagic7, @joshavant, @Chinmayrawat15, @Piyushrathoree, @vyctorbrzezowski, @ampagent, @jjjhenriksen, @jalehman, @vincentkoc, @licheer-zte, @sunlit-deng, @calinilie, @carjes232, @djerez-dot, @Solvely-Colin, @masatohoshino, and @Patrick-Erichsen.
- **Meeting notes:** retain completed meeting captions as durable transcripts and derived summaries that can be inspected or exported after the call. (#113122, #103811) Thanks @lonexreb and @solavrc.
- **Video Talk:** share bounded camera views (on demand for OpenAI, up to one frame per second for Google) with OpenAI Realtime and Google Live from browser Talk, with camera controls and microphone selection. (#109579, #109719, #111042, #111043) Thanks @shushushv.
- **More realtime voice options:** add xAI realtime voice and streaming speech synthesis as provider choices for voice conversations and spoken replies. (#106267, #103993) Thanks @TheAngryPit and @CassieMei.
- **Spoken reply control:** let agents choose separate spoken text, speech provider, and voice for a message while preserving its visible text. (#124913) Thanks @IWhatsskill, @ruel225, @jalehman, @VACInc, @vyctorbrzezowski, @joshavant, @edenfunf, @Kailigithub, @ampagent, @shakkernerd, @felirami, @pash-openai, @obviyus, and @Patrick-Erichsen.
- **Phone-call continuity:** optionally route phone calls into the agent main session so calls and the primary conversation share history. (#124708) Thanks @IWhatsskill, @ruel225, @jalehman, @VACInc, @vyctorbrzezowski, @joshavant, @edenfunf, @Kailigithub, @ampagent, @shakkernerd, @felirami, @pash-openai, @obviyus, and @Patrick-Erichsen.
- **macOS app profiles:** manage multiple Gateway windows and isolate named app profiles across state, preferences, Keychain, and Gateway services. (#111986, #121136) Thanks @vincentkoc.
- **Mobile navigation:** use a draggable web navigation drawer, a more compact composer and top bar, and an Android thread hierarchy with unified agent/session pickers. (#130319, #130308, #130318, #128862, #128309) Thanks @IWhatsskill, @Solvely-Colin, and @vyctorbrzezowski.
- **Appearance:** choose interface and chat fonts, save appearance preferences per user profile, and use the Tide, Beacon, and Phosphor themes. (#131275, #130340, #130232)
- **Android offline chat:** retain queued messages and attachments offline and retire them after canonical history confirms delivery. (#104089)
- **Linux signed updates:** update Linux AppImage installations through signed updates and a user-confirmed restart, while package-managed installations receive a release notice. (#108770)
- **Native Mac widget panels:** present a conversation widget in a connected native Mac panel while retaining its inline chat view; native panels are render-only. (#125818)
- **Wear OS companion:** use the Wear OS companion to pick agents, sessions, and models, read bounded conversation history, send dictated replies, and start realtime Talk through a paired Android phone. (#108835, #109341, #109433, #109483, #112721, #122123, #126863) Thanks @sibbl, @IWhatsskill, and @Solvely-Colin.
- **Optional Apple Health summaries:** opt in to read-only Apple Health summaries for today: aggregate steps, sleep, resting heart rate, and workout totals on-device. Agent-requested summaries may reach the model provider and remain in chat history. (#105616) Thanks @joshavant.
- **Android sharing:** share text, images, audio, and supported documents into the Android composer from other apps. (#104571, #110941, #130156) Thanks @NianJiuZst.
- **Native catalog terminals:** open eligible Codex and Claude Code catalog sessions in their native terminal on the owning Gateway or paired device, while retaining the read-only viewer. (#107086)
- **Control UI cloud workspace conflicts:** surface staged-ref guidance, bounded conflicted paths, structured transcript events, and sidebar attention for cloud worker results that kept local versions. (#111329) Thanks @vincentkoc.
- **Control UI update recovery:** make the "A new version is available" Reload button wait for the restarting Gateway, then reload automatically instead of requiring a hard reload. (#111670) Thanks @vincentkoc.
- **Control UI sender identity polish:** show real user avatars in an always-visible gutter on identity-resolving Gateways, remove profile-UUID suffixes from current and historical sender labels, and fetch profile-ID avatars through the canonical Gateway route. (#111537)
- **Control UI coding catalogs:** show provider brand icons beside Claude Code and Codex session catalog headings in the sidebar. (#115956) Thanks @vincentkoc.
- **Control UI workspace shortcut:** toggle the active session Files panel with Shift+Cmd+B while leaving the main app sidebar unchanged.
- **Control UI Settings shortcut:** open Settings with ⇧⌘, while leaving the browser-owned ⌘, shortcut unchanged. (#103870) Thanks @shakkernerd.
- **Control UI chat layout:** center the transcript on the composer axis, keep assistant and tool output left and user bubbles right within the same readable frame, and preserve custom message-width overrides. (#104474, #104646) Thanks @shakkernerd, @vincentkoc, and @zw-xysk.
- **Control UI composer footer:** center the chat settings chip and model controls between the divider and the card edge instead of pinning them to the divider. (#105866)
- **Control UI assistant actions:** keep assistant name and time first while placing hover actions beside them on the left instead of at the far edge. (#104884) Thanks @shakkernerd.
- **Linux desktop companion:** connect to local or remote Gateways from a tray application with guided setup, private managed CLI prerequisites, systemd service control, LAN discovery, multiple Gateway windows, and desktop integration. (#106352, #106533, #109236, #108115, #111932)
- **Android Accessibility Control:** let agents inspect and operate a paired Android screen through the third-party app build after Accessibility Control is explicitly enabled, with actions bound to observed controls and sensitive-control confirmation. (#112232, #112241, #112255)
### Fixes
- **Paired-device deadline outcomes:** surface unavailable paired devices consistently while waiting for reconnection, and preserve launch-timeout or explicit cancellation outcomes when they take precedence.
- **Offline desktop workers:** report worker-offline consistently when a paired desktop disconnects in Computer Use preparation. (#133212)
- **Database quarantine recovery:** keep proven-corruption quarantine decisions in a separate store so damage to the affected database cannot erase the quarantine; restore or repair the database and use doctor to clear the record. (#110453)
- **Provider migration preservation:** keep configured model selections intact while an external provider package is missing or its installation needs retrying, and report recovery steps instead of silently deleting those choices. (#116919) Thanks @vincentkoc.
- **Provider SecretRefs:** keep authored credential references distinct from resolved bytes through model preparation and catalog discovery, including file- or exec-backed auth profiles, without letting an unused account failure block another provider. (#132122)
- **Auth-profile model selection:** keep configured credential profiles separate from model IDs across aliases, subagents, and automations, reject profiles for the wrong provider, and direct ACP profile overrides to runtime-owned credential configuration. (#133175) Thanks @fuller-stack-dev.
- **SQLite data safety:** prevent WAL split-brain cleanup from corrupting a database. (#132844) Thanks @VACInc.
- **Newer database state:** stop restart loops when the installed Gateway encounters a newer schema, refuse competing shared-state schema changes while another Gateway owns the state directory, and fence incompatible cached state with an unhealthy readiness result. (#132916, #133081) Thanks @vincentkoc and @fuller-stack-dev.
- **Workspace safety:** preserve overlapping OpenShell uploads and keep visible spawns tied to their managed parent repository and configured defaults. (#131556, #132364) Thanks @sallyom and @shakkernerd.
- **Private prompt protection:** keep copied private prompt context out of final and streaming replies, including routed ACP replies and decorated or partially streamed copies. (#115745, #130125) Thanks @SnowSky1 and @moeedahmed.
- **Protected credential egress:** close proxy connections, upstream requests, and bypass tunnels when their run ends; replacement runs cannot revive them. Protected subprocess values stay sealed even with provider-auth sentinel masking off. (#132122)
- **Credential request cards:** retain exact secret values, show requester/replacement warnings, allow native host-list edits, and cancel closed-run requests. A committed save stays answered if runtime refresh fails; show reload guidance without requesting resubmission. (#132122)
- **Human-input waits:** keep runs awaiting accepted questions or credential entry out of stale-session recovery, resume progress tracking after resolution, and cancel requests when the exact requesting run loses authority without extending explicit deadlines. (#132122)
- **File edit safety:** reject edits to non-UTF-8 files before invalid bytes can be silently rewritten. (#115088) Thanks @yetval.
- **File writes:** compare persisted bytes before treating a write as unchanged, so invalid UTF-8 cannot cause a requested overwrite to be silently skipped. (#133282)
- **Configuration identifier integrity:** preserve exact long numeric identifiers and explicit field types when saving configuration forms, instead of rounding IDs and breaking allowlists. (#126402) Thanks @solavrc.
- **Model compatibility configuration:** accept the already-declared routing, streaming, session-header, and cache compatibility settings, including structured OpenRouter and Vercel routing options, instead of rejecting them during strict configuration validation. (#118674) Thanks @obviyus and @litianyi-007.
- **Shared-filesystem SQLite safety:** use rollback journaling on detected virtiofs and 9p mounts so cross-VM filesystem behavior does not corrupt SQLite WAL state. (#120597) Thanks @LiuwqGit and @gucasbrg.
- **Unparseable configuration recovery:** preserve an unparseable configuration and stop doctor repairs with an actionable error when no valid recovery copy exists. (#109362)
- **Control UI config drafts:** preserve external changes and newer Form or Raw edits across reconnects, including saves whose acknowledgments were lost, by keeping the draft's original document and write revision together. (#130935)
- **Session settings:** preserve distinct settings written concurrently by separate processes when creating settings files, while keeping reads of missing settings free of filesystem side effects. (#124471) Thanks @MrSwagatRathod, @obviyus, and @yetval.
- **Shared state corruption recovery:** evict only the exact cached SQLite owner after proven read or write corruption so a repaired database recovers without a Gateway restart while caller-injected handles remain untouched. Fixes #114269. (#114278) Thanks @rizquuula and @vincentkoc.
- **State snapshot verification:** run SQLite snapshot verification in a separate process so worker-thread file closes no longer drop the Gateway's POSIX WAL locks, eliminating spurious WAL misses and I/O errors. Thanks @VACInc, @vincentkoc, and @zw-xysk.
- **Managed skill backups:** include valid operator-managed skills reached through direct or grouped directory symlinks, preserving their external targets without broadening backup owner boundaries. (#132973) Thanks @ruel225, @obviyus, and @goslingmanagment.
- **Claude CLI prompt privacy:** keep prompt-build hook context out of visible chat history while preserving ordinary user requests, native session recall, and policy-hook visibility. (#132466) Thanks @RomneyDa.
- **SQLite maintenance schema validation:** reject current-version global and agent databases with missing or drifted canonical tables, constraints, indexes, triggers, or table options before compaction, while accepting supported additive-migration layouts. (#105583) Thanks @vincentkoc.
- **Gradium TTS credential egress:** reject non-HTTPS, foreign-host, and hostname-lookalike base URLs before dispatching API keys, and pin guarded transport to Gradium's documented API hostname. (#105169) Thanks @zhangguiping-xydt.
- **Gateway command SecretRefs:** preserve authoritative active-snapshot values when another command secret remains unresolved, falling back locally only for missing paths instead of emitting a per-turn `secrets.resolve` failure. (#105160) Thanks @SunnyShu0925 and @willfivestar.
- **SQLite terminal session recovery:** track physical transcript mutation time in the agent database so killed or timed-out main sessions rotate when transcript writes outlive the registry update, while preserving legacy transcript mtimes during doctor import. Thanks @vincentkoc.
- **Shared history and recovery:** preserve shared session history through startup and repairs, recover active sessions across repeated Gateway restarts, and migrate long histories without exhausting the heap. (#127241, #131527, #131276) Thanks @ampagent, @shakkernerd, and @vincentkoc.
- **Session reset boundaries:** preserve departing conversation excerpts before resets, keep reset history closed after compaction, and keep new-turn ordering intact. (#132757, #132606, #132815) Thanks @vincentkoc.
- **Session cleanup reporting:** keep completed cleanup results visible when a later agent store fails, report the failing store and committed work, and return a nonzero CLI result instead of implying full success. Fixes #127583. (#128905) Thanks @MasterSwords1 and @obviyus.
- **Orphan transcript repair:** settle repaired transcript cursors before appending replacement prompts avoiding outdated recovery positions. (#133243)
- **Transcript rewrites:** keep retry deduplication attached to the copied message on the active branch, so retries after a rewrite resolve to the current transcript instead of an obsolete branch. (#126503) Thanks @chelsealong, @obviyus, and @yetval.
- **Compaction:** avoid premature Responses compaction from incomplete usage snapshots, preserve the current user turn through compaction without sending it twice, and record omitted images instead of silently losing them. (#130993, #131977, #133094) Thanks @VACInc, @vincentkoc, and @obviyus.
- **Compaction recovery and native session accounting:** honor Stop before further recovery hooks, maintenance, transcript truncation, or retries; keep committed compactions and counts without late replies. Persist native final usage without context events; keep stale or unknown context marked accordingly through fallbacks, independent of billing. Worker-owned sessions retain their identity. (#133260)
- **Subagent completions:** accept visible session-only replies when yielded children settle, so successfully completed work resumes its requester instead of being reported as undelivered.
- **Subagent failure notices:** send a generic failure notice to a direct requester when a failed delegated task cannot produce its completion reply, while preserving cancellation and source-ownership checks and keeping private failure details out of chat. (#128512) Thanks @Leon-SK668 and @obviyus.
- **HTTP API failures:** report recorded agent failures and whole-agent timeouts as errors in Chat Completions and Responses requests, including streams that have already emitted partial content. (#133275)
- **Interrupted delivery:** resume interrupted delivery settlement without duplicate notices and let follow-up work continue after stuck-session recovery. (#131380, #130911) Thanks @zhangguiping-xydt, @obviyus, and @adrianTroop.
- **Cross-session messaging:** let worker sessions message their Gateway parent and sibling sessions through the supported routing path. (#132818)
- **Cloud attachments:** deliver images and PDFs to remote sessions and retain the prepared input across cloud placement. (#132114, #132358)
- **Desktop viewers:** keep VNC security inspection and the authenticated viewer on the same connection so opening concurrent viewers does not create extra unauthenticated probes, and retain the final stream data during shutdown. (#133226)
- **Session permissions:** preserve stricter execution overrides, qualify creator rights by profile identity, and keep configured permission defaults when starting worktree tasks. (#132675, #132300, #131547)
- **Group integrity:** reject attempts to drop non-empty session groups and preserve distinct rooms during canonical session updates. (#133005, #132242)
- **Worker and automation input validation:** reject inherited worker protocol fields and keep prototype-only scheduling, payload, and authority values out of normalized automation configuration. (#133123, #111728) Thanks @vincentkoc, @bladin, and @obviyus.
- **Plugin startup and repair:** resume sessions whose trusted runtime plugins were absent at startup, respect installed-plugin health capabilities, and repair legacy channel configuration before installing an external plugin. (#132804, #132934, #132446)
- **Plugin updates and consent:** preserve explicit capability consent and complete plugin convergence through a package restart, and record artifact-bound acceptance when `plugins enable --accept-capabilities` is run for an already-enabled managed plugin. (#131301, #131062, #132805) Thanks @RomneyDa, @vincentkoc, @PollyBot13, and @obviyus.
- **Plugin approvals:** accept explicit null optional metadata, and tell agents that a denied request is closed and its unexecuted tool call must not be retried or presented for approval again. (#133112, #130009) Thanks @obviyus, @sunlit-deng, and @haruaiclone-droid.
- **Policy diagnostics:** derive exec security and approval posture from the configured exec mode, including inherited modes, so Policy and Doctor report the effective configuration correctly. (#125457) Thanks @sunlit-deng, @obviyus, and @omarshahine.
- **Plugin tool results:** honor termination requested by tool-result middleware so a completed tool can end the agent loop without an extra model turn. (#128505) Thanks @gaoanze888, @obviyus, and @krjcolby-svg.
- **Install resilience:** fix low-memory postinstall failures and commit-pinned source installs; preserve bootstrap package-manager metadata. Npm packages retain all release notes and link oversized contribution records to the full tagged source. (#132555, #132458, #132608, #133454) Thanks @vincentkoc.
- **Update rollback safety:** keep a managed Gateway stopped when a rollback rebuild leaves unexpected checkout changes, and show profile-aware repair guidance before the operator retries the update. (#132813) Thanks @PollyBot13 and @obviyus.
- **Installer completion:** finish successful npm-prefix and daemon-status probes immediately instead of waiting through repeated five-second watchdog delays. (#133190)
- **CLI certificate discovery:** treat blank extra-CA environment values as unset so Linux certificate discovery and clean child startup still work, while preserving nonblank operator paths. (#117317) Thanks @zenglingbiao and @obviyus.
- **Update recovery:** restart the Gateway even when interactive completion refresh fails, preserve sealed service definitions during updates, and prevent Git updates from reporting success while serving an old web build. (#131393, #131021, #130957) Thanks @shakkernerd, @jason-allen-oneal, and @Patrick-Erichsen.
- **Update restart verification:** wait for a delayed Gateway to report the expected running build within the restart deadline, while still rejecting outdated, missing, or unverifiable build identities. (#132879) Thanks @goslingmanagment, @dmsrg399, and @obviyus.
- **Loaded-build diagnostics:** report the Gateway's loaded build in status, database-schema refusal, and update-restart validation even after a source checkout moves to another commit. (#132854) Thanks @PollyBot13 and @obviyus.
- **Small temporary filesystems:** keep development upgrades from exhausting constrained POSIX temporary storage. (#132085) Thanks @vyctorbrzezowski.
- **Windows reliability:** expand short directory paths before watching skills to avoid a native filesystem-watcher crash, and keep ACP workers from hanging on service-hosted permission prompts. (#129637) Thanks @laulopezreal and @Yuyorman.
- **Windows text and arguments:** decode PowerShell UTF-16 files according to their byte-order mark and preserve empty arguments, quotes, and trailing backslashes through batch wrappers and terminal launches. (#133130, #133185)
- **Automation recovery:** recover interrupted one-shot jobs after restart, support current-session automations on webchat-only Gateways, exclude reset-session results, and retain bounded best-effort Cron delivery text as context after live chat disappears. (#131473, #131975, #127854, #130551) Thanks @jalehman, @HermanZeng, @obviyus, and @AyitLabs.
- **Heartbeat delivery:** surface delivered alerts in their target sessions, close restart-recovery gaps, and deliver targeted one-shot restart continuations for configured agents even when recurring heartbeat cadence is disabled. (#130871, #131219, #131888) Thanks @scotthuang, @obviyus, and @R0gner.
- **Chat duplication:** prevent repeated Enter presses, cross-client steering, and terminal settlement from duplicating visible messages. (#132310, #131951, #131681)
- **Assistant text cleanup:** preserve punctuation and Markdown formatting when removing leaked model-control tokens, keep adjacent Unicode words separated, and leave code examples intact. (#133287) Thanks @yifanxiong272.
- **Streamed commentary:** preserve Responses message-item identity across tool handoffs so later tool updates do not replay earlier commentary as a combined preamble. (#133247)
- **Remote-start feedback:** retain unsent prompts when cloud startup fails and keep the session's Desktop view attached to the correct machine. (#131594, #132255)
- **Gateway restart feedback:** show “Gateway restarting…” when a restart interrupts an active tool instead of presenting the intentional interruption as a tool failure. (#133119) Thanks @fuller-stack-dev.
- **Startup responsiveness:** avoid repeated CLI plugin preparation and duplicate provider-catalog planning, reduce ordinary Gateway status memory use and the first Grok web-search startup delay, and keep execution machinery out of setup and agent help. (#131503, #132685, #133097, #133114, #133272) Thanks @vincentkoc.
- **Run preparation performance:** reuse catalog policies, route lookups, prompt-context preparation and bootstrap statistics, and reduce repeated SQLite schema metadata scans and index comparisons. (#133276, #133284, #133290)
- **Large-session maintenance and browsing:** reduce repeated transcript import, Doctor, title/preview, and session-list work while keeping bounded reads and current transcript generations. (#133068, #133084, #133100, #133127, #133203) Thanks @gucasbrg.
- **Chat rendering performance:** reuse prepared Markdown parsers, streamed code-span scans, accepted rendered chunks, and repeated history-projection work for long conversations and streamed replies. (#133152, #133244)
- **Client startup:** show iOS sidebar sessions on multi-agent Gateways, preserve the web app's selected agent across restarts, and complete macOS CLI installation even if Gateway startup fails. (#131356, #131549, #128350) Thanks @fuller-stack-dev, @Patrick-Erichsen, @VACInc, and @hannesrudolph.
- **Media playback:** restore inline audio and video readiness checks so playable media does not silently degrade to download cards. (#132832)
- **Voice-note transcripts:** transcribe the first untranscribed voice note for mention checks and retain that transcript when later attachment or link processing enriches the message. (#133261)
- **Cloud placement selection:** keep a selected cloud placement when changing runtime and report an incompatible choice instead of silently executing the task locally. (#129440)
- **Gateway/subagents:** keep plugin completion turns bound to the owning Gateway runtime so successful native subagents can finish delivery without losing the published reply runtime. (#132430)
- **WebChat attachments:** keep managed `MEDIA:` directives out of the first assistant transcript event while attachments are prepared, preserving raw transcript references, user text, and attachment failure warnings. (#132508)
- **Local media replies:** decode file URLs at the native reply boundary so encoded filenames resolve correctly while browser transcripts retain the original media reference and native file-access checks. (#133146)
- **Onboarding migration menu:** group Claude, Codex, Hermes, and plugin-provided imports under a single **Import from another agent** setup choice while preserving detected source hints, manual paths, and Back navigation before import begins. Fixes #126440. (#126515) Thanks @shakkernerd and @vincentkoc.
- **Remote onboarding:** preserve the selected Gateway’s pairing and setup-chat identity through loopback tunnels, and wait for a new Gateway boot plus verified inference after restart-dependent setup instead of accepting the old listener. Fixes #133229. (#133257)
- **Plugin setup diagnostics:** stop treating metadata-only provider setup descriptors as missing runtime registrations while retaining undeclared runtime and CLI drift warnings. Fixes #125506. (#125523) Thanks @shakkernerd.
- **Session controls:** keep thinking levels aligned with the selected agent's prepared model and provider policy, including native Ultra. (#132389)
- **Workboard validation errors:** include the rejected normalized length in bounded-string limit errors so agents can trim and retry deterministically. Fixes #118845. (#118888) Thanks @Kailigithub, @shakkernerd, @IWhatsskill, @ruel225, @jalehman, @VACInc, @vyctorbrzezowski, @joshavant, @edenfunf, @ampagent, @felirami, @pash-openai, @obviyus, @Patrick-Erichsen, and @osipovia.
- **Updater plugin convergence:** keep pre-plugin doctor passes from installing configured plugins before the updater's plugin sweep, while preserving the final post-plugin migration pass and preventing ambient update-phase state from leaking into fresh doctor processes. (#122161) Thanks @vincentkoc.
- **Guided onboarding skip-UI routing:** keep `openclaw onboard --skip-ui` and `openclaw setup --skip-ui` on guided onboarding while skipping both browser and terminal handoffs, instead of silently switching to the classic wizard. (#118737) Thanks @shakkernerd.
- **Gateway device clock skew:** use Gateway challenge timestamps for device proofs across TypeScript, Control UI, browser extension, Android, Apple, Linux, and watchOS clients, avoiding clock-skew authentication failures. Retain nonce/freshness checks and no-challenge compatibility for pre-challenge Control UI servers and older watch-node HTTP endpoints. Fixes #103455. (#116679) Thanks @vincentkoc and @mahdouzhao-beep.
- **Gateway reconnect event ordering:** reset the shared TypeScript client's outer event-sequence baseline for each replacement WebSocket, preventing gap recovery from comparing unrelated connection generations across Control UI, TUI, SDK, and browser extension clients. (#116043) Thanks @shakkernerd.
- **Gateway exec deny fallback:** fail closed when shell expansion prevents an enforceable allowlisted execution plan under `ask=off` and `askFallback=deny`, avoiding approvals that can only time out. Fixes #113191. (#113892) Thanks @shakkernerd and @jrvanwinkle.
- **Standalone plugin files:** let manifestless files explicitly listed in `plugins.load.paths` pass config validation and load independently when several files share a directory. (#111515)
- **Cloud worker derived workspace caches:** exclude Python caches, dependency trees, and macOS metadata symmetrically from outbound sync and inbound reconciliation so local cache rewrites cannot fence later cloud results or worker reclaim. (#110380)
- **Gateway control-plane rate limiting:** use per-method buckets with a 30-per-minute budget so interactive admin writes remain responsive while retaining runaway-loop protection. (#109557)
- **ACPX cleanup process inspection:** bound host process-table reads so stalled `ps` calls cannot hang gateway startup or session cleanup while retaining fail-closed ownership checks. (#109146) Thanks @Alix-007.
- **ACP timeout summaries:** retain bounded progress as the terminal summary when OpenClaw's watchdog times out a delegated ACP turn. (#91479) Thanks @obviyus and @moeedahmed.
- **Cron lifecycle conflict retries:** preserve execution-phase retry decisions across scheduled, manual, and startup-recovered runs so post-execution claim conflicts cannot replay completed messages or tools. Fixes #108428. (#108778) Thanks @yetval and @vincentkoc.
- **Usage date ranges:** exclude legacy transcript rows without timestamps from finite session ranges while preserving them in all-time totals, and rebuild older usage caches before serving the new semantics. Fixes #89709. (#89745) Thanks @TurboTheTurtle and @syfvb.
- **1Password authorization handoff:** persist nonce-bound pending approvals in shared plugin state so hook and tool execution across broker instances remain single-use and fail closed.
- **Nested resource ignores:** honor slash-free patterns and escaped literal exclamation marks in nested ignore files during skill and resource discovery. (#106258) Thanks @moguangyu5-design.
- **Proxy bypass precedence:** honor blank lower-case `no_proxy` values shadowing upper-case `NO_PROXY` consistently with Undici, and reuse the canonical matcher for Telegram fallback selection. (#107711)
- **Tokenjuice exec compaction:** avoid retaining raw command output inside compacted middleware metadata, preventing large successful compactions from failing the middleware details-size guard. (#107705)
- **Agent git package identities:** strip refs before hosted-repository parsing and reject traversal segments so GitLab branch refs resolve to the canonical managed install path. (#107637) Thanks @vincentkoc.
- **Agent auth storage locks:** surface normal release failures while avoiding redundant release attempts after `proper-lockfile` reports a compromised lock. (#107427)
- **Paired-node session catalogs:** authorize bundled Anthropic and Codex catalog requests to invoke their read-only node commands from Control UI read flows, restoring remote Claude/Codex rows and terminal resume availability. Fixes #107406. (#107410) Thanks @vincentkoc.
- **Sandbox recreate confirmation:** treat Clack cancellation as a decline so Ctrl-C cannot proceed with container removal. (#107286)
- **ClawHub plugin API ranges:** delegate each supported comparator to `semver` so tilde, partial-wildcard, and prerelease caret bounds are correct while preserving OpenClaw version normalization and the existing restricted range grammar. (#106877, #106889)
- **Web Readability relative links:** seed parsed documents with the request URL so article links resolve correctly while removing the plugin's duplicate lazy-loader facade. (#106860, #106874)
- **OC Path JSONC insertion:** patch object and array insertions through `jsonc-parser` so comments, trailing commas, and CRLF formatting survive. (#106847, #106858)
- **Bounded path reads:** reject non-regular files and inputs above 16 MiB before OcPath parsing, preventing hangs and excessive memory use across resolve, find, set, and emit while preserving JSONC size diagnostics. (#110714) Thanks @cxbAsDev and @obviyus.
- **File search results:** return accurate search-relative paths, filename whitespace, and directory markers from both local and custom search backends, including searches whose root ends in a separator. (#133302)
- **Windows winget installs:** continue in the current PowerShell session when winget installs Node.js before the machine PATH update becomes visible, avoiding a false `Node.js not found` failure. (#106862)
- **Agent source-reply recovery:** preserve current-chat delivery evidence for message sends executed through Code Mode, preventing successful replies from triggering a redundant retry and misleading delivery-failure diagnostic. Thanks @vincentkoc.
- **Source-reply media:** attach outgoing media to its committed transcript message before publishing the reply, preserving attachments and original message content through publication failures and safe retries. (#133237)
- **Sandbox upload references:** resolve current-turn staged upload handles in image, PDF, and media-generation tools without searching unrelated files, while preserving real workspace files and existing sandbox access restrictions. (#129269) Thanks @Finn763, @obviyus, and @shang-go.
- **Gateway in-process restarts:** clear stale SIGUSR1 restart state and resume prepared host suspensions before rebuilding runtime admission, preventing restart cooldowns or paused scheduling from leaking into the next lifecycle. (#106691) Thanks @vincentkoc and @shakkernerd.
- **Restart recovery delivery:** preserve the recovered reply’s channel route when delayed cleanup from the interrupted run reaches storage, so an in-flight conversation can finish after repeated Gateway restarts without asking the user to resend.
- **Gateway restart cleanup:** stop new supervised commands and drain admitted process trees ahead of the next Gateway start, using forced-stop recovery if shutdown cannot confirm cleanup. (#132566) Thanks @Alix-007, @obviyus, and @yozakura-ava.
- **Transcript read failures:** propagate permission and I/O failures from streaming JSONL session reads instead of treating unreadable transcripts as empty. (#106412) Thanks @zenglingbiao.
- **Restart sentinel diagnostics:** report SQLite read/write and legacy-file cleanup failures while preserving best-effort restart recovery behavior. (#106385) Thanks @zenglingbiao and @wendy-chsy.
- **Session retry classification:** stop permanent provider errors whose identifiers or payload details merely contain 429/5xx digit sequences from re-sending full context, and share bounded rate-limit-window parsing across retry paths. (#105258) Thanks @destire-mio and @yetval.
- **Swabble status config:** honor the global `--config` path when reading service status instead of silently using the default configuration.
- **ClawHub retry timing:** reject fractional delay-seconds and calendar-normalized invalid Retry-After dates so runtime and release reads stay on their bounded fallback schedule. (#105479) Thanks @qingminlong.
- **Cron delivery status:** keep successful isolated agent turns at `status=ok` when downstream delivery fails, while preserving the send failure separately in delivery state and run logs. (#105215) Thanks @Alix-007, @needtocalmdown, and @vincentkoc.
- **Plugin SDK:** restore shipped `resolveStorePath`, `resolvePluginProviders`, and thi