DEV Community

TerminalBlog
TerminalBlog

Posted on Originally published at terminalblog.com

Cline Just Made Your Coding Sessions Bulletproof — Here's What v4.1.21 Fixed

Originally published at terminalblog.com.

Cline v4.1.7 dropped August 9. v4.1.8 followed two days later. Together they're the most important reliability update this free coding agent has shipped in months — and if you've ever lost work to a silent failure, you need to know what changed.

The Short Version

Your prompts no longer vanish when something interrupts a turn. Sessions survive hub restarts. The model picker actually shows you what's available in your Vertex region. MCP servers don't hang your session startup. Failed turns now show errors instead of disappearing.

If you've used Cline for more than a week, you've probably hit at least one of these. They're fixed now.


The Problem: Silent Failures Erode Trust

Coding agents live or die on reliability. You're in the middle of a refactor, you queue three follow-up prompts, something hiccups — and suddenly your queue is gone. Or the agent says "done" but the file wasn't written. Or you switch models and the session forgets everything.

Cline v4.1.6 and earlier had a cluster of these papercuts:

  • Queued prompts dropped silently when a turn was interrupted or aborted
  • Session context evaporated after hub restarts or crashes
  • MCP servers with bad config could block session creation entirely
  • Compaction silently skipped on reasoning models (1024-token hard cap)
  • LiteLLM requests failed because they used the wrong API path
  • Vertex model picker showed stale global list instead of your region's actual models
  • Yolo Mode toggle did nothing — it was cosmetic, not functional
  • Failed turns completed silently with no error in the transcript

None of these are catastrophic alone. Together they make you hesitate before trusting the agent with real work.


What v4.1.7 Fixed (August 9)

Queued Prompts Now Survive Interruptions

This is the big one. Previously, if you queued multiple prompts and the current turn got interrupted — network blip, you hit stop, the model timed out — your queued messages vanished. Gone. No warning.

Now: Queued prompts persist across aborts. They're drained after a turn aborts itself, and the stop reason surfaces in the UI instead of the queue being silently dropped.

// Before: queue = [] after any interruption
// After: queue survives, gets processed next turn
Enter fullscreen mode Exit fullscreen mode

Session Context Survives Hub Restarts

