Cline SDK v0.2.0 Update: Session Reconnection, Slimmer Retries, and a Model Catalog Overhaul

Cline SDK v0.2.0 fixes ghost sessions and invalid replays for more stable long tasks.
Cline SDK jumped from v0.0.95 to v0.2.0, focused on stability in long-running tasks. Restarting a running session now reattaches to the active runtime instead of creating an inaccessible ghost run, and the hub routes requests by online client with fast failure. Retries drop from 5 to 3, limited to reasoning-only disconnects, with failures logged to Langfuse. Tools and SSH remote (ProxyJump, longer timeouts) get fixes, Gemini native search is dropped, compression estimates are corrected, and the catalog shrinks to 6,457 models.
Cline's SDK jumped straight from v0.0.95 to v0.2.0, and the release notes are packed with changes to session lifecycle, tool invocation, and the model catalog. This isn't a routine version bump—it's more like a concentrated effort to fill in the pitfalls accumulated over the past few months around long-running task execution, SSH remote collaboration, and the plugin system.

Session Reconnection: From "Lost Forever" to "Pick Up and Keep Running"
An infuriating behavior in older versions: starting a session that was already running would replace the entire runtime, but the original run wouldn't stop—it kept running yet could no longer be accessed, and all subsequent transcript writes landed on a stale snapshot. The result was an invisible, unstoppable "ghost run" still writing logs.
v0.2.0 changes this to reattach to the active session. If a start request also carries a prompt while a task is still running, the request is rejected outright rather than spawning a second runtime.
A companion change is the hub's request routing. The hub now records every client that has registered capabilities for a session, including clients that join a running task midway, and then routes each request to the first client that is still online. If none remain, the request fails immediately with an actionable error message rather than waiting indefinitely. This design is clearly aimed at fault tolerance in multi-client scenarios (desktop, cloud, plugins).
Runtime and transcript: In this kind of agent SDK, the runtime refers to the object that carries a session's execution state—the current conversation history, tool call stack, streaming output buffers, model connections, and other runtime resources; the transcript is the persisted conversation record (user/assistant messages, tool results, etc.), usually written in append mode. The problem in older versions was fundamentally that after the runtime was replaced, the old runtime still held a write handle to the transcript while the new runtime pointed at a different snapshot, producing "write divergence." Understanding this is what makes clear why "reattaching to the active session" is safer than "creating a new runtime": it guarantees that in-memory state and the persisted record always point to the same timeline.
Retry Policy Tightened, but Boundaries Clearer
Model request retries dropped from 5 to 3. Failed attempts are recorded in the Langfuse trace, and canceled requests are no longer misreported as Langfuse errors—the latter pollutes monitoring data and distorts the real failure rate.
The criteria for retrying were also refined. If the connection drops after the model has only streamed reasoning content, that round is retried and the reasoning content is discarded. But once text, media, or a tool call has been produced, it is never retried. This boundary is well drawn: pure reasoning is an intermediate state with low idempotency cost, whereas replaying a tool call may produce side effects.
Additionally, Anthropic's empty turns are still retried under the newly introduced anthropic.* custom streaming chunks.
Langfuse trace and observability: Langfuse is an open-source observability platform for LLM applications that records prompts, model responses, latency, errors, and token usage through traces (the full call chain of a request) and spans/observations. It distinguishes between "business failures" and "user/system cancellations," because counting cancellations as errors distorts metrics like failure rate and retry rate. The mention that canceled requests are no longer misreported as errors is precisely to make monitoring data reflect true model stability; recording retry attempts in the trace makes it easier to analyze afterward which providers or network conditions see the most retries.
Detail Fixes for Tool Invocation
These changes look piecemeal, but each one corresponds to a real failure scenario:
ask_question: The answer framework now ensures the model can keep going after receiving a bare option; empty answers are rejected, and attachments alone count as answered.run_commands: An emptycommandslist returns a tool error, andminItems: 1was added to the schema. The PowerShell guidance now covers backtick escaping, single quotes for literal paths, preferring cmdlets overcmd /c, and confirming before recursive deletion.- Checkpoint diff: Switched to a single
git cat-file --batchprocess to read file contents instead of up to twogit showcalls per file. Workspaces with many untracked files previously spawned thousands of git processes.
git cat-file --batch: This is a low-level Git plumbing command that can batch-read the contents of multiple objects (blobs, trees, commits) in a single process invocation, sending object names line by line via stdin and receiving them in order on stdout. Compared with running git show once (or even twice) per file, batch mode amortizes process creation and repository index loading into a single call—the difference is especially pronounced in workspaces with tens of thousands of untracked files. As a Git plumbing command, its output format is stable and suitable for direct parsing by toolchains, which is why the checkpoint diff rework chose it.
SSH Remote: ProxyJump, Timeouts, and Real Errors
SSH remote now works under ProxyJump aliases. The connection budget was raised from 10 seconds to 30 seconds, the per-command limit to 60 seconds, and the tunnel-ready wait to 40 seconds. When ssh exits mid-upload, a real error is reported instead of EPIPE; LocalForward on an alias no longer collides with the tunnel.
These number adjustments show the team encountered real slow-network and jump-host scenarios, not paper optimizations.
ProxyJump and LocalForward: ProxyJump is OpenSSH's jump-host configuration option (the config-file form of -J), letting the client connect first to a bastion host that then forwards to the target host, without manually setting up a tunnel. LocalForward, meanwhile, forwards a local port to a remote service. Under alias configurations the two can compete for the same local port, or the tunnel establishment path and the jump path can conflict. Widening the connection budget to 30 seconds and the tunnel-ready wait to 40 seconds reflects the cumulative latency of TCP handshakes, authentication, and port forwarding across multi-hop links; replacing EPIPE with real errors means that when an upload process exits, it can distinguish specific causes such as "peer closed," "authentication failed," and "timeout," making it easier for users to diagnose.
Reasoning Parameters and the Trade-off on Gemini Native Search
max reasoning now reaches the provider correctly: the gateway no longer rewrites it to xhigh, and Kimi K3 receives max at the Extra High and Max tiers.
The gemini provider no longer sends native Google Search. The reason is stated plainly: on Gemini 3+ free-tier keys fail every round with 429 quota errors, while on Gemini 2.x every Cline tool is dropped. Vertex retains native search. This is a typical "capability vs. availability" trade-off, and availability won.
Compression and Model Catalog
Automatic compression no longer runs when the model's input limit is unknown (manual and overflow-recovery compression remain available). After the first compression, size estimation uses the messages actually sent (with tool results truncated); previously it overestimated by about 7x, causing compression to trigger every few tool calls.
The model catalog shrank from 7,041 to 6,457. Three providers were added—Liquid Inference, Munito AI, and Munito AI (EU)—while CrofAI, iFlow, and Llama were removed. The Cline free list added Reflection Beam, Nemotron 3.5 Lightning, and Laguna S 2.1, and removed Mimo V2.6 Flash and Muse Spark 1.3 Contributor. ClinePass added Kimi K3.1 Pro (now the default), MiniMax M3.1 Flash, and DeepSeekAd V4.1 Flash 1017, and removed Mimo V2.5 and V2.5 Pro. There are also default model changes for 56 other providers, mostly pointing to Kimi K3.1 Pro, MiniMax M3.1 Flash, or DeepSeek V4.1 Flash 1017.
The AI SDK was bumped in sync to ai 7.0.136 / @ai-sdk/provider-utils 5.0.58.
Platform and Plugin Layer
Desktop's cloud session orchestration moved into the hub, session.list reports activeCloudCommands, and the hub is not replaced while cloud commands are still running. Core added conversation summarization and cloud continuation support. Plugin commands execute in the active session runtime and hub, and plugin watching resumes once the discovery directory appears. Compiled binaries load embedded plugin and dashboard resources directly from the binary, all declared SDK runtime exports are bundled, and CLINE_PLUGIN_RUNTIME_DIR resolves to an absolute path.
@cline/ui is now released with the SDK package at a shared version, adds a Kbd component, and slash commands and file mentions in AgentComposer now have token chips.
Two Noteworthy Signals
First, run-stall telemetry: agent.run-finished and agent.run-failed now carry stall signals from the new RunHealthObserver. This is a step toward turning "the agent is stuck" from a user complaint into an observable metric.
Second, the lowered retry cap, the compression judgment fix, and the git process consolidation all point in the same direction: reducing invalid replays and wasted resources so that the cost of long tasks is more predictable. For teams using Cline as a daily coding agent, the benefits of v0.2.0 show up mainly in stability rather than new features.
Related articles

Cursor AI in Practice: Weighing Efficiency Gains Against Costs in an AI IDE
An in-depth look at Cursor AI IDE's interface layout, four modes (Agent/Plan/Debug/Ask), model selection, and Git context integration, with hands-on demos weighing subscription costs against going direct to Claude.

Free Landing Page Design Rules Library: A Practical Guide for Claude Code and Cursor
A free landing page design skill for Claude Code and Cursor: MIT licensed, nearly 9,000 stars, asks about offer/audience/action before planning 12 sections with hard font and spacing constraints.

Cursor Keeps Writing Wrong Code? The Problem May Be Context, Not Prompts
Cursor keeps writing wrong code? The problem may be context, not prompts. Learn how to supply relevant files, full error messages, and expected results, plus a plan-first, small-step, test-driven workflow to reduce AI coding errors—while remembering code review remains the developer's job.