← Cline
Cline SDK v0.0.93
model2026-10-13 · official notes
Summary
- Plugins load in-process through one registry per process instead of a node/bun subprocess, so the compiled CLI and its hub no longer need a runtime on PATH, and plugins can use the Bun global under th
- Turning reasoning off now works on every provider, not just a fixed list. Models whose catalog entry has no off option are sent nothing and keep their default, and models without a reasoning capabilit
- The cline provider's default model is the first entry of the Cline recommended-models list, falling back to anthropic/claude-sonnet-5.5. CLINEDEFAULTMODELID moves from Claude Sonnet 5 to Claude Sonnet
Full notes
- Plugins load in-process through one registry per process instead of a node/bun subprocess, so the compiled CLI and its hub no longer need a runtime on PATH, and plugins can use the Bun global under the Bun-built hub. `CLINE_PLUGIN_MODE=sandbox` keeps the subprocess sandbox. The registry wraps import, setup, hooks, tools and commands with timeouts and error capture, and tracks each plugin's state (loading/ready/degraded/failed/disabled) with its last error. A failing plugin no longer silently drops its tools: `session.create` accepts a `plugins` policy and returns `pluginIssues`, later failures reach affected sessions as status notices, the hub answers `plugins.list`/`plugins.status`/`plugins.reload` and broadcasts `plugin.status_changed`, and the daemon marks a plugin failed instead of shutting down when an uncaught error comes from it. Each session gets its own copy of every plugin module, so plugins that keep per-session state at module level keep working
- Turning reasoning off now works on every provider, not just a fixed list. Models whose catalog entry has no off option are sent nothing and keep their default, and models without a `reasoning` capability are skipped. Gemini and Vertex send exact `thinkingBudget` values only to models that advertise a budget; level-only Gemini models get a thinking level instead (they rejected `thinkingBudget`). A request never carries both the portable reasoning option and a native provider control (`effort`, `thinking`, `thinkingConfig`, …); the native one wins
- The `cline` provider's default model is the first entry of the Cline recommended-models list, falling back to `anthropic/claude-sonnet-5.5`. `CLINE_DEFAULT_MODEL_ID` moves from Claude Sonnet 5 to Claude Sonnet 5.5, and the `openrouter` provider default is now `anthropic/claude-sonnet-5.5` too
- `estimateRequestInputTokens` and `createTokenEstimator` no longer bill base64 image payloads at the text rate. A ~90 KB screenshot counted as ~30k tokens, so a few images triggered auto compaction long before the transcript was near budget. Each image now adds a flat `ESTIMATED_TOKENS_PER_IMAGE` (1600). New `createImageAwareReplacer` export in `@cline/shared`
- Auto compaction uses the resolved model's context window. When the discovered catalog entry had no limit but the selected-model override did, compaction was handed the bare catalog entry and ran against the wrong budget
- Scheduled runs: queued runs are claimed correctly under `bun:sqlite`, which bound the store's named parameters as NULL so the desktop hub never claimed a queued run and it stayed pending with no error. Runs whose agent turn ends with a provider error (such as a retired model id) are now recorded as failed with the error message instead of succeeding silently, and the run report keeps usage and tool calls. Queued cron occurrences superseded by a newer occurrence of the same schedule are cancelled, so a backlog no longer replays every missed slot back to back
- Rule files that are symlinks are now loaded from config directories instead of skipped. Edits to a link's target are picked up on the next refresh or new session
- `resolveSkillsConfigSearchPaths` scans `.claude/skills`, so skills authored for Claude Code are visible to Cline
- The editor tool advertises `old_text` as a plain string. When the schema allowed null, some models sent null instead of the replacement text. Null is still accepted at runtime and treated as omitted
- Composio connectors: signed-in sessions register Composio's meta tools (search, manage connections, wait for connections, multi-execute), so the agent can find connector tools across toolkits, hand the user a Connect Link for an app that is not connected yet, and run what it found. Connector tools are discovered through meta search; saved desktop connection state no longer supplies model tools. Hosts can supply their own authentication through the new `connectorsRequest` option (`ConnectorsRequest` exported from `@cline/core`), which is also forwarded to scheduled sessions. `resolveComposioToolsStatePath` is renamed to `resolveComposioConnectionStatePath`
- The Cline cloud sign-in helpers in `@cline/core` accept an `AbortSignal`, so hosts can cancel a pending sign-in while it is polling
- Cloud session refreshes update open sessions with titles renamed on the web, and keep renames made locally while a refresh is in flight
- Refreshed the model catalog (6,572 → 6,862 models). Adds the AI/ML API, LowRouter, and Prime Inference providers. models.dev no longer lists v0, so the `v0` provider ships with only its default model, `v0-1.5-md`. OpenCode Go's base URL moves from `https://opencode.ai/zen/go/v1` to `https://opencode.ai/inference/go/v1`. The Cline free list adds Step 5 Preview. Default models change for 302.AI, CrossModel, Cortecs, DigitalOcean, NEAR AI Cloud, and Ofox (Claude Haiku 5.5), DevPass (LLM Gateway), LLM Gateway, and Meta (Muse Wonder 1.0), Aixy (GPT-6.1 Sol), CloudFerro Sherlock and Moark (GLM 5.3), Ambient, NanoGPT, Neuralwatt, and Novita AI
**Full Changelog**: https://github.com/cline/cline/compare/sdk/sdk/v0.0.92...sdk/sdk/v0.0.93
Weekly digest: every breaking change, retirement and price change across 20+ coding agents, one email.
Form not loading? Subscribe here.