Back to Freedom.Tech Back
All openclaw releasesAll versions
Release Wed, Jun 24, 2026 8 min read

openclaw 2026.6.11-beta.1

Richer operator workflows: openclaw agent --message-file and the RAFT CLI wake bridge add practical file-driven and remote wake-up paths. ( 93351, 95497) Thanks @ooiuuii and @vincentkoc; Safer plugin distribution: additional official plugins are externalized cleanly, with bundled plugin icon metadat

2026.6.11

Highlights

  • More capable channel control: Slack relay mode, native Mattermost /oc_queue, and per-DM model overrides make channel operations easier to automate and tune. (#94707, #95546, #95120) Thanks @sjf-oa, @amknight, @xydigit-zt, @thomaszta, and @gandalf-at-lerian.
  • Richer operator workflows: openclaw agent --message-file and the RAFT CLI wake bridge add practical file-driven and remote wake-up paths. (#93351, #95497) Thanks @ooiuuii and @vincentkoc.
  • Safer plugin distribution: additional official plugins are externalized cleanly, with bundled plugin icon metadata available to installed clients. (#95683, #95845) Thanks @vincentkoc and @Patrick-Erichsen.
  • Stronger mobile operations: Android settings detail panels improve configuration visibility and control on mobile. (#95148) Thanks @Tosko4.
  • More reliable agent turns: Codex partial deltas, harness activation, and long-context prompt-cache stability reduce lost progress and inconsistent runs. (#95404, #95652, #95624) Thanks @agonza1 and @vincentkoc.

Changes

  • Gateway and plugin tooling: channel identity hook context and per-agent usage-cost reporting give integrations and operators more precise routing and accounting. (#91903, #94483) Thanks @lanzhi-lee, @vincentkoc, and @ly-wang19.
  • Provider and model coverage: catalog parsing, reasoning controls, provider model resolution, and encrypted reasoning support now handle more live provider variants. (#95283, #95710, #95268, #95744, #95686, #93956) Thanks @ZengWen-DT, @vincentkoc, @Marvinthebored, @Darren2030, @daniel-alejandro-t, @parveshsaini, @geraint0923, @fuller-stack-dev, and @jason-allen-oneal.

Fixes

  • Channel delivery: Telegram progress rendering, webhook lifecycle, reaction directives, duplicate mirror writes, queued update draining, and WhatsApp durable reply targets are now more reliable. (#95532, #93002, #95183, #94506, #94977, #95069, #95577, #95007, #95914) Thanks @amknight, @snowzlmbot, @zhangguiping-xydt, @shadow-enthusiast, @xialonglee, @travellingsoldier85, @obviyus, @hugenshen, @Cuttingwater, @heichaowo, @LiuwqGit, @freidrich-goldenflow, @mcaxtr, and @vincentkoc.
  • WhatsApp and message identity: native quotes, Baileys group reliability, and approval reactions across JID drift now preserve the intended conversation context. (#95483, #94338, #95935) Thanks @mcaxtr, @xialonglee, and @octopuslabs-fl.
  • Gateway and session safety: stuck release claims, draining-state reporting, remote probe timeouts, malformed paired access lists, and non-delivery session identity are handled without silent routing loss. (#95299, #94915, #89859, #92178, #95467) Thanks @mikasa0818, @kriegerbangerz-ship-it, @markoub, @vincentkoc, @maxschachere, @mushuiyu886, @gozzbb2, @wangmiao0668000666, @ly-wang19, @EmilioNicolas, and @yetval.
  • Agent and fallback behavior: aborted runs stop cleanly, provider response bodies stay bounded, Claude CLI credit failures continue through fallback, and Codex usage-limit responses classify correctly. (#94412, #95218, #95508, #95420, #95418, #95417, #95400) Thanks @szsip239, @vincentkoc, @Alix-007, @mikasa0818, @sallyom, @riazrahaman, and @jason-allen-oneal.
  • Provider and model edge cases: OpenRouter IDs, Ollama discovery and embeddings, Gemini freshness, and model-catalog prefixes now resolve against the right runtime metadata. (#95268, #94811, #93956, #95682, #95744) Thanks @Darren2030, @daniel-alejandro-t, @mushuiyu886, @jason-allen-oneal, @Sunjae-k, @parveshsaini, @vincentkoc, and @shakkernerd.
  • Configuration and UI guardrails: non-interactive configure fails closed, TLS paths reject empty values, memory artifacts are sanitized, and the UI uses the patched DOMPurify release. (#94238, #94054, #95791, #95691) Thanks @ruomuxydt, @NianJiuZst, @miorbnli, @vincentkoc, @SweetSophia, and @YB0y.
  • Cron and delivery validation: no-config delivery checks, thread-aware dedupe, and pending recurring runs retain their intended destinations. (#95754, #95794, #94323) Thanks @vincentkoc and @yetval.

Complete contribution record

This audited record covers the complete v2026.6.10..ee421ef7da7edf152ab911d74ffcfd852ecf43e2 history: 305 merged PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.

Pull requests

  • PR #95406 test(qa): make release scorecard categories explicit. Thanks @RomneyDa.
  • PR #94700 test: fold HTTP API script proof into QA Lab. Thanks @RomneyDa.
  • PR #95499 fix(test): unit-fast flow mocks. Thanks @RomneyDa.
  • PR #95308 fix(ci): filter ClawSweeper comment dispatches before token minting. Thanks @vincentkoc.
  • PR #95532 fix(telegram): materialize rich message line breaks as

. Related #95409. Thanks @amknight and @snowzlmbot.

  • PR #91786 fix(plugins): reconcile managed npm root overrides with managed peer pins. Related #91772. Thanks @amknight and @mkdelta221.
  • PR #93002 Fix Telegram progress draft cleanup before tool output. Related #90753. Thanks @zhangguiping-xydt and @shadow-enthusiast.
  • PR #95175 fix: route mobile exec approvals to reviewer device. Thanks @joshavant.
  • PR #94506 fix(telegram): stop clearing registered webhook on channel restart. Related #90254. Thanks @xialonglee and @travellingsoldier85.
  • PR #95183 fix(telegram): materialize streaming progress placeholders. Related #95004. Thanks @snowzlmbot and @obviyus.
  • PR #95483 fix(whatsapp): preserve native quote replies. Thanks @mcaxtr.
  • PR #94338 fix(whatsapp): wire missing Baileys retry/cache hooks for group message reliability. Related #7433. Thanks @xialonglee and @mcaxtr and @octopuslabs-fl.
  • PR #94707 feat(slack): add relay mode for incoming messages. Thanks @sjf-oa.
  • PR #94977 fix(telegram): honor outbound reaction directives. Related #71140. Thanks @hugenshen and @Cuttingwater.
  • PR #95069 fix(telegram): skip mirror write when primary reply already exists (#94930). Thanks @heichaowo.
  • PR #95550 Preserve inherited channel account policies during migration. Thanks @amknight.
  • PR #95390 fix #95378: https://github.com/openclaw/openclaw/issues/95378. Thanks @mikasa0818 and @obviyus and @MaiDuy708.
  • PR #93143 fix(imessage): keep split-send coalescing opt-in. Thanks @omarshahine.
  • PR #95008 fix(claude-cli): also disable native background Bash and Monitor in --print runs. Thanks @anagnorisis2peripeteia.
  • PR #94545 fix: keep trusted policies with hook registry. Thanks @jesse-merhi.
  • PR #95007 fix(telegram): render progress draft rows as plain readable text. Related #95002. Thanks @snowzlmbot.
  • PR #95624 fix(agents): keep long-context tool-result prompts cache-stable. Thanks @vincentkoc.
  • PR #95625 fix(ci): smooth PR runner-registration bursts. Thanks @vincentkoc.
  • PR #95572 fix(agents): reject bind specs with extra colon segments. Thanks @ly-wang19.
  • PR #95653 test(agents): add large prompt cache coverage. Thanks @vincentkoc.
  • PR #95640 Consolidate iOS notification permission UX. Thanks @joshavant.
  • PR #95546 feat(mattermost): register /oc_queue as a native slash command. Thanks @amknight.
  • PR #95019 fix(skills): point gog brew install at homebrew-core gogcli (#95017). Thanks @ZengWen-DT and @vincentkoc and @Sedrak-Hovhannisyan.
  • PR #93378 test(telegram): keep live polling leases protected. Related #93375. Thanks @mmyzwl and @Yachiyo1680.
  • PR #95084 fix(googlechat): sanitize internal tool-trace lines from outbound text (#90684). Thanks @jailbirt and @studentzhou-svg.
  • PR #95278 Avoid copying process.env in ingress queue state DB opens. Related #94571. Thanks @kaka-srp.
  • PR #95577 fix #86957: drain worker-spooled Telegram updates immediately. Thanks @LiuwqGit and @freidrich-goldenflow.
  • PR #95128 fix(compaction): count user-message image blocks in cut-point estimator. Thanks @yetval.
  • PR #93887 fix(ssh): reject hostnames with stray leading or trailing colons in parseSshTarget. Thanks @miorbnli.
  • PR #95191 docs(plugins): document subagent_ended hook fields. Related #95186. Thanks @MaHaoHao-ch and @ken-jo.
  • PR #95102 fix(config): add stdio to McpServerSchema transport union. Related #95082. Thanks @lzyyzznl and @ken-jo.
  • PR #95465 fix(sdk): type-narrow manifest.files in pack staging root helper. Thanks @wangmiao0668000666.
  • PR #95664 refactor(plugins): move owner skills into plugins. Thanks @vincentkoc.
  • PR #95299 fix #95248: OpenClaw release_lane is a no-op when claim is held by a live worker; stuck Telegram inbound events block agent response until gateway restart. Thanks @mikasa0818 and @kriegerbangerz-ship-it.
  • PR #94687 fix(gateway): accept port for health and probe. Related #79100. Thanks @BryanTegomoh and @ozthedivine.
  • PR #95649 fix(ci): bundle test shards and right-size runners. Thanks @vincentkoc.
  • PR #95243 fix(docs): show inline read_when hints in docs:list. Thanks @hugenshen and @vincentkoc.
  • PR #95283 fix(openai-completions): seal native reasoning before the answer under /reasoning on. Related #95280. Thanks @ZengWen-DT and @vincentkoc and @Marvinthebored.
  • PR #95497 feat(raft): add CLI wake bridge channel. Thanks @vincentkoc.
  • PR #95459 fix(cron): use main-session systemEvent for silent quick-create preset. Related #95073. Thanks @ZOOWH and @vincentkoc and @vporton.
  • PR #95503 fix #89466: [Bug]: Control UI chat input text not cleared after sending. Thanks @zhangguiping-xydt and @vincentkoc and @zhong18804784882.
  • PR #95684 fix(skills): harden ClawHub update policy. Thanks @vincentkoc.
  • PR #95683 feat(plugins): externalize additional official plugins. Thanks @vincentkoc.
  • PR #95681 fix(ci): debounce canonical main runner admission. Thanks @vincentkoc.
  • PR #95652 fix(agents): activate selected harness plugins. Thanks @vincentkoc.
  • PR #95404 fix(codex): stream non-final-answer assistant deltas as partials. Related #95422. Thanks @agonza1 and @vincentkoc.
  • PR #58993 fix(googlechat): support spaceType field for DM vs Space detection. Thanks @Starhappysh and @vincentkoc.
  • PR #94148 fix(doctor): prevent non-interactive --fix from auto-restarting gateway. Related #78217. Thanks @zhangguiping-xydt and @esqandil.
  • PR #89859 fix(gateway): honor remote status probe timeout. Related #65355. Thanks @mushuiyu886 and @gozzbb2.
  • PR #95466 fix(ci): increase timeouts in flaky process-group signal test. Thanks @jason-allen-oneal.
  • PR #95720 fix(matrix): prevent double bootstrapCrossSigning reset in forced reset. Related #78396. Thanks @vincentkoc and @jteddy.
  • PR #95707 fix(synology-chat): remove duplicate local deliver timeout. Thanks @vincentkoc.
  • PR #95706 fix(whatsapp): remove dead watchdog timeout clamp. Thanks @vincentkoc.
  • PR #95719 fix(cli): sync capability inspect metadata flags with registered options. Thanks @vincentkoc.
  • PR #95721 fix(active-memory): exclude dreaming-narrative session keys from eligibility gate. Related #78500. Thanks @vincentkoc and @vishutdhar.
  • PR #95602 test: save ~79 CI hours/mo in gateway session utils. Thanks @zats and @vincentkoc.
  • PR #94412 fix(agent-core): stop loop after aborted tool run. Thanks @szsip239 and @vincentkoc.
  • PR #94915 fix(gateway): report draining state in readiness. Related #78136. Thanks @markoub and @vincentkoc and @maxschachere.
  • PR #95691 fix(ui): bump dompurify to patched release. Thanks @vincentkoc.
  • PR #95710 fix(vercel-ai-gateway): resolve dynamic model selections. Thanks @vincentkoc.
  • PR #94072 fix(agents): count message-tool source reply as user-facing reply for tool error warnings. Related #93875. Thanks @chenyangjun-xy and @vincentkoc and @hoyanhan.
  • PR #94784 fix(doctor): stop promising --fix for working isolated shell-prompt cron jobs (#94655). Thanks @ZengWen-DT and @altaywtf and @geekoagent.
  • PR #93504 fix(device-pairing): guard role normalization against non-string entries. Thanks @ly-wang19.
  • PR #92178 fix(gateway): normalize malformed paired access lists. Related #90654. Thanks @wangmiao0668000666 and @ly-wang19 and @EmilioNicolas.
  • PR #83041 Fix config patch restart-required notices. Related #46797. Thanks @xuruiray and @Stache73.
  • PR #95754 fix(cron): preserve no-config delivery validation. Thanks @vincentkoc.
  • PR #93351 feat(cli): add --message-file to openclaw agent. Thanks @ooiuuii.
  • PR #95485 fix(ui): roll values near 1M over from k to M in compact token format. Thanks @NarahariRaghava and @vincentkoc.
  • PR #94622 fix(build): allow tsdown heap override. Thanks @tayoun.
  • PR #76668 meta(issue-template): add dedicated docs bug report form. Related #76664. Thanks @WadydX.
  • PR #91193 fix(cli): document Commander rawArgs internal API dependency in action-reparse.ts. Related #83893. Thanks @whiteyzy and @davinci282828.
  • PR #77339 fix(auto-reply): clear runtime model cache on reset. Related #77322. Thanks @mjamiv and @ZaynL.
  • PR #89628 Speed up precomputed command help startup. Thanks @yyzquwu.
  • PR #95087 refactor: add memory and QMD session identity mapping. Thanks @jalehman.
  • PR #89323 fix(web-ui): skip hidden subagent picker pages. Related #89249. Thanks @giodl73-repo and @originsecured-do.
  • PR #84794 Clean up isolated cron sessions after runs. Related #84707. Thanks @TurboTheTurtle and @bottenbenny.
  • PR #95794 fix(cron): compare thread IDs when deduping failure destinations. Thanks @vincentkoc.
  • PR #95791 fix(session-memory): sanitize model artifacts before saving memory. Thanks @vincentkoc and @SweetSophia and @YB0y.
  • PR #95805 fix(agents): normalize hallucinated Office file extensions. Related #93326. Thanks @vincentkoc and @lzyyzznl and @xzh-icenter and @bhnan.
  • PR #89612 fix: include persisted plugin contracts for migrations. Related #89609. Thanks @zerone0x and @mugabuga.
  • PR #89981 fix(diagnostics-otel): keep full model id on spans instead of collapsing to "unknown". Thanks @mycarrysun and @vincentkoc.