/breaking
Every breaking change across all tracked tools. Sorted newest first. Never miss a config-breaking update.
54 breaking changes across 6 tools
Plugin authors: the old plugin compatibility import layer is gone (#126164), hermes sync (Skill Sync) was removed (#132465), and the bundled tirith... | Prompt caching — opt-in cache_ttl: auto (1h interactive, 5m subagents/cron); big sessions confirm a cache-breaking /model; compaction keeps the pre... | Moved out of core — Spotify and Langfuse became official plugins (auto-migrated); tirith was removed, its key checks built in. (#135389, #133832) | Collective Wisdom V1 (an in-tree org skill marketplace) was merged and then removed; there is no wisdom code in this release. (#94266 — @shannonsands)
view release ↗Added size, weight, mono and tabular to a mod's Text and named spacing steps (xs to xl) to its Box; bold is deprecated in favor of weight | Fixed Cowork cloud sessions running the old version of an account plugin changed, removed or disabled from another device until the session restarted | Fixed mods' hooks being handed values with __proto__ keys silently removed, which could skip a tool.check guard on a tool call another mod made
view release ↗Stuck updates recover: updates settle package-activation journals after filesystem remounts or device-number drift, ride out a briefly locked state... | Plugin SDK compatibility: createSessionHeaderLink is restored in openclaw/plugin-sdk/control-ui as a deprecated export for plugins built against 20... | Update outcomes: updates with a running Gateway no longer record false post-install failures after migration, unsafe Doctor recovery guidance is ke...
view release ↗Doctor keeps your plugins and data: Doctor preserves installed plugins' configuration when path safety checks block them, leaves malformed UTF-8 ro... | Tool approval hooks: ordinary hooks can no longer rewrite trusted-inline-approved tool arguments without another approval, and transforming plugins... | Codex runtime compatibility: plugin admission rejects official Codex runtimes below 2026.9.7 with update and repair guidance, and incompatible plug... | Update outcomes: accepted Gateway update handoffs are not reported as failures, recorded successes stay successful with a warning about stopped cha...
view release ↗Doctor and update recovery: Doctor no longer stops on residual legacy imports, stale Gateway locks, slow state inspection, memory reindex locks, or...
view release ↗Security boundaries: fail closed on unresolved A2A peer token references and when the process census cannot prove a temp root is unused, and reject... | Status and diagnostics: stop deep status blaming config for an unreadable state database, report startup migrations and channel logouts accurately,... | Channel security: stop removed X allowlist senders from reaching dispatch mid-authorization, redact credentials in Discord PluralKit, LINE, and Tlo... | Exec and tools: preserve channel context in node exec, prevent NUL commands from breaking shutdown, stop stalled sandbox finalization loops, advert... | Talk and voice calls: keep restored calls and receipts honest, stop sharing answers across consults, preserve Talk completion status, settle voice ...
view release ↗Fixed $.agent.register succeeding from a mod's hook that was still running after the mod was reloaded or removed; the call is now refused | [Claude Tag] Fixed links to URLs that contain parentheses breaking in some of Claude's Slack replies and task checklists, which showed stray bracke...
view release ↗Fixed --tools and --restricted not applying to built-in tools that register after launch, and deprecated tool names reaching tools outside the call... | Fixed temporary files left under ~/.claude/seed-admin by an interrupted /ultrareview upload never being removed by the retention cleanup | Fixed Desktop and SDK sessions refusing to switch back to auto mode until restart after disableAutoMode was removed from settings | Fixed the prompt sent after a /rewind being lost, and the removed turns coming back, when the session was moved to the background or resumed after ...
view release ↗Options that were accepted but never did anything are removed and now fail with "unknown option": cline history --page, and cline schedule create/u...
view release ↗Fixed Claude being told to continue or message subagents with SendMessage in sessions, including resumed ones, where a host, a permission rule or a...
view release ↗#14813 8b144bb - Show to-do progress in the session dock above the prompt. A small progress chip shows how many items are done and the current item... | #14721 b299b97 - Keep pre-warmed Agent Manager worktrees outside the project folder. .kilo/worktrees/ is now only created when you create a worktre... | #14798 b8d0cf1 - Scroll wide MCP tool input and output horizontally instead of clipping it, and keep words in MCP output tables from breaking into ...
view release ↗#14813 8b144bb - Show to-do progress in the session dock above the prompt. A small progress chip shows how many items are done and the current item... | #14721 b299b97 - Keep pre-warmed Agent Manager worktrees outside the project folder. .kilo/worktrees/ is now only created when you create a worktre... | #14798 b8d0cf1 - Scroll wide MCP tool input and output horizontally instead of clipping it, and keep words in MCP output tables from breaking into ...
view release ↗Existing agents can be migrated to local Claws with the explicit, consented openclaw claws migrate <agent-id> workflow, preserving their workspace ... | Breaking change: third-party plugins importing retired compatibility facades or whole-session-store helpers must migrate before upgrading. Use focu... | Awaited session persistence APIs commit through the writer. Deprecated synchronous adapters remain until the next major with warnings; this additio... | Memory and transcript persistence: bound embedding-cache migrations and report oversized rows, reduce transcript-copy overhead, and move lifecycle ...
view release ↗Safer updates and recovery: preserve plugin settings, prevent duplicate Gateways, handle pnpm package updates without terminal failures, and retain... | Update safety: preserve incompatible-plugin settings through recovery, keep retained plugin records during migration, avoid pnpm terminal failures,...
view release ↗Fixed background sessions that could not be reopened from claude agents after the agent exited and removed the worktree the session was started in
view release ↗#14682 979e02c - Stop a single sub-agent from its task card, and follow the background agents of the current run next to the working status and ses...
view release ↗#14682 979e02c - Stop a single sub-agent from its task card, and follow the background agents of the current run next to the working status and ses...
view release ↗Removed the browser link from /ultrareview and claude ultrareview output
view release ↗[VSCode] Fixed uninstalling a plugin from the Manage plugins dialog, which removed the wrong installation or failed for a plugin installed for the ...
view release ↗Preserve prompt cache breakpoints only for first-party OpenAI providers, avoiding incompatible requests to custom providers.
view release ↗Fixed tab bars in dialogs such as /config and /plugin breaking the title and tab labels mid-word in a narrow terminal; a tab that doesn't fit now m...
view release ↗Changed the ultracode visuals in /effort and the prompt input to plain styling (no ripple, border flourish or keyword glimmer) and removed the dyna...
view release ↗Fixed API errors from an HTML error page (such as a proxy's 429 or 502 page) printing the page's raw markup or leaving out the HTTP status, and err... | Removed the leftover "(removed)" /agents entry from the command menu and /help; typing /agents still explains where the wizard went
view release ↗Fixed the prompt line staying scrambled on Windows terminals after invisible characters were removed on Enter; the screen is now repainted so you r... | [VSCode] Improved prompt handling in the chat box: invisible Unicode formatting and tag characters are removed from pasted text with a notice, and ... | [Claude Code on the web] Removed the empty repository picker shown when starting a session on a self-hosted environment in an organization where an...
view release ↗Fixed claude plugin install sometimes failing and breaking the installed copy when reinstalling a plugin version that a session or another program ... | Improved prompt handling: invisible Unicode formatting and tag characters in a prompt are removed and the cleaned prompt is shown for review before... | Removed the background Haiku auto-title request from claude -p runs launched outside an SDK or IDE | Removed the deprecated TaskOutput tool; Claude reads a background task's output file with Read instead, and the taskOutputMaxChars setting and TASK... | [Claude Code on the web] Changed the admin Claude Code setting labeled "Web" to "Cloud sessions" and removed the redundant read-only Mobile row ben...
view release ↗#14255 4881829 - Leftover worktree folders now show a count and total size in the warning banner, with a "Resolve…" action that opens a dialog list...
view release ↗Removed the startup notice that told you a one-off scheduled routine had run since your last session
view release ↗#14137 91040bc - Report worktree problems accurately and repair them: stale entries are cleaned up on their own, a deleted worktree can be restored... | #14208 1d187e8 - Remove the deprecated /local-review and /local-review-uncommitted command aliases. Use /review with its scopes instead. | #14208 1d187e8 - Remove the deprecated /local-review and /local-review-uncommitted command aliases. Use /review with its scopes instead.
view release ↗[Claude Tag] Removed the repeated guest-attribution note Claude appended to a Slack canvas each time it edited one in a channel using the "Channel ...
view release ↗Fixed a long-running session recreating a stub .git/info/exclude after the repository's .git directory was removed or moved away | [Claude Code on the web] Fixed routines losing access to an organization connector, and still calling the old one, after an admin removed and re-ad... | [Claude Code on the web] Removed the full-page desktop-app download screen that new users without a cloud environment saw on Mac and Windows; they ...
view release ↗Fixed a stale .git/config.lock breaking git checkout -b, git push -u and git config for the rest of a session after a sandboxed command failed to s... | [Claude Code on the web] Changed the Routines page on claude.ai/code to a new layout with Yours and Templates tabs and two-column routine cards tha...
view release ↗Telegram bots must @mention when bots_require_mention is on, breaking bot-to-bot loops (#106534); Matrix renders LaTeX (#106515); Signal renders ma...
view release ↗[VSCode] Removed the Claude Code items from a session tab's right-click menu and the editor title bar's "..." menu; they could not act on the tab t...
view release ↗Fixed prompt caching and extended thinking breaking mid-session for SDK sessions using excludeDynamicSections: the first message is no longer re-re... | Fixed claude agents session delete getting stuck when a worktree can't be removed: the message names the cause and next step, and for a git worktre... | Fixed /remote-control and other claude.ai-gated commands to suggest /login when signed out instead of showing a Claude for Enterprise migration mes...
view release ↗Safer updates: rehearse core and plugin changes in isolated candidate state before activation, support eligible 2026.9.2 migrations, and recover ab... | Breaking — Node runtime: require Node 24.16.0 or newer on 24.x, or Node 26.1.0 or newer; Node 26 is recommended. Upgrade Node before OpenClaw to pr... | Breaking — execution-policy SDK: move the retired exec-mode and comparator helpers from infra-runtime to execPolicy on openclaw/plugin-sdk/agent-ha... | Breaking — approval SDK: import approval account-resolution helpers from approval-native-runtime, adapt session filtering to the full matchesApprov... | Breaking — SDK aliases: replace channel-inbound.buildChannelTurnMediaPayload with buildChannelInboundMediaPayload; infer the retained abortAndDrain...
view release ↗Compaction accounting: include orphaned, duplicate, and displaced tool results removed during history repair in dropped-message summaries and token... | Telegram upgrades: retain account names and sender-policy keys that happen to match retired tuning-setting names in Doctor migration. (#137860) | Cron jobs: preserve the final reply when an automation removes itself, cancel removed conditions before main-session handoff, retain native creator... | Plugin SDK context aliases: deprecated untrusted-named prompt-context aliases become eligible for removal on or after September 8, 2026. Migrate to...
view release ↗A Gateway that stays up: startup recovers under load and with large agent rosters, malformed legacy cron rows are quarantined instead of blocking b... | Uninstall and backups: openclaw uninstall defaults to removing only the service and keeps user data, Claude migration backups preserve overwritten ... | Secrets stay redacted: config.get no longer returns unredacted pre-migration snapshots, blank sensitive fields stay editable without being treated ... | Doctor converges: doctor --fix finishes on empty workspace attestations, stale workspace setup loops resolve, incomplete exec-approvals migrations ... | Shared credential migration: interrupted migrations recover, stranded credentials are restored, redundant relocation subsets converge, relocation c...
view release ↗Safer upgrades: preserve newer configuration, stop incomplete session migrations before claiming success, and recover a stopped Gateway after a fai... | Recovery cleanup: preview retained migration originals with openclaw update cleanup --dry-run, then explicitly remove eligible originals while the ... | Migration safety: coordinate automatic agent-database maintenance with its current owner, check migration readiness before accepting workspace work... | Safe session recovery: preserve independently created files and symlinks during archive restore, repair supported legacy v17 agent databases, and f... | Approval migration: import historical execution approvals and usage metadata, and identify malformed legacy fields without exposing their values so...
view release ↗Supply-chain response — the Blender MCP catalog entry and skill were removed after an upstream compromise (#83404); plugin installs get Tier-1 secu... | Electron rolled back to 40.10.2; TCC interpreter anchor removed (superseded by the signing-identity approach that shipped).
view release ↗OpenProse migration (breaking): remove the bundled OpenProse plugin and /prose command; run openclaw doctor --fix to clean stale configuration and ... | OpenAI route migration (breaking): use openclaw doctor --fix to migrate shipped codex/* and openai-codex/* model refs, provider config, stored sess... | Upcoming deprecations (2026-09-01): external plugins should migrate ahead of the SDK removal gate: plugin-sdk-config-runtime-subpath moves to api.p... | Explicit model allowlists: separate aliases and per-model settings from explicit modelPolicy.allow restrictions, with per-agent policies and provid... | Memory migration: offer detected Claude Code, Codex, and Hermes memory imports during CLI, macOS, and Linux onboarding. (#108977)
view release ↗Linux installation reliability: provision the stable Node 24 LTS stream and constrain RPM installs to the configured NodeSource repository so Linux... | Linux installer runtime selection: use stable Node 24 LTS provisioning and scope RPM installs to NodeSource so fresh Linux installs cannot select a...
view release ↗Removed outdated OpenCode Go first-month discount messaging and pricing.
view release ↗Removed built-in Qwen sampling defaults that could send unsupported settings. | Ignore malformed model pricing instead of breaking usage cost calculation.
view release ↗Updater plugin convergence: keep pre-plugin doctor passes from installing configured plugins before the updater's plugin sweep, while preserving th... | Control UI browser annotations: keep marked screenshots and generated page context together in structured composer cards, preserve user-written dra... | SQLite maintenance schema validation: reject current-version global and agent databases with missing or drifted canonical tables, constraints, inde... | Gateway chat typecheck: import chat event types from their owning protocol schema after the retired aggregate type module was removed, restoring fu... | OpenCode Go MiMo catalog: stop exposing the deprecated mimo-v2-omni and mimo-v2-pro aliases that reject agent requests, and keep release validation...
view release ↗Readonly config loader at 29 call sites (28× cheaper reads); per-turn config deepcopies killed (telemetry gate 54×); one raw config.yaml parse per ... | Canonical config loaders for behavioral reads; table-driven config migration registry; DEFAULT_CONFIG extracted to config_defaults.py; auto-migrati... | hermes import-agent — one-command migration from Claude Code / Codex CLI setups (#72190 — @teknium1) | Office skills bundled: docx, xlsx, pdf + refreshed powerpoint; skills-tree debloat continues (yuanbao, segment-anything, jupyter, heartmula, audioc... | Credential pool: reset-aware primary restore (stay on fallback until the rate-limit window resets) + deferred-refresh locking fixes; FTS UPDATE tri...
view release ↗Removed the extra vertical borders from the V2 home projects view.
view release ↗Stops sending deprecated sampling defaults to newer Gemini models.
view release ↗Keep command palette entries from reappearing incorrectly when shadowed commands are removed.
view release ↗~80% TTFT cut — Discord capability detection off the critical path (token-keyed 24h disk cache + background refresh), Ollama probe skipped for know... | Unified delegation concurrency caps (max_async_children deprecated); explain long provider waits on the live status line; deterministic tool-output... | hermes config get / unset; warn on unknown root config keys + doctor deprecated-key reporting; display.timestamp_format (#65540, #67370, #40622 — @...
view release ↗Removed the agent-callable send_message tool; coding-context posture across CLI/TUI/desktop/ACP; read_file extracts .ipynb/.docx/.xlsx to text (#47...
view release ↗Removed (redundant / dead): spotify (→ Spotify plugin's 7 native tools), linear (→ hermes mcp install linear), kanban-codex-lane, debugging-hermes-...
view release ↗Provider rename — Alibaba Cloud → Qwen Cloud — The Alibaba Cloud provider is renamed to Qwen Cloud in the picker and config to match what the rest ... | Codex-runtime: skip unavailable plugins during migration (#25437)
view release ↗Index tool_name + tool_calls in FTS5, with repair + migration (salvages #16866) (#16914) | Hardened OpenClaw import — plan-first apply, redaction, pre-migration backup (#16911) | FTS5 search — tool_name + tool_calls indexing with repair + migration (#16914) | Hooks tutorial — build a BOOT.md startup checklist (replaces the removed built-in hook) (#17202) | BOOT.md built-in hook removed (#17093); the hooks tutorial (#17202) shows how to build the same workflow yourself with a shell hook
view release ↗/steer — mid-run agent nudges — /steer <prompt> injects a note that the running agent sees after its next tool call, without interrupting the turn ... | Website removed Discussions link from README
view release ↗