- openclaw 2026.9.1 — 2026.9.1 Highlights - Diagrams in every chat: Mermaid blocks now render as diagrams in the Control UI and in the native macOS, iOS, and Android apps, with enlarge previews and a retry when a diagram...
- test(process): respect shutdown grace in lifecycle proof — Related: #138093, #135808. What Problem This Solves Resolves a timing race in process-lifecycle CI when the construction-abort fixture intentionally ignores TERM. CI failed while waiting for the...
- fix: native JSON reports fail after grouped test runs pass — Closes #138174 (native JSON aggregation fails after successful grouped and direct project runs). Additional instructions Keep Allow edits from maintainers enabled for this PR. What Problem This...
- fix(sessions): keep Gateway responsive with long transcripts — What Problem This Solves Fixes an issue where operators could see the Gateway pause for seconds when Codex read a long transcript, even after compaction left only a few messages in the model context....
- fix(ui): keep Canvas previews stable after history hydration — Closes #138102 Related: #27085 What Problem This Solves One inline Canvas view could appear more than once when Control UI hydrated history. A separate startup race could leave restored cards showing...
- fix(exec): acknowledge polled completions — Terminal !poll and process.poll must acknowledge a completion only after their result has reached its owner. The chat command originally left the occurrence queued; its first repair removed it too...
- refactor(i18n): share string array comparison — What Problem This Solves Control UI i18n verification duplicated the ordered string-array comparison already owned by the locale sync planner. The copies had identical runtime behavior but different...
- refactor(auto-reply): simplify route runtime loaders — What Problem This Solves Three auto-reply paths wrapped the same function-shaped lazy runtime load with a createLazyImportLoader(...) object plus a trivial .load() forwarding function. That...
- refactor(daemon): share Windows task name resolution — What Problem This Solves Windows Scheduled Task naming was resolved independently in daemon layout, update restart, managed restart, and update handoff code. Those copies could drift on override...
- refactor(worker): share command success check — What Problem This Solves Worker environment command results used four duplicated success predicates across related Gateway flows. Keeping the same policy in several places made future drift possible....
- fix(cron): preserve the final reply after automation self-removal — Additional instructions Maintainers can update this branch through normal repository access; it is in the main repository. What Problem This Solves An isolated agent automation that removed its own...
- refactor(claws): centralize canonical value digests — What Problem This Solves Claw canonical-value digests repeated the same stable serialization and SHA-256 composition across lifecycle, planning, update, doctor, MCP, cron, and package provenance...
- refactor(diagnostics): share metric rounding — What Problem This Solves Diagnostic timing, CPU, utilization, and ratio metrics carried three identical rounding implementations across logging and Gateway health owners. Keeping the same numeric...
- refactor(gateway): share unauthorized upgrade rejection — What Problem This Solves Three internal Gateway upgrade paths independently encoded the same terminal HTTP 401 response. Keeping the security-sensitive response bytes and write-then-destroy ordering...
- refactor(cli): share gateway port validator — What Problem This Solves Gateway port prompts carried three byte-identical validation callbacks in separate configure and setup flows. That duplicated the same strict parser and range-message policy...
- refactor(state): share state directory database options — What Problem This Solves State-directory database options were constructed independently across push, managed-image, TUI, and delivery-queue owners. Those copies could drift on empty-string handling,...
- feat: add experimental plugin UI customization — What Problem This Solves Adds a feature-plugin SDK for typed backend operations, agent tools, and native Control UI pages and customization. Authors and agents can scaffold, build, validate, and pack...
- refactor(qa-lab): reuse approval result formatter — What Problem This Solves QA Lab's Matrix approval scenario retained a private copy of the approval-result formatter after the formatter gained a shared owner. Keeping both copies leaves...
- refactor(plugins): share disabled install config preparation — What Problem This Solves The bundled-plugin install path duplicated the persistence owner's disabled-install config preparation. Keeping two copies of this policy made future drift possible around...
- refactor(cron): type transaction hooks on the internal store writer — What Problem This Solves Core cron writes currently reach transaction hooks through an internal type assertion and forwarding function, even though the store already implements those hooks. Scheduler...
- refactor(discord): share DM owner normalization — What Problem This Solves Discord DM main-route owner normalization had two private copies, one for normal messages and one for component dispatch. Keeping the same routing rule in two places made...
- fix(channels): preserve outbound cancellation through adapters — What Problem This Solves Outbound delivery accepted cancellation signals but dropped them before modern and formatted channel adapters. IRC also dropped cancellation and dispatch callbacks in its...
- refactor(qa-lab): share polling transport health checks — What Problem This Solves QA Lab's Discord, Slack, and WhatsApp polling transports duplicated the same ordered health check. That duplication made polling-error precedence and lease-heartbeat error...
- refactor(acpx): share command part quoting — What Problem This Solves ACPX command serialization duplicated the same private quoting policy in runtime registry normalization and process-lease argument insertion. Those commands are persisted and...
- refactor(telegram): share draft plain fallbacks — Summary - share one operation-local plain fallback callback across rich and HTML draft sends - share a separate operation-local callback across rich and HTML draft edits - extend the rich fallback...
- fix(cron): prevent isolated runs from failing during runtime refresh — Closes #133692 What Problem This Solves Fixes isolated cron jobs failing before model execution with prepared model runtime plugin generation was superseded when the Gateway republishes an agent's...
- fix(agent): finalize settled turns when harness callback is absent — Summary - route a genuinely unavailable settled-turn finalizer into the existing deterministic host fallback - preserve failure-honest metadata, deliberate silence, and no-replay semantics - add a...
- refactor(discord): share terminal approval rendering — What Problem This Solves Discord's native approval presentation duplicated the same terminal rendering callback for resolved and expired approvals. The copies owned identical context validation,...
- fix(sessions): commit branch replacement before publishing identity — What Problem This Solves Session branching mutates the loaded manager before queued persistence commits. A failed replacement can therefore expose an identity that was never stored; queued metadata...
- test: repair Code Mode and cleanup lifecycle fixtures — What Problem This Solves Repairs two test fixtures that failed while validating the Swarm worker and trajectory fixes. Both PRs hit three Code Mode denial failures on newer main; the trajectory run...
- OpenClaw repo stats for 2026-09-04 — 388822 stars, 81662 forks, 3258 contributors
- OpenClaw sponsors (87 total) — 87 sponsors supporting OpenClaw
- fix(publish): run the static moderation scan in the Node runtime (#3591) — Publishing a large ClawPack (1,843 files for @openclaw/matrix@2026.9.1) killed publishPackageForTrustedPublisherInternal while runStaticPublishScan decoded every file: the Convex runtime caps actions...
- fix(ci): stabilize Agent Skills CLI compatibility tests (#3587) — Run the real skills@1.5.20 CLI from the frozen Bun dependency tree instead of resolving/installing it through npx during the compatibility test. Pin Node 24.15.0 in the HTTP lane, retain child...
- fix: require distributed fortnightly volume for sustained signals (#3585)
- fix: keep large ClawPack publishes inside the request time budget (#3586) — Once ClawPacks over 4 MiB stage through the upload-url flow (#3584), the publish request itself became the bottleneck: the HTTP action unpacks the tarball and stores every extracted file with...
- feat(api): expose plugin categories (#3582) — feat(api): expose plugin categories fix(api): satisfy Convex async handler contract * test(api): exercise plugin categories HTTP route
- fix: stage ClawPacks above the Vercel payload cap through upload tickets (#3584) — clawhub.ai serves /api/** through Nitro handlers deployed as Vercel functions, which reject request bodies over 4.5 MB with 413 FUNCTION_PAYLOAD_TOO_LARGE before any ClawHub code runs. The CLI only...
- fix: remove misleading signal severity (#3583) — Remove arbitrary High/Watch severity badges from Signals while preserving evidence, links, and timestamps. Align loading and empty states with the four-column table.
- openclaw v2026.9.1 on npm — Multi-channel AI gateway with extensible messaging integrations
- openclaw/openclaw on Docker Hub — Official openclaw/openclaw docker images.
- OpenClaw — Deploy your own personal AI assistant with OpenClaw on a DigitalOcean Droplet® server, a powerful open-source platform that runs entirely on your infrastructure. OpenClaw connects to the messaging...
- StepFun 3.5 Flash is #1 cost-effective model for OpenClaw tasks (300 battles)
- Setting Up an OpenClaw Agent o… — Originally published at norvik.tech Introduction Explore the setup of an OpenClaw agent...
- When to Pay for KiloClaw and When to Self-Host OpenClaw — If you have spent an afternoon wiring Telegram, Discord, and a dozen API keys into a self-hosted AI agent, KiloClaw is the shortcut you…Continue reading on Medium »
- Hermes Knows My Life. Grok Bot Gets the Keys. — Why I isolated Hermes on a Mac mini — and built a bridge to Jack so I didn’t throw the memory awayContinue reading on Medium »
- PlugClaw: Portable Android OpenClaw Hardware for Phone and Computer — PlugClaw is a thumb-sized portable OpenClaw device.Continue reading on Medium »
- Odysseus — Self-hosted AI workspace offering chat, tool use, and autonomous agent support. Enables email and research tasks securely on user hardware, keeps all data local, requires no external servers, and...