OpenClaw 2026.6.5 Release: More Stable Sessions, Smarter Tools, and Safer Configurations

OpenClaw officially released v2026.6.5 on June 9, 2026. This is an important monthly update following the new versioning scheme (YYYY.M.PATCH – year.month.patch). The release includes over 30 improvements and fixes, focusing on session recovery stability, tool call format compatibility, multi‑channel interactions, and configuration & storage security. If you use OpenClaw to build automation workflows, chatbots, or multi‑channel message agents, this version is well worth upgrading.

Below we explain, in plain language, what has changed, why it matters, and what you will notice directly.

1. Core Highlights – What’s New at a Glance

  • QQ Bot no longer outputs “thinking” scaffolds – Internal reasoning tags like <thinking> are automatically stripped before delivery.
  • MCP tools with complex results no longer cause errors – Images, audio, or mixed blocks are converted into text or standard images, preventing API rejections.
  • Long conversations no longer break unexpectedly – Anthropic (Claude) extended‑thinking sessions recover after cache expiry or gateway restarts.
  • New built‑in search plugin “Parallel” – Set PARALLEL_API_KEY to use web_search without extra installation.
  • Google Vertex AI users are back to normal – Default Application Default Credentials (ADC) now work for model listing and calling.
  • Matrix now pre‑checks voice messages and respects threads – Voice notes are recognized before mention gating, and replies stay inside the correct thread.
  • Auth and plugin install state is more durable – Auth profiles live in SQLite, npm plugins keep their trusted pins.
  • macOS node mode no longer self‑reconnects aggressively – A healthy direct gateway session is kept, avoiding unnecessary churn.
  • Upgrade paths are safer – Legacy cron JSON stores migrate automatically, service env placeholders don’t mask real secrets, WhatsApp startup waits are bounded.

2. Detailed Changes

2.1 Channel Message Handling: QQBot, Matrix, Google Chat and more

Why does QQBot no longer output <thinking> tags?

When using large language models that support reasoning steps (e.g., DeepSeek‑R1, Gemini), the model may produce internal content wrapped in <thinking>...</thinking>. In older versions, QQ Bot could forward these tags together with the final answer, causing technical noise in group chats.

Fix in 2026.6.5: The reasoning scaffolds are automatically stripped before native delivery. End users only see the final answer, while internal reasoning remains in logs or session records – it never leaks into channel replies.

How does Matrix now handle voice messages and threads?

  • Voice preflight: Before deciding whether to reply to a message (e.g., based on mention conditions), the system identifies voice messages, preventing missed requests due to unparseable audio.
  • Thread awareness: When a user replies inside a thread, OpenClaw correctly places the new message into the same thread instead of starting a new one. This is critical for long, branched conversations.
  • Test coverage: New automated tests for voice and thread scenarios ensure future changes don’t break these behaviours.

Native approval cards in Google Chat

Previously, approval actions (confirm, reject) went through generic text message flows, requiring manual commands. Now they use platform‑native card buttons – click to act, just like a regular app.

WhatsApp restart and disable logic

  • If a WhatsApp account configuration changes (e.g., phone number or credentials), the system correctly rebuilds the controller for that account instead of using stale instances.
  • A bounded startup wait prevents the whole process from hanging due to network issues.
  • When you disable a WhatsApp account in the config file, it shuts down completely – no leftover background tasks.

Feishu rate‑limit retries

Feishu may return rate‑limit errors (HTTP 429 or specific codes 230020, 11232). The new version retries with linear backoff, including streaming card sends. This significantly reduces “send failed” messages.

Other channel fixes

  • Mattermost: Slash command state lives on globalThis, and default replies stay inside existing threads.
  • iMessage: Private‑API failures and send timeouts now provide clear error reasons instead of silent failures.
  • Discord: Runtime adapters remain resolvable.
  • ClickClack: Reply tools respect toolsAllow – only allowed tools are used.

2.2 Agent & Tool Calls: MCP result coercion, cache recovery, tool permissions

What happens when an MCP tool returns images, audio, or links?

MCP (Model Context Protocol) tools can return rich content blocks, including resource_link, resource, audio, or even malformed images. In older versions, feeding these directly to LLM providers could cause Anthropic API 400 errors, or worse, poison the session history and break all subsequent calls.

