← Back to OpenClaw News A dark operations room where a glowing maintenance gauge with a bounded timer ring watches over paused update capsules, while a side table links several distinct agent workstations into one team
October 18, 2026Release WatchReliabilitySecurityEcosystem

OpenClaw Fixes for Hanging Doctor and Update Runs Land on Main as somora Brings OpenClaw Agents Into Mixed Teams

Two open P1 reports show openclaw update and doctor --fix stalling for more than 20 minutes. Fixes that bound those waits are on main but not yet in a stable tag. Plus: somora adds OpenClaw agents over ACP, and the OpenCode Console breach is a reason to check which provider keys your Gateway shares.

Two Open Reports Show Where Doctor and Update Can Still Hang

This weekend's OpenClaw tracker is about two maintenance commands that can stop returning. GitHub issue #173764 on openclaw update hanging in its post-activation Doctor step was opened at 9:00 PM Pacific on October 15. Its reporter updated a macOS arm64 npm-global install from 2026.10.5-beta.2 to 2026.10.10-beta.1, and the Doctor worker sat at 0% CPU for more than 22 minutes while the Gateway stayed down. Combined with a sibling LaunchAgent bug (#173765), the reporter counts a roughly 30-minute outage. Killing the update by hand started recovery, but its database rollback refused because the databases had changed after the snapshot.

GitHub issue #174842 on doctor --fix looping on SQLite read-only snapshots with the Gateway running followed at 4:41 PM Pacific on October 16, against stable 2026.10.4. On a Raspberry Pi running a systemd user service, doctor --fix, run because plain Doctor recommended it, logged 1,398 identical snapshot lines over almost 22 minutes, ignored SIGTERM, and needed kill -9. Both carry P1 labels and remain open: treat them as active reports, not settled root causes.

SEN-X Take

Neither report needs exotic hardware: a Mac doing a routine beta update, and a Pi running Doctor because Doctor told it to. The common failure is a maintenance command with no upper bound while the Gateway is down or contended. Schedule upgrades with someone watching the terminal, and record how long Doctor normally takes on each host so a stall is obvious.

What Maintainers Have Already Changed on Main

Maintainers split the reports into parts they could prove. On #173764, Peter Steinberger traced the open-ended outage to the post-activation Doctor dropping its time allowance when no --timeout was passed. Pull request #173862 bounding post-activation Doctor waits, merged at 12:03 AM Pacific on October 16, stops a stuck worker with exit 124 so the update takes its normal recovery path. Its notes say it does not explain the idle trigger.

The reporter then caught a bare openclaw update status --json hanging with no Doctor run, with an idle event loop and zero SQLite handles open. That led to pull request #174060 returning partial update status when inspections stall, merged at 5:50 AM Pacific on October 16. It replaces an unbounded Atomics.wait in the SQLite worker's admission exchange with the caller's deadline, or a ten-minute bound, and gives update status a 30-second overall limit. Steinberger reported status returning in about 9.5 seconds with the state database locked.

On #174842, the confirmed piece was the ignored SIGTERM. Pull request #174898 letting Doctor exit cleanly when interrupted before maintenance, merged at 6:04 PM Pacific on October 16, removes a cleanup deadlock so SIGTERM and SIGINT exit with codes 143 and 130. It does not claim to fix the snapshot loop: on main, doctor --fix with a live Gateway returned exit 1 in about 3.7 seconds and told the operator to stop the Gateway. Overnight, pull request #176131 (1:24 AM Pacific today) let managed Git updates wait up to 30 seconds for another process's SQLite maintenance, deferring activation instead of stopping the Gateway if that lease persists.

SEN-X Take

This is a useful model for reporting OpenClaw bugs. The reporter on #173764 attached process samples and a file-handle table, and that evidence turned a vague "Doctor hangs" into two targeted fixes in under nine hours. If a maintenance command stalls on your host, capture sample <pid> 5 or the lsof handle list before you kill it.

Release Watch: The Fixes Are Not in a Stable Tag Yet

