Cline 4.0.1 Rolls Back the SDK Migration After 4.0.0 Regressions; 4.0.2 Brings the SDK Code Back with Reasoning Effort and ClinePass Fixes

Cline 4.0.1 Rolls Back the SDK Migration After 4.0.0 Regressions; 4.0.2 Brings the SDK Code Back with Reasoning Effort and ClinePass Fixes

lschvn

Cline v4.0.1, released June 28, 2026, is one of the more unusual stable releases in recent AI tooling history. Its release notes are a single line: "Roll the stable VS Code extension back to the pre-SDK-migration codebase to resolve regressions reported in 4.0.0. This release ships the 3.89.2 extension code under a higher version number so existing 4.0.0 users receive the update. SDK-migration work continues separately on main." Forty-eight hours earlier, Cline v4.0.0 had migrated the VS Code extension onto the shared Cline SDK, the headline architectural change covered in the June 27 Cline 4.0 piece. v4.0.2, released June 29 (the day this article ships), brings the SDK-backed code path back with reasoning effort support for DeepSeek thinking models, a centralized ClinePass reasoning layer, and a batch of provider and webview fixes. The 72-hour sequence is a worked example of how a major migration can be recovered without reverting the work itself.

What the rollback actually shipped

The 4.0.0 SDK migration had been in the works for months; the compare view between v3.89.2 and v4.0.0 shows the entire extension moved off its npm-based legacy task implementation and onto a shared TypeScript runtime that also powers the Cline CLI, Kanban, and the JetBrains plugin. Within hours of the stable release, two GitHub issues described regressions that the existing 3.x users had not been seeing. Issue #11934, opened the morning after 4.0.0 shipped, reported that "all file-change reviews stopped showing diffs in VS Code. Instead of displaying the usual side-by-side or inline diff, Cline only presented Approve or Reject buttons with no diff view at all in the editor window." Issue #11907, opened late on June 27, reported run_commands errors during file edits on local Qwen models. Both reporters noted that reverting to 3.89.2 restored normal behavior immediately.

The follow-up comments on #11907 are what shaped the decision to roll back. One commenter using GLM 5.2 and MiniMax M3 through Ollama wrote that after the 4.0 update Cline had become "basically unusable" because "file editing no longer works reliably at all: the VS Code diff preview is gone or not shown properly, edits are not applied, and the new CLI/tool-based flow fails with these models." The comment pointed to commit #11801 as the likely culprit, and proposed a manual patch of the bundled @cline/core distribution. That is the kind of report a project does not want to triage one user at a time. The fix was structural: ship the legacy extension forward and keep the SDK work on main.

The legacy-extension branch and a dedicated publish workflow

The mechanism is the interesting part. Cline did not revert any commits on main; the SDK migration work continued in place. Instead, the project created a separate legacy-extension branch that holds the npm-based 3.89.x codebase, and a new ext-vscode-publish-legacy.yml workflow that ships from that branch. The workflow comment explains the design:

Publishes the legacy (pre-SDK-migration) VS Code extension from the legacy-extension branch. This branch holds the npm-based 3.89.x codebase, rolled forward under a 4.0.x version so existing 4.0.0 users still receive the update. The main ext-vscode-publish-stable.yml workflow (bun-based) stays the path for releasing main once the SDK migration is solid.

The workflow also inlines the legacy extension's own npm-based test suite rather than reusing the shared .github/workflows/ext-vscode-test.yml, because that suite on main is bun-based and would test the wrong branch. The legacy workflow checks out the legacy-extension branch, runs npm --prefix apps/vscode ci, then runs npm run ci:check-all, npm run ci:build, the unit tests, the extension integration tests, and the webview tests. The release tag is derived from the package version on the legacy branch, the changelog must start with the new release heading, and the tag is only created if it does not already exist on origin. This is the production shape of a "we need to ship the old code forward while we fix the new code" recovery.

The compare view between v4.0.0 and v4.0.1 is accordingly short: a single chore(vscode): bump to 4.0.1 for legacy rollback release commit, plus the CHANGELOG.md and apps/vscode/package.json bumps. Everything else is on the legacy-extension branch. The same pattern is why a 4.0.1 tag can ship the 3.89.2 codebase: the version is bumped forward, the legacy branch is the source of truth, and the SDK migration remains intact on main for the eventual stable return.