Fix: A “materialisation boundary” is introduced before data reaches the provider converter:

  • Valid image blocks are preserved.
  • Non‑text/non‑image blocks (audio, resource links) are coerced into text descriptions (e.g., “

    ”).

  • Malformed image blocks are also turned into text.

This keeps useful information while ensuring API compatibility.

How do Claude extended‑thinking sessions recover after expiry?

Claude’s extended thinking generates pre‑generation signatures. If the prompt cache expires or the gateway restarts, the old recovery logic might miss the message_start event, leaving the session stuck.

Fix: Streaming start events now wait for message_start before processing any content. If a signature error is detected, the existing recovery retry is automatically triggered – users experience a seamless continuation.

Tool call security & efficiency improvements

  • MCP leases: Releasing a lease no longer refreshes lastUsedAt, preventing indefinite lease extension.
  • Prompt‑cached tool names: Unverified tool names are no longer exposed.
  • Local tool catalogs: Kept lean, only essential entries.
  • Dynamic tools: Unreadable tool files are quarantined – they won’t affect the main flow.
  • Owner‑only HTTP tools: Permission checks are now enforced – non‑owners cannot call them.
  • Background subagents: Completion results survive and reach the monitoring service, not lost.

2.3 Model Providers: Google Vertex, Ollama, OpenRouter, etc.

Google Vertex ADC users are back to normal

Developers using Application Default Credentials (ADC) previously saw empty model catalogs or resolution errors because auth markers were lost when generating the catalog. This release restores static catalog rows and runtime model resolution.

Single‑provider cooldown recovery

If a single provider (e.g., one OpenAI account) enters cooldown due to rate limits or errors, the system now periodically re‑probes that provider to see if it has recovered, instead of marking it as permanently unavailable.

Other provider fixes

  • Ollama: Catalog metadata (model description, size) is preserved.
  • Gemini: The google/ prefix is correctly stripped from paths.
  • Foundry Responses: Reasoning replay IDs survive.
  • MiniMax M3: Thinking mode stays enabled.
  • Vertex AI multi‑region: Uses the correct regional host when calling.
  • OpenRouter: Streamed generation costs are reconciled after streaming finishes.

2.4 Gateway, Mobile & Desktop Clients

macOS node mode no longer self‑reconnects

In some cases, even when the macOS client had a healthy direct gateway session, the system would still try to re‑pair to another node, causing frequent session churn. This is fixed by rate‑limiting node pairing requests and preferring the existing direct session.

iOS and Android UI improvements

  • Android: Model selection screen now clearly shows expired, unavailable, unresolved, and attention states; theme mode selection (light/dark/system) is added.
  • iOS: Diagnostics, gateway rows, attachment labels, fallback copy, and unavailable Talk controls remain reachable even when Talk tab is disabled.

Gateway config patch semantics fix

When using config.patch to replace an array (instead of merging), the new version strictly follows replacement semantics. Example: original ["a","b"], patch ["c"] → result ["c"], not ["a","b","c"].

Rate‑limiting and probe warning deduplication

Duplicate gateway probe warnings for the same identity are suppressed, reducing log noise.

2.5 Storage & Migration: SQLite gradually replaces JSON files

Many components previously used ad‑hoc files or JSON storage, which could corrupt under concurrency or abnormal exits. This release migrates the following data to SQLite‑managed storage:

  • Matrix sync and crypto sidecars
  • Memory‑wiki import / source‑sync state
  • Sandbox registry state
  • ACPX process state
  • Device‑pair notify state
  • Zalo hosted media
  • Plugin SDK deduplication state

Additionally, auth profiles now live entirely in SQLite – atomic reads/writes, no manual edit errors.

2.6 Upgrades & Operations: Safer, More Reliable

Cron migration

Legacy cron JSON stores are automatically migrated to SQLite during the doctor preflight phase. This prevents runtime failures due to incompatible file formats.

Service env placeholder handling

When planning service environment variables, if a value contains an unresolved placeholder (e.g., ${STATE_DIR}/.env referencing another variable), the system skips it. This avoids accidentally overwriting real values already present in the state‑dir .env file.

WhatsApp startup timeout

WhatsApp connection attempts now have a bounded wait. If the timeout is exceeded, the attempt fails and logs an error without blocking other channel startups.