The OpenClaw releases page on GitHub still shows stable 2026.10.4, 2026.10.10-beta.1, and extended-stable 2026.9.33 as the newest releases, and npm dist-tags match. The repository does carry a signed v2026.10.10-beta.2 tag from 6:51 PM Pacific on October 16, with no release page or npm publication yet. The 2026.10.10-beta.2 changelog file at that tag lists the Doctor deadline fix (#173862) and #173777, which restores plugin SDK exports that published external plugins still import. It does not list #174060 or #174898.

The nested-effect Doctor fix, pull request #170070 for issue #168750, is in the 10.10-beta.1 history and the 2026.10.5-beta.3 notes. No stable or extended-stable tag contains or lists it yet; the 10.3-to-10.4 range has no matching commit. Stable users should expect 10.4 behavior until a stable tag carries these fixes.

Two practices fit the evidence. First, stop the Gateway before doctor --fix. Current main asks for that, and the OpenClaw update repair and recovery documentation says update repair refuses with "Stop the Gateway first" when a state owner or maintenance lock is held. Second, keep the diagnostics when a run stalls. The OpenClaw update status and run history reference shows where each run's runId and failed-step facts live; its bounded-status text tracks main and may be ahead of 10.4.

SEN-X Take

An unpublished tag is not a release. Don't pin hosts to v2026.10.10-beta.2 until it appears on the releases page and npm. Even then it carries only one of the three hang fixes. Stable fleets should stay on 10.4, avoid unattended doctor --fix runs against a live Gateway, and watch for a stable tag whose notes name #173862, #174060, #174898, and #170070 together.

Security Practice: Check Which Provider Keys Your Agents Share

The OpenCode Console breach is not an OpenClaw incident, but it can involve the same keys

In its official @opencode post disclosing the OpenCode Console breach at 11:08 AM Pacific on October 17, OpenCode said a breach "related to a large scale distillation attack" affected 1.4% of Console users, a subset with external providers linked, all notified by email. The Latent's report on OpenCode provider keys exposed in the Console breach quotes the customer email: keys "saved in your workspace may have been exposed," and users should revoke them in each provider's dashboard. Nothing in these sources says OpenClaw was affected.

The overlap is credential reuse. If an OpenAI or Anthropic key linked to an OpenCode Console workspace is also in your Gateway, rotating it in one place does not protect the other. As the Noma Security guidance on the OpenCode Console breach puts it, "Changing a key in a gateway configuration is not the same as revoking the old key at the provider." The OpenClaw OpenCode Go provider documentation shows OpenClaw's Zen and Go providers use OPENCODE_API_KEY, which OpenCode's statement does not name.

  • Run openclaw secrets audit --check to find plaintext keys and shadowed refs; it exits 1 on findings, so it works as a CI gate.
  • Revoke the old key at the provider, then store the new one with openclaw secrets store set OPENAI_API_KEY --kind secret through stdin or the no-echo prompt; --value is refused for secrets.
  • Bind each stored secret to its real host with --allow-host api.openai.com, then run openclaw secrets reload.

Commands are documented in the OpenClaw secrets CLI reference. Also on main since 3:07 AM Pacific today: pull request #176166 stops partial API-key saves when credential publication overlaps the provider binding. Until it ships, confirm the binding after any key change that reports a partial save.

Ecosystem Tool: somora Puts OpenClaw Agents on a Mixed Team

somora v2026.1017.3 external agents over ACP and A2A

The third-party agent workspace somora shipped somora release v2026.1017.3 adding OpenClaw, Hermes, and A2A external agents at 12:53 PM Pacific on October 17. An OpenClaw agent keeps its own model, tools, and memory on its own machine but appears in somora's web, phone, and terminal clients like a teammate, with permission questions shown as buttons. The notes say the maintainers tested live chats with an OpenClaw and a Hermes agent, plus A2A handoffs to both.

The somora external agents guide for OpenClaw and Hermes has somora launch openclaw acp --session agent:main:somora-{session}, locally or over SSH, giving each conversation its own Gateway session. OpenClaw replies arrive as one block without token usage, and results from sessions_spawn arrive with your next message. The OpenClaw ACP bridge CLI reference covers the security side: per-session MCP servers are rejected, exec approvals relay only during the active prompt turn, and --token-file beats --token, which can appear in process listings.

SEN-X Take

Mixed-agent teams are where approval boundaries get blurry. When somora drives an OpenClaw agent, OpenClaw's own exec approvals and tool policy still decide what runs, so test a denied command end to end before you trust the setup. Give the bridge a dedicated session key and a token file, and start with a non-production agent until you've seen how the handoffs behave.

Planning OpenClaw upgrades across a fleet?

SEN-X helps teams stage OpenClaw updates, capture diagnostics when maintenance stalls, rotate shared provider keys, and set approval boundaries for mixed-agent teams.

Contact SEN-X →