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