- Plan mode now hard-blocks file-editing shell commands instead of relying on prompting alone —
run_commandsstays available for read-only investigation, but file-manipulation commands, in-place editors (sed -i,perl -i), redirection to files, mutating git subcommands, package installs, and nested command strings (sh -c,eval,sudo,xargs) are rejected with a tool error, on Windows and PowerShell too - Context-window overflow errors are now detected and recovered from instead of surfacing as raw unclassified provider errors: the runtime force-compacts with a deterministic strategy that needs no extra LLM call and retries the run once, and terminal cases (nothing left to compact, a retry that still overflows) fail with an actionable message
- Sessions now record how they began — a new
modeonStartSessionInput(user,automation,subagent,team) alongsidesource— and root-session persistence is lazy: starting a runtime allocates the session id in memory without writing a database row, so closing it before any user turn no longer leaves an empty history entry - Turns that come back completely empty are now retried on every provider, not just Ollama — hosted backends (OpenRouter, Cline, OpenAI-compatible endpoints) previously failed the task outright with "Model returned empty response". Tool-call-only turns are never retried, and turns that error or hit the token limit pass through unchanged
- Adaptive-era Claude models (4.6+ and 5.x) are no longer sent the manual thinking wire shape and rejected with "thinking.type.enabled is not supported" — the baked model catalog now carries reasoning metadata, and unlisted or user-typed adaptive ids are inferred correctly when that metadata is missing
- Bedrock prompt caching works again: the provider now emits Converse
cachePointmarkers instead of Anthropiccache_control, which the Bedrock converter silently dropped, so cache reads and writes are no longer always 0 and no straycache_controlfield leaks into the request body - Bedrock foundation models are now routed through geo inference profiles
- Reasoning models on OpenAI-compatible endpoints now receive
max_completion_tokensinstead of the rejectedmax_tokens - Requests to models without image support now substitute image content instead of failing
- MiniMax now inherits its default model from models.dev
- Upgraded the model layer to AI SDK 7, switched Ollama to the native AI SDK provider (with wire-contract fixes for empty
thinksettings, mid-stream errors, and attachment-only turns), and emitted the canonical AI SDK 7 file parts for images so image-bearing requests no longer log deprecation warnings sdk.errortelemetry is no longer emitted twice for the same provider failure, and repeated failures from unattended retry loops are rate-limited
Full Changelog: https://github.com/cline/cline/compare/sdk/sdk/v0.0.69...sdk/sdk/v0.0.70