Merged
Conversation
…#9338) * docs: enrich Quick Start guide with more context for new users * docs: add Antigravity to full installation guide
* feat: add z-ai/glm-5 to free models list Include Z.AI's GLM 5 in the free model whitelist for zero-cost usage and update the model picker UI to display the free label. * Adding thinking * Adding thinking * Adding thinking
* fix(telemetry): refresh OTEL user/org attributes on every identify * fix(telemetry): refresh OTEL user/org attributes on every identify * test(telemetry): cover OTEL identifyUser org refresh scenarios * refactor(telemetry): rename member_roles to member_role (singular) * Apply suggestion from @BarreiroT simpler commenting Co-authored-by: Tomás Barreiro <[email protected]> * removing verbose comments /** * Helper to build a ClineAccountUserInfo with an active organization. */ * removing verbose comments * removing unnecessary logger * assert -> chai expect --------- Co-authored-by: Tomás Barreiro <[email protected]>
Updating CHANGELOG.md format update changelog update banner and bump version Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
🦋 Changeset detectedLatest commit: 50f335c The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
* feat: add Sonnet 5 support and make it default across surfaces * feat: surface Sonnet 5 as free while keeping Sonnet 4.5 defaults * fix: rename Sonnet 5 support to Sonnet 4.6 across providers and UI * fix: allow duplicate onboarding model ids across free and frontier * chore: update Sonnet 4.6 banner to limited-time free messaging * fix: align Bedrock Sonnet 4.6 model ids with AWS format * feat: update whats new promo to Sonnet 4.6 free offer * chore: update Sonnet 4.6 promo copy and timing
* docs: remove stale Claude 5 wording from auto compact docs * Remove stale Claude 5 mention from docs
* fix: remove expired MiniMax free promo surfaces * fix: remove MiniMax M2.5 from recommended models * chore: update GLM 5 whats-new promo wording
Co-authored-by: Arafatkatze <[email protected]>
…#9276) * fix: smarter retry for write_to_file missing content parameter (cline#7998) Replace generic 'missing parameter' error with progressive guidance when write_to_file fails due to empty content parameter. This breaks the infinite retry loop where the model repeatedly attempts the same write_to_file call that exceeds output token limits. Changes: - Add writeToFileMissingContentError() to formatResponse with 3 tiers: 1st failure: suggestions (use skeleton + replace_in_file) 2nd failure: strong directive (stop retrying write_to_file) 3rd+ failure: CRITICAL stop, forces alternative strategies - Add context window awareness: warns model when >50% context used - Add getContextUsagePercent() helper to WriteToFileToolHandler - Add 22 unit tests covering progressive escalation and context awareness Fixes cline#7998 * add changeset for write_to_file retry fix * refactor: simplify write_to_file error handling per review - Simplify writeToFileMissingContentError to single-tier error following existing diffError pattern (no progressive escalation) - Use shared getLastApiReqTotalTokens() for context window awareness - Remove private getContextUsagePercent() method from handler - Add proactive skeleton + replace_in_file guidance to write_to_file tool description for all variants - Simplify tests to match new API (11 tests) * test: update system prompt snapshots * chore: revert write_to_file prompt guidance * feat: restore progressive 3-tier guidance for write_to_file missing content Restore the progressive escalation that was removed in dd3c12d: - Tier 1 (1st failure): Gentle suggestions (skeleton + replace_in_file) - Tier 2 (2nd failure): Strong directive, 'Do NOT attempt full write again' - Tier 3 (3rd+ failure): CRITICAL stop, forces alternative strategies - Context window warning when >50% full - Dynamic UI message: 'Retrying...' vs 'multiple times — different approach' - 21 tests covering all tiers and context awareness * nit: extract context window warning threshold to named constant Also replace emoji with plain text in warning message for consistency. Co-authored-by: Cursor <[email protected]> --------- Co-authored-by: Robin Newhouse <[email protected]> Co-authored-by: Cursor <[email protected]>
cline#9348) * fix: disable click-to-set auto-condense threshold and hardcode default Clicking anywhere on the context window progress bar silently set autoCondenseThreshold to a value based on click position (e.g. 0.05), persisting in globalState. This caused compaction to fire at ~10K tokens instead of the intended ~150K, resulting in ~20 context resets per task. - Comment out click and keyboard handlers on progress bar (keep components for future release with proper UX) - Hardcode threshold to 0.75 default, ignoring corrupted stored values Co-authored-by: Cursor <[email protected]> * test: add shouldCompactContextWindow unit tests Cover threshold math including the accidental low-threshold bug case, undefined/zero fallbacks, cache token inclusion, and maxAllowedSize cap. Co-authored-by: Cursor <[email protected]> * fix: hardcode autoCondenseThreshold in all remaining callsites Address Greptile review: SubagentRunner.ts, task/index.ts display logic, and controller/index.ts webview state all still read the corrupted value from globalState. Hardcode 0.75 everywhere. Co-authored-by: Cursor <[email protected]> * style: remove unnecessary union type on hardcoded threshold Drop `number | undefined` annotation from the hardcoded 0.75 literal in SubagentRunner.ts per Greptile review feedback. Co-authored-by: Cursor <[email protected]> * refactor: use SETTINGS_DEFAULTS constant, remove commented-out code, clarify test - Replace hardcoded 0.75 with SETTINGS_DEFAULTS.autoCondenseThreshold across all 4 callsites for a single source of truth - Delete commented-out click/keyboard handlers in ContextWindow.tsx, replace with TODO referencing PR cline#9348 - Make bug-case test self-documenting by deriving token values from the threshold calculation Co-authored-by: Cursor <[email protected]> --------- Co-authored-by: Cursor <[email protected]>
* feat(cli): add /skills slash command for managing skills - Add /skills to CLI_ONLY_COMMANDS in slashCommands.ts - Create SkillsPanelContent component with: - Display global and workspace skills with toggle indicators - Enter to use skill (inserts @path into input) - Space to toggle skill enabled/disabled - Selectable marketplace link to skills.sh - Keyboard navigation with arrow keys and vim keys - Wire up panel in ChatView.tsx - Add comprehensive tests for keyboard interactions * refactor(cli): use static skill controller imports * fix(cli): add React import to skills panel test * fix(cli): suppress required React import lint in skills test * fix(cli): harden /skills panel interactions Revert optimistic skill toggle state when persistence fails, and surface a fallback URL when opening the marketplace fails. Also tighten and extend tests to verify exact marketplace URL handling and rollback behavior. Co-authored-by: Cursor <[email protected]> --------- Co-authored-by: Cursor <[email protected]>
…cline#9345) * feat(cerebras): remove deprecated llama-3.3-70b and qwen-3-32b models These models have been deprecated from the Cerebras inference platform. - Remove llama-3.3-70b and qwen-3-32b from cerebrasModels in api.ts - Update supported models documentation in cerebras.mdx - Add changeset for the deprecation * fix: remove stale llama-3.3-70b and qwen-3-32b references from rate limits Remove dead switch cases in getRateLimits() that referenced deprecated models no longer present in cerebrasModels.
…ine#9379) * Fix the featured models key * Add changeset
* Add MiniMax M2.5 to the MiniMax provider * Add changeset * Update default model
* fix(models): keep Sonnet 4.5 as default * chore(changeset): add release note for Sonnet 4.5 default * fix(models): remove Sonnet 4.6 from curated model lists * fix(models): restore Sonnet 4.6 in web recommended list
* changeset version bump * Updating CHANGELOG.md format * update package versions --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions <[email protected]> Co-authored-by: Max Paulus 🥪 <[email protected]>
) - Remove `auto_condense_threshold` from `Settings` and `UpdateSettingsRequest` in `state.proto`. - Remove `autoCondenseThreshold` from `ApiProviderInfo` interface. - Update `generate-state-proto.mjs` to remove double field handling and improve integer parsing. - Add error handling to `ContextManager` when parsing previous request JSON to prevent crashes on malformed data.
* feat: add welcome banner support from backend * make DB banner format conform with existing banners * add support for welcome banner actions * remove debugging helper that bypass dismissal, dismissal should work again * undo changes to make welcome banner always appear during debugging * remove console logs for debugging * clean up bannerservice * clean up welcomesection.tsx * add new tests for ide type filtering * add welcome banner own feature flag and conditionally display between hard coded welcome banner and DB backed ones * turn on welcome banner flag locally by default * close welcome banners when clicking on actions * apply bot review suggestion, fix memory leak * address feedback: use p without span * split welcome banners into a seperate component to keep whatsnewmodal clean * get action through api schema instead of extractin it from rules_json * use only bannerWaitTimeoutRef, remove waitingForBannersRef * resolve new merge conflict * linter * cerebra
…sage (cline#9741) * feat(telemetry): restore cache token and cost metrics in captureTokenUsage Add optional `options` parameter to `captureTokenUsage()` to record cache write/read token counters and cost histograms that were previously missing from telemetry. - Extend `captureTokenUsage` with `cacheWriteTokens`, `cacheReadTokens`, and `totalCost` fields via an options object - Record `cline.tokens.cache_write`, `cline.tokens.cache_read` counters/ histograms and `cline.tokens.cost` histogram when provided - Forward cache/cost data from both streaming `onUsageChunk` and `getApiStreamUsage` fallback call sites in the task loop - Add 3 test cases covering options forwarding, undefined skipping, and event property inclusion * refactor(telemetry): extract shared TokenUsage type and add value assertions Address PR review feedback: - Extract shared TokenUsage interface used by both captureTokenUsage and captureConversationTurnEvent, preventing future drift - Add numeric value assertions for cache/cost counters and histograms so regressions recording wrong values are caught
* Add an UsafeImage handler that asks for consent before loading specific images * Fix div as child of p * Render self-contained images without consent * Render alt conditionally and store approved src * use a block span
- calling telemetry service before initializeCli call causes a "hostprovider not initialized error", which invokes errorservice, which causes another "hostprovider not initialized error", which was breaking this cline use case: echo "say hello" | cline Co-authored-by: Max Paulus 🥪 <[email protected]>
* fix(prompt): resolve CWD and MULTI_ROOT_HINT in native tool schemas * refactor(prompt): share multi-root hint constant
Co-authored-by: Saoud Rizwan <[email protected]>
The Oracle Code Assist URL moved from /artificial-intelligence/code-assist/ to /application-development/code-assist/. The old URL returns a 404. Fixes cline#9776 Co-authored-by: gatof81 <[email protected]>
* add tui UI tests using microsoft/tui-test library, can run many headless versions of cline and execute ui tests (requires Node <= 20) improve brittle sleep calls * add cli-tui-tests github action --------- Co-authored-by: Max Paulus 🥪 <[email protected]>
…CLI (cline#9730) * fix: catch extractFileContent errors in ReadFileToolHandler When extractFileContent throws (e.g. file not found), the exception propagated through ToolExecutor which re-threw it, crashing the CLI process with exit code 1. Now file read errors are caught and returned as formatResponse.toolError() so the model can see the error and recover gracefully (e.g. try a different file path) instead of terminating the entire task. Also increments consecutiveMistakeCount so the yolo-mode mistake limit still functions correctly.
…ine#9732) * fix: catch errors in path-based tool handlers instead of crashing ListCodeDefinitionNamesToolHandler, ListFilesToolHandler, and SearchFilesToolHandler let exceptions from their core operations propagate through ToolExecutor's re-throw path, crashing the CLI process. This is the same class of bug fixed for ReadFileToolHandler in cline#9730. Changes per handler: - Wrap the core operation in try/catch, returning formatResponse.toolError() on failure so the model can see the error and recover gracefully. - Move consecutiveMistakeCount reset to after a successful operation so repeated failures accumulate toward the yolo-mode mistake limit. - Increment consecutiveMistakeCount on caught errors. Add end-to-end tests exercising each handler with a mock TaskConfig, covering: non-existent paths, missing parameters, failure accumulation, and success-based counter reset. * address review: expand try/catch scope, add stub-based tests - Include resolveWorkspacePath inside try/catch in ListCodeDefinitionNamesToolHandler and ListFilesToolHandler (matching SearchFilesToolHandler's pattern) so path resolution failures are also caught gracefully. - Fix trivially-true assertion in file-not-a-directory test. - Add 6 new stub-based tests that force core operations to throw: parseSourceCodeForDefinitionsTopLevel, listFiles, and determineSearchPaths — verifying the catch paths return formatResponse.toolError() and increment consecutiveMistakeCount. - Total: 19 passing tests (up from 13). * address review: move clineignore check before IO in ListFilesToolHandler Move the .clineignore access validation before resolveWorkspacePath and listFiles so blocked paths are rejected without incurring IO cost. Also ensures consecutiveMistakeCount is only reset after all validations and the core operation succeed. * address review: increment counter on clineignore denial Clineignore denial in ListFilesToolHandler now increments consecutiveMistakeCount so repeated attempts at blocked paths accumulate toward the yolo-mode mistake limit. Added 2 tests verifying single and repeated clineignore denials. Total: 21 passing tests. * fix: increment consecutiveMistakeCount when SearchFilesToolHandler searches fail Previously, SearchFilesToolHandler's executeSearch() caught regexSearchFiles errors and returned {success: false}, but the handler unconditionally reset consecutiveMistakeCount to 0 even when ALL searches failed. This contradicted the PR's goal of accumulating failures toward the yolo-mode mistake limit. Now we check if any search succeeded before resetting the counter: - If at least one search succeeded: reset to 0 (existing behavior for successes) - If all searches failed: increment the counter (new fix) Also added comprehensive test coverage for this scenario, including tests for: - regexSearchFiles throwing errors - Repeated search failures accumulating - Successful search resetting the counter after failures * fix: detect error strings in ListCodeDefinitionNamesToolHandler parseSourceCodeForDefinitionsTopLevel returns error strings instead of throwing exceptions for file paths and non-existent directories. The handler now detects these error conditions and increments consecutiveMistakeCount so repeated failures accumulate correctly. This addresses Greptile's feedback that the counter was unconditionally resetting to 0 for all real-world failure modes of this handler.
* fix: consolidate parallel tool-calling fixes * test(snapshot): fix vertex gemini3 snapshot newline * fix gemini toolcall id collision (cline#9768) * test(snapshot): fix vertex gemini3 snapshot newline * fix(gemini): prevent native tool-call ID collisions * fixing maxtokens for gemini family * test(gemini): assert fallback tool call ids
* feat(wandb): add W&B Inference by CoreWeave provider Adds support for W&B Inference as an API provider using a W&B API key. Implements a provider handler with OpenAI-compatible streaming and a static model catalog, and wires the provider through the API layer, configuration schema, storage, CLI model picker, and settings UI. * Updated input/output price of NVIDIA-Nemotron * Updated helpText * handle reasoning tokens in streaming respons * Added clarifying comment on how W&B token usage is reported and why cached tokens * fix: restore proto field numbers changed by generation script * Update src/core/api/providers/wandb.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Signed-off-by: ashokrajacs <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is an automated PR to sync changes from cline repo.