3. Installation & Upgrade

Getting the latest version

Install or upgrade directly via npm:

npm install -g openclaw@2026.6.5

Or download the tarball:

wget https://registry.npmjs.org/openclaw/-/openclaw-2026.6.5.tgz
npm install -g ./openclaw-2026.6.5.tgz

Integrity check

The npm package integrity for this version is:

sha512-sRgF0TexfRcJX8Eg0lcL6Jj0YdZbSxUbbp8EbG+qo3v6TtVayE6tKPEs3oCKD7YfYe2C/8Qg26HUxTnycd44ZQ==

You can verify a downloaded tarball with shasum -a 512.

Before upgrading

  • If you used the beta SQLite session migration, note that the stable release defers that migration (still on main). This version continues using the JSON‑backed session metadata path – stable and reliable.
  • It is recommended to back up your ~/.openclaw or state‑dir directory before running openclaw doctor.

4. Frequently Asked Questions (FAQ)

What is the Parallel search plugin? Do I need to install it separately?

Parallel is a built‑in web_search provider. You do not need to manually install a plugin. Simply set PARALLEL_API_KEY in your environment or configuration file, then use web_search in your tool calls. The system automatically discovers the key and enables the guarded endpoint handling.

I use Claude models and my sessions often break. Does this version really fix it?

Yes. 2026.6.5 fixes two critical points: (1) streaming start events wait for message_start before proceeding, and (2) pre‑generation signature errors due to cache expiry or gateway restart trigger the existing recovery retry. If you still encounter issues, please open a GitHub issue referencing PR #90697.

My Google Vertex AI configuration worked before, but now says “no models found”. What should I do?

This release restores static catalog rows and runtime model resolution. Make sure your authentication method (ADC or service account JSON) matches the GOOGLE_APPLICATION_CREDENTIALS environment variable. If problems persist, run openclaw providers list to see if Google models appear.

My QQBot still outputs <thinking> tags – what’s wrong?

The fix targets model reasoning scaffolds (e.g., explicit <thinking> structures output by certain models). If you see other kinds of markers, check your QQBot plugin version. Ensure that qqbot.stripReasoning (if available) is enabled, or upgrade the plugin to match the core version.

I read “auth profiles now live in SQLite”. Will I lose my existing auth files?

No. When you first run 2026.6.5, the system automatically migrates from the old file storage (e.g., auth-profiles.json) to SQLite. The old files are not deleted after migration, but they are no longer used. After confirming everything works, you can back them up and remove them to avoid confusion.

I’m on Windows and the Parallel search test says pnpm not found – is that a problem?

That is a CI test environment message and does not affect runtime. Using the Parallel search plugin does not require pnpm. If you see an error, double‑check that PARALLEL_API_KEY is set correctly and that your network can reach api.parallel.ai/v1/search.

What does “Matrix voice‑message preflight” mean? Do I need to write extra code?

No. Preflight means that when processing Matrix events, OpenClaw first identifies whether an event is a voice message. If your bot is configured to reply only when mentioned, voice messages will also trigger the mention check – they won’t be silently ignored because the audio cannot be parsed. This is completely automatic.

After upgrading, my cron jobs are missing. What happened?

Run openclaw doctor. It automatically migrates legacy cron JSON stores to SQLite. After migration, openclaw cron list should show your existing jobs. If they are still missing, check for a backup in ~/.openclaw/cron.

Is this version stable enough for production?

Yes. 2026.6.5 is a regular monthly release that passed full CI validation (over 30 end‑to‑end tests, plugin publishing verification, upgrade survivability tests, etc.). Release evidence and verification reports are publicly available. For most use cases, upgrading is recommended. If you rely on the beta SQLite session migration (still on main), you may want to wait for the next release.

5. Additional Resources & Acknowledgements

This release includes contributions from 22 community members. Special thanks to:

Full release reports, CI logs, and npm package details:

If you encounter any issue with the new version, please search GitHub Issues for existing reports (label v2026.6.5) or open a new issue with logs and configuration (remember to redact secrets).


Release cadence: Starting June 2026, OpenClaw uses monthly patch numbers (YYYY.M.PATCH) – one stable release per month. The next version is expected in early July. For the latest development features, you can use the main branch, but production environments are recommended to follow monthly releases.