The Hub (Cline's background daemon) used to lose session state on restart. You'd reopen Cline and your conversation history, file context, and pending work were gone.

Now: Session context is durable across aborts and hub restarts. An interrupted session resumes with the state it had.

MCP Servers Can't Block Session Startup Anymore

A misconfigured or hung MCP server used to freeze session creation indefinitely. You'd click "New Session" and stare at a spinner forever.

Now: Stdio servers that were never configured get a 30-second initialize budget instead of blocking forever. A hung MCP server can't take down session creation.

LiteLLM Routed Through Correct API

LiteLLM proxies were getting requests via the Responses API instead of Chat Completions, causing mysterious failures.

Now: LiteLLM routes through Chat Completions. Requests against LiteLLM proxies work again.

"View Changes" Button Restored

The completion card's "View Changes" button — which lets you review everything a task touched — is back, backed by SDK checkpoints.

Copy Button on Turn-Final Responses

Small but meaningful: you can now copy the final response of a turn with one click.

OAuth for Remote MCP Servers

Pre-registered OAuth clients for remote MCP servers are now supported, for setups where dynamic client registration isn't available.


What v4.1.9 Fixed (August 13)

Token Refresh Finally Works After Long Idle Periods

This is a quiet but critical fix. Previously, if your Cline token expired while you were away (lunch, overnight, weekend), the refresh would succeed but then get discarded because the old token was already past expiry. The first request after returning would fail despite valid credentials.

Now: A successfully refreshed token is kept even if the previous one was expired. You come back, send a prompt, and it just works.

Legacy Migration Stops Spamming Telemetry

The v4.x migration of legacy tasks was reporting success before the seeded session actually persisted. If the migration failed, it was still logged as a success — corrupting your telemetry and hiding real problems.

Now: Migration outcome is recorded only once the session actually persists. Failed migrations show as failures.

Involuntary Logouts Are Now Visible

If your refresh token was rejected (revoked, rotated, expired), Cline used to silently clear credentials. You'd open the extension and wonder why you were logged out.

Now: You get a clear \"involuntary logout\" notice instead of silent credential clearing.

Diff Colors Fixed for All Themes

Diff block text used a hardcoded color that washed out in many VS Code themes (especially high-contrast and custom themes).

Now: Diffs use the editor's foreground color — they stay legible everywhere.

Interface Font Switched to Inter + Geist Mono

The entire Cline UI now uses Inter for prose and Geist Mono for code. Cleaner, more readable, and consistent with modern VS Code design.


What v4.1.9 Fixed (SDK Bundle Only)

These fixes land through SDK v0.0.75 and apply to windows running the SDK bundle (not the legacy VS Code extension).

Claude Code Provider Finally Works for Agentic Work

This is the biggest SDK fix. The Claude Code provider was unusable for agentic workflows — it received tool definitions it couldn't bridge, didn't anchor sessions to your workspace, and ignored your ~/.claude permission rules.

Now: It runs its own native tools, anchors sessions on your workspace directory, and loads ~/.claude plus project settings. Your permission rules actually apply.

Truncated Tool-Call JSON Rejected Instead of \"Repaired\"

Previously, malformed/truncated tool-call JSON was silently \"repaired\" into wrong arguments — causing mysterious wrong-tool executions.

Now: Truncated tool-call JSON is rejected with an error. You see the failure instead of the agent doing the wrong thing silently.

Empty Text Parts No Longer Crash Strict Providers

A message with only empty text parts (no actual content) caused strict providers to reject the turn with \"user message must have content.\"

Now: Empty text parts are handled gracefully.

Mid-Turn Crash on Streamed Tool Calls Fixed

Streamed tool calls with non-zero or non-contiguous indexes crashed mid-turn, especially through LiteLLM's Anthropic passthrough.

Now: Index handling is robust — no more mid-stream crashes.

Token Accounting Fixed: 5x Inflation Gone

On cache-heavy sessions, Cline was re-counting the whole cached conversation on every request instead of using per-request buckets. This inflated per-task token totals roughly 5x.

Now: Disjoint per-request token buckets are reported. Your usage numbers are finally accurate.

Vertex AI: Full Model Catalog Per Region

This is huge if you use Vertex. The model picker used to show a hardcoded global list that lagged behind every model launch. You'd pick a model, hit request, and then find out your region doesn't serve it.

Now: The picker shows the full catalog for your specific Vertex region. Picking an unavailable model fails at request time with recovery guidance in the error row — not a silent failure later.

Fable 5 on Vertex (With Honest Pricing)

Claude Fable 5 (the Mythos-family model with extra safeguards) is now in the Vertex catalog. But Vertex bills region-dependently, so Cline reports cost as unknown rather than applying Anthropic's list price and being wrong.

Why this matters: Most tools show you a fake price. Cline now admits "we don't know what Vertex will charge you in this region" — which is the only honest answer.

Custom Vertex Model IDs Pass Through Unchanged

You can now enter any Vertex model ID by hand, including models the catalog doesn't list yet. Claude-style IDs route to the Anthropic-on-Vertex path automatically.

Auto-Approbe Menu Becomes Single Source of Truth

The "Yolo Mode" toggle was cosmetic — nothing in the approval path actually read it. Setups that had it on are migrated to auto-approving every action, so they keep running unattended.

Now: The auto-approve menu is the only way to configure unattended runs. No more phantom toggles.

Compaction Respects Max Output Tokens

On reasoning models, compaction (summarizing history to fit context) was silently skipped because the summarizer hardcoded a 1024-token output cap.

Now: The summarizer honors your max-output-tokens setting, defaults to 4096 (lowered when the model reports less), and logs a diagnostic when a summary comes back empty.

Stale Hub Daemon Reconnection Fixed (CLI + SDK)

Upgrading Cline used to leave the CLI attached to an old Hub daemon running stale code. You'd think you're on the new version but get old behavior.

Now: Hub daemons carry a runtime build fingerprint. An upgraded CLI retires and respawns any daemon still running older code.

Failed Turns Show Errors, Not Silence

Sending a message with no model credentials — or any queued turn that fails — now shows an error in the transcript, enriched with the underlying cause and a pointer to Settings → Models.

Light-Theme Terminal Fix

Queued messages were rendered in a color that washed out against light backgrounds. Fixed.

Malformed Tool Payloads Degrade Gracefully

Bad tool input/output no longer breaks rendering. Formatters degrade gracefully instead of throwing.

MCP Errors Shown Per-Server

MCP errors now appear on the individual server card instead of as a page-level error. A server with invalid config surfaces its error instead of silently disappearing from the list.

Composer "Agent Is Working" Stuck State Fixed

The composer getting stuck on "Agent is working..." after a turn already finished — fixed.

Welcome Screen Model Connection Notice

New "Connect a model" notice on the welcome screen when no provider has credentials. One click to onboarding or model settings. Reacts live as you add credentials. Correctly recognizes Bedrock/Vertex and keyless local endpoints as already connected.

"Get API Key" Links in Onboarding

Direct links for popular providers in onboarding and Settings → Models, plus a link to the Cline dashboard from the Cline API key form.

Onboarding Explains What Cline Is

The welcome step now explains the product. Sounds trivial, but for beginners it's the difference between "what is this?" and "okay, I get it."

Stop Button Actually Visible and Clickable

Esc stops the current turn. New shortcuts: Cmd/Ctrl+N for new session, Cmd/Ctrl+, for settings.

Vertex Credential Refreshes Work Behind Proxies

Vertex AI credential refreshes now use the configured fetch, fixing ADC authentication behind proxies and custom networking.

Refreshed Provider and Model Catalog

Bundled catalog updated.


v4.1.20 (September 22) — Parallel Sub-Agents, Smarter Output Budgets, 6 New Providers

Sub-Agents Run in Parallel Now

Cline v4.1.20 changed how sub-agents execute: sub-agents spawned in the same step now run their tool calls at the same time rather than one after another. Tools that must run in order still do, and the parent still waits for every result before its next turn. This is a real speedup for multi-agent workflows — background tasks that don't depend on each other no longer queue up.

Larger Default Output Budgets for High-Limit Models

Models that advertise a large output limit now get a bigger default output budget — 30% of the limit rather than a flat 32,000 tokens, whichever is larger. Nothing changes for models under roughly 107k output tokens; longer responses can mean higher per-turn cost and latency, but you're no longer artificially capped on models that can handle more.

Model Catalog: 6 New Providers, 158 New Models

The catalog expanded from 203 to 209 providers and 6,079 to 6,237 models. Notable additions:

  • Kimi For Coding splits into separate kimi.com and kimi.ai providers
  • New providers: AI21 Labs, ainetcafe, Inco, OCI Generative AI, Tempr, Vispark
  • Resolved default model changes for 36 providers that don't pin one — most landing on DeepSeek V4.1 Flash, GLM 5.3 Flash, or MiMo V2.6 Flash

Hook Context Injection Fixed

UserPromptSubmit and TaskStart hooks can inject context again. What those hooks returned as contextModification was being dropped — only cancel survived — so a hook meant to add repository facts or house rules to a task silently did nothing. The context is now delivered as a <hook_context> block on the run's first request, and a hook no longer receives its own previously injected text back as the next turn's prompt.

Unsent Composer Text Survives Retry

Retry sent no composer content but still ran the same cleanup as approval actions, deleting the only copy of anything typed while a request was in flight. Text, quote context, images, and files are now tracked as one draft that only submitting actions consume.

Background Command Output Streams Live

Output from background commands now streams into the command row while the command runs, instead of appearing only when it finishes.

Azure API Version Honored

The Azure API version configured for a provider is now honored in tasks and mirrored to providers.json.

Rules Found Consistently Across All Locations

The Rules panel listed only .clinerules and the Documents global folder, so rules loaded from .cline/rules, ~/.cline/rules, or ~/Cline/Rules were applied to the model but missing from the panel. On Windows with a OneDrive-redirected Documents folder, global rules were not found at all. Now all rule locations are found and shown consistently.

History Deletion Actually Works

A task whose index entry was missing but whose file on disk survived was reported as deleted and then reappeared on the next refresh. Deleting a task from history now actually removes it.

Sub-Agent Approval Flow Fixed

Sub-agents you configure yourself no longer ask you to approve their individual tool calls after you have already approved the delegation.

Compaction Credential Refresh Fixed

Compaction no longer silently falls back to truncation partway through a long task. The summarizer kept the credentials captured when the task started, so once they refreshed its request failed with an authorization error that was swallowed; it now follows the task's current credentials and model.

Output Token Limit Retry for Model Turns

A model turn that hits its output-token limit before making a tool call no longer ends the task. It is retried up to three times with a reminder to respond concisely and split large work across tool calls.


v4.1.21 (September 24) — Local Model Output Limit Recovery, ai& Provider, Model Default Shakeup

Local Models No Longer Die Mid-Answer

This is the big one for local model users. llama.cpp, Ollama, and LM Studio cap generation at whatever context is left, regardless of the output budget you set. Previously, a text-only reply could be cut off and fail the run. Now: the CLI/SDK/desktop compacts the conversation and retries that turn once before falling back to the existing concise-retry recovery. The partial answer is kept if nothing helps. Long sessions on local models finally survive output-token limits.

Hub Startup Errors Now Explain Why

When the hub fails to start, the error now says why instead of only "No compatible hub runtime is available." The CLI/Desktop also waits up to 15 seconds for a freshly started hub instead of 8, since the first launch after an install or update can take 8 to 13 seconds on Windows while the new binary is scanned.

Error Messages Persist Across Session Resume

A failure shown during a run, including one reported after retries ran out, used to disappear once you left the session. It now reappears in the transcript on resume without being sent to the model or counted by compaction.

Session Renames Persist (CLI + Desktop)

cline history update --title and --prompt now persist for hub-managed sessions. The new title only changed in memory and reverted on the next launch, and updating metadata could drop other keys such as pinned state. Now it sticks.

Plugin Load Failures No Longer Spawn Sandboxes on Every Prompt

A plugin that fails to load no longer costs a sandbox spawn on every prompt. The CLI continues without that plugin's slash commands and retries loading it after 30 seconds, so a transient sandbox timeout recovers on its own.

Esc Cancels Empty-Response Retry Immediately

Pressing Esc during an empty-response retry now cancels right away instead of after the backoff delay.

Yolo Mode Gets Tighter Output Rules

Yolo mode (-y) prompts the model with tighter output rules: shorter plans, no preamble before routine tool calls, and code and edits written straight into tool calls instead of drafted in text first. Expect less narration and fewer tokens spent restating the plan.

New Provider: ai& (ai&)

A new built-in provider ai& — an OpenAI-compatible endpoint serving open-weight models from Japan. It reads AIAND_API_KEY and defaults to zai-org/glm-5.3.

Model Catalog: 6,386 Models, 11 Providers Now Default to Claude Opus 5.5

Refreshed to 6,386 models across 209 providers. The resolved default model changes for 19 providers that do not pin one — 11 land on Claude Opus 5.5 (Cortecs, CrossModel, DigitalOcean, Eden AI, GitHub Copilot, both LLM Gateway providers, Ofox, Requesty, Vertex, Vivgrid). If you use one of those providers without pinning a model, expect a different default.


What This Means for Beginners

If you're new to Cline, v4.1.9 is the first version where the basics just work:

Before v4.1.7 After v4.1.9
Queue prompts → lose them on hiccup Queue prompts → they survive
Hub restarts → lose session Hub restarts → session intact
MCP hang → frozen startup MCP hang → 30s timeout, session opens
Pick Vertex model → fails silently later Pick Vertex model → fails fast with guidance
Yolo Mode on → unsure if working Auto-approve menu → explicit, auditable
Compaction skipped on reasoning models Compaction works, logs diagnostics
Failed turn → ghost success Failed turn → error with cause + fix link
No model connected → confusing empty state Welcome screen → one-click connect
Long idle → token refresh fails silently Long idle → token refresh just works
Claude Code provider broken for agents Claude Code provider runs native tools
Token usage inflated 5x on cached sessions Token usage accurate per-request

How to Update

VS Code Extension: Extensions panel → Cline → Update (or auto-update)

CLI:

npm update -g cline
Enter fullscreen mode Exit fullscreen mode

Desktop App (macOS): Download latest DMG from Cline GitHub Releases — single universal build for all Macs. Drag to Applications. Future updates arrive automatically.


The Bigger Picture

Cline has been iterating fast on capability (planning, tools, models). v4.1.7 and v4.1.8 show a shift toward trustworthiness — the unglamorous work that makes an agent safe to use on real projects.

The pattern is clear: every coding agent hits a reliability wall. The ones that push through become daily drivers. The ones that don't become "that tool I tried once."

Cline just pushed through.


Related Reading

Related articles

- Claude Code: Skills vs Subagents vs MCP — The 2026 Decision Guide

Updated August 14, 2026 — covers Cline v4.1.7 (Aug 9), v4.1.8 (Aug 11), and v4.1.9 (Aug 13) changelogs. Full diffs: v4.1.6→v4.1.7 · v4.1.7→v4.1.8 · v4.1.8→v4.1.9

Top comments (0)