What v4.0.2 brought back

v4.0.2, released the morning of June 29, ships the SDK-backed code path back to the legacy branch with eight commits of fixes and features. The compare view between v4.0.1 and v4.0.2 is the actual signal that the SDK migration is being stabilized rather than abandoned.

The headline feature is reasoning effort support including xhigh for DeepSeek thinking models (#11938). The PR adds a reasoning effort selector scoped to thinking-capable models and a fix that does not forward none to the provider API, so the model itself, not the provider wrapper, decides when to skip reasoning output. A follow-up (#11954) centralizes the reasoning effort support layer so the same component handles the setting across ClinePass and direct providers, with a fix that surfaces reasoning effort controls for ClinePass models and normalizes Claude's budget reasoning include flag.

Three other commits tighten the ClinePass and Z.ai provider surface. #11950 improves the ClinePass provider UX with an intermediate step before model selection and a fallback path for ClinePass actions. #11951 prefers canonical Z.ai model ids and removes redundant alias filtering on the Cline side. #11958 polishes ClinePass and Z.ai model metadata. #11955 fixes webview environment variable replacement, which had silently broken template interpolation in the SDK-backed extension. #11960 defaults focus chain settings in webview state so the toggle reflects the correct value on load.

The release commit, chore(vscode): bump to 4.0.2 for legacy release, is the same kind of version bump as 4.0.1, but the diff in the compare view makes clear that 4.0.2 is no longer a pure rollback; it is the SDK code path returning to the legacy branch with a batch of fixes the project collected while the stable extension was running on 3.89.x.

CLI v3.0.32 lands on SDK v0.0.54 the same day

The CLI line continued to ship on the shared SDK throughout the extension rollback, and CLI v3.0.32 released the same morning as v4.0.2 on SDK v0.0.54. The CLI release notes list five changes: an intermediate step before ClinePass model selection, a selectable ClinePass subscription screen, promotion of ClinePass in the startup notice, consistent one-word "ClinePass" usage across the CLI UI, and more accurate context compaction and clearer error messages pulled in from SDK v0.0.54. The SDK-side compaction fix (#11894, the day before) was a basic token-budgeting improvement that shipped to the CLI without waiting on the extension rollback to settle.

The split is informative. The CLI, Kanban, and JetBrains plugin were never rolled back, because the SDK migration regressions on the CLI surface were different and less severe than the file-editing and diff-preview regressions on the VS Code extension. The legacy publish path is extension-specific, which suggests the recovery was driven by the VS Code diff and editing regressions, not a more general SDK failure.

What to watch

Three signals to monitor over the next week. First, when the next VS Code extension release ships from the main ext-vscode-publish-stable.yml workflow rather than the legacy one, the SDK migration is considered stable. The legacy workflow explicitly notes that it is for "releasing main once the SDK migration is solid," so the path back is observable in the Actions tab. Second, watch for the issues #11934 and #11907 threads to be closed by a 4.0.x fix rather than a manual patch; if 4.0.2's eight-commit batch closes them, the file-editing regressions are resolved. Third, the SDK line (@cline/sdk) is now public to developers building their own agents, and the v0.0.54 release was the first SDK release shipped alongside a known-broken extension; if v0.0.55 or v0.0.56 includes a "tested against the stable extension" note, the extension and SDK lines have re-converged.

The broader lesson is structural. When a major migration breaks the stable path, the cheaper option is to revert the migration and start over; Cline instead detached the ship path (legacy branch, dedicated workflow, inlined test suite) and let the SDK work continue on main while 3.89.x users received updates. The same pattern showed up at OpenAI with Codex 0.142's governance work when the 0.141 Noise relay shipped first to harden the transport, and at Vinext's Cloudflare/Vercel adapter work when the framework shipped adapters before shipping the runtime consolidation. The point is that the migration shape of 2026, across Astro 7's Vite 8 Rust compiler, Oxc's incremental tree-shake progress, and now Cline's SDK move, is a sequence of large architecture rewrites shipped in stages rather than as one big bang. Cline 4.0.1 is what an honest "stage 1 of the migration" looks like when the stable path has to keep working.

Frequently Asked Questions

Related articles

More coverage with overlapping topics and tags.

Cline 4.0 Migrates the VS Code Extension Onto the Shared Cline SDK, Adds ClinePass, a Customize Marketplace, Plugins, and Queued Prompts
ai

Cline 4.0 Migrates the VS Code Extension Onto the Shared Cline SDK, Adds ClinePass, a Customize Marketplace, Plugins, and Queued Prompts

Cline shipped v4.0.0 on June 26, 2026 (github.com/cline/cline), a major version that migrates the VS Code extension from its legacy standalone task implementation onto the shared Cline SDK, the same TypeScript engine that runs the Cline CLI, Kanban, and JetBrains plugin. The release adds ClinePass (built-in onboarding, provider selection, subscription handoff, and entitlement handling), a Customize marketplace for Skills, MCP servers, and the new Cline Plugins, queued prompts, edit-and-regenerate, a provider and model configuration rework around providers.json and a shared model catalog (Fireworks GLM 5.2, Kimi K2.6 Fast, Kimi K2.7 Code, Qwen 3.7 Plus, MiniMax M3, SAP AI Core, LiteLLM, Codex OAuth), command auto-approval disabled by default, and an extension build and package workflow moved to Bun. Subagents are temporarily disabled in the extension while the SDK-backed experience stabilizes.
OpenAI Codex 0.142 Adds Rollout Token Budgets, Multi-Agent Delegation, Indexed Web Search, and a Reorganized Plugin Marketplace
ai

OpenAI Codex 0.142 Adds Rollout Token Budgets, Multi-Agent Delegation, Indexed Web Search, and a Reorganized Plugin Marketplace

The OpenAI Codex 0.142 line shipped between June 22 and June 26, 2026 (rust-v0.142.0 through rust-v0.142.3 on github.com/openai/codex). The cycle turns the agent into something a team can govern: configurable rollout token budgets that track usage across threads and abort turns when exhausted, multi-agent delegation configurable as disabled, explicit-request-only, or proactive, an indexed web-search mode that permits live search while restricting page access to server-approved URLs, MCP tools that use tool search by default, a /plugins marketplace reorganized into OpenAI Curated, Workspace, and Shared with me sections, system proxy (PAC, WPAD, bypass) support on Windows and macOS for authentication, and a long list of remote-executor reliability and security fixes. It builds directly on the 0.141 Noise-encrypted relay and cross-OS PathUri layer from June 18.
Astro 7.0.0 Stable Ships Vite 8, Makes the Rust Compiler Default, Adds a Background Dev Server for AI Coding Agents, and Promotes Route Caching, Advanced Routing, and Sätteri to First-Class
ai

Astro 7.0.0 Stable Ships Vite 8, Makes the Rust Compiler Default, Adds a Background Dev Server for AI Coding Agents, and Promotes Route Caching, Advanced Routing, and Sätteri to First-Class

Astro 7.0.0, published on 2026-06-22, lands the 7.0 stable branch after ten weeks of beta. The headline changes: a Vite 8 upgrade, the Rust-based Astro compiler as the default (the Go compiler is removed), the Sätteri Markdown pipeline as the default (remark/rehype moves out of the default install), advanced routing promoted from experimental (with src/fetch.ts as the new default entrypoint), route caching promoted from experimental (top-level cache and routeRules, with cacheNetlify() and cacheVercel() providers landing in the same release), a background dev server mode designed for AI coding agents (astro dev --background, .astro/dev.json lockfile, astro dev stop|status|logs), compressHTML: 'jsx' as the new default, the @astrojs/db package removed, and every official integration bumped a major version (vue 7, react 6, svelte 9, preact 6, solid-js 7, vercel 11, netlify 8, node 11). create-astro@5.1.0, shipped in the same release wave, now writes an AGENTS.md file into every new project with a CLAUDE.md symlink pointing at it.

Comments

Log in Log in to join the conversation.

No comments yet. Be the first to share your thoughts.