[REVIEW] Latest Cline#62
Open
hugolatendresse wants to merge 1205 commits into
Open
Conversation
- Remove /docs/ from code ownership - Update /.github/ owners to @arafatkatze, @maxpaulus43, @candieduniverse - Update /README.md owner to @juanpflores - Remove former owners @Garoth, @sjf, @nickbaumann98
* add auth option to get API-KEY for hicap from hicap dashboard website * remove default hicap model selection * change url hicap get api keys, add useEffect when update hicapApiKey * add changeset
* Add Anthropic to the remote config provider settings * Lock the Anthropic Base URL when it's remotely configured
Co-authored-by: Max Paulus 🥪 <max@cline.bot>
* Replace the LiteLLM model selector with autocomplete * Add changeset * refactor
* Parse remotely configured R2 options * Fix R2 options
* fix: use vscode.env.openExternal for auth in remote environments Fixes #5109 The OAuth authentication flow was broken in VS Code Server and remote environments because the code used the npm 'open' package directly, which tries to launch a browser on the server itself (which has no display). This change routes browser URL opening through VS Code's native vscode.env.openExternal() API via the HostBridge pattern, which properly forwards URLs to the user's local machine in remote environments. Changes: - Added openExternal RPC to proto/host/env.proto - Created VS Code handler using vscode.env.openExternal() - Updated src/utils/env.ts to use HostProvider.env.openExternal() - Added openExternal to CLI CliEnvServiceClient (uses npm 'open') - Added openExternal to CLI ACPEnvServiceClient (uses npm 'open') Related issues: #5394, #2152, #7971 * chore: add changeset for vscode server auth fix * refactor: extract shared openUrlInBrowser utility for CLI
* chore: update biome configuration and linting rules Update @biomejs/biome package to latest version: 2.3.14 - Change $schema to point to local node_modules for better IDE performance and stability. - Enable and promote several linting rules from "off" to "info" or "warn" across correctness, style, suspicious, and complexity categories. - Update file inclusion/exclusion patterns to use more explicit formatting and set ignoreUnknown to true. - Improve code quality enforcement by surfacing potential issues such as non-null assertions, useless constructors, and implicit any types. * package-lock udpate * includes tailwind * useIterableCallbackReturn
Previously the animated robot only became static when the user scrolled. Now it also becomes static when clicking or dragging, giving users more ways to dismiss the animation. Renamed onScroll to onInteraction to reflect the broader scope.
ChatView was returning empty string when the model ID key didn't exist in state, causing first-time CLI users to see a blank model name. Added fallback to getProviderDefaultModelId() to match WelcomeView's behavior.
Use refs instead of state values in useInput callback to avoid stale closures. Also manually update textInputRef before calling setCursorPos so the bounds check uses the correct new text length.
JSX requires React as a value when using jsx: react in tsconfig.
* feat: add Claude Opus 4.6 model support with 1M context window Adds support for Claude Opus 4.6, Anthropic's latest model with: - 200K base context window with optional 1M context variant - Tiered pricing for >200K context (2x input/output pricing) - Extended thinking/reasoning support - Prompt caching support Changes: - Added model definitions for Anthropic, Bedrock, and Vertex providers - Added OpenRouter 1M variant support - Updated thinking models lists across all provider UIs - Added context window switcher for Opus 4.6 - Updated JP cross-region inference models list * feat: update featured model to Opus 4.6 in model picker * chore: add changeset for Claude Opus 4.6 * fix: correct Opus 4.6 model IDs (no date suffix) --------- Co-authored-by: Robin Newhouse <robin@cline.bot>
Co-authored-by: Max Paulus 🥪 <max@cline.bot>
* feat: add GPT-5.3 Codex model for ChatGPT subscription users OpenAI released GPT-5.3 Codex today. Adding it to the OpenAI Codex provider (ChatGPT Plus/Pro subscription) model list and setting it as the new default. Changes: - Add gpt-5.3-codex to openAiCodexModels with same specs as 5.2 - Update default model to gpt-5.3-codex - Update featured models in CLI and webview OpenRouter picker * revert: remove gpt-5.3-codex from OpenRouter featured models GPT-5.3 Codex is only available via ChatGPT subscription, not through the OpenAI API or OpenRouter. Reverting featured model changes.
* Revert LiteLLM model name change and use the rawModel name * Add both to the list
- allows you to resume a session headlessly or interactively with a taskId Co-authored-by: Max Paulus 🥪 <max@cline.bot>
- Cline CLI 2.0 now available. Install with `npm install -g cline` - Anthopic Opus 4.6 - Minimax-2.1 and Kimi-k2.5 now available for free for a limited time promo - Codex-5.3 through OpenAI Codex provider - Fix read file tool to support reading large files - Fix decimal input crash in OpenAI Compatible price fields (#8129) - Fix build complete handlers when updating the api config - Fixed missing provider from list - Fixed Favorite Icon / Star from getting clipped in the task history view - Make skills always enabled and remove feature toggle setting Co-authored-by: Arafatkatze <arafat.da.khan@gmail.com>
Co-authored-by: Max Paulus 🥪 <max@cline.bot>
* fix MCP OAuth: add missing scope parameter * Update src/services/mcp/McpOAuthManager.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…9633) * fix(context): detect wrapped OpenRouter 400 context errors * fix(openrouter): preserve status for context overflow detection * docs(context): clarify OpenRouter error-shape handling * Revert "docs(context): clarify OpenRouter error-shape handling" This reverts commit 9458d4472b405b2647ad2d54ee9092e6dcacb21d. * Revert "fix(openrouter): preserve status for context overflow detection" This reverts commit a2c76d169339bbc44588541154b896bb2289caee. * Revert "fix(context): detect wrapped OpenRouter 400 context errors" This reverts commit 3e8fb10b9e2e415fa2366758a9c5d38911cfc419. * Reapply "fix(context): detect wrapped OpenRouter 400 context errors" This reverts commit 6df27d685372d8392bbce66f45f23e40f70d440f. * Reapply "docs(context): clarify OpenRouter error-shape handling" This reverts commit beb52e1429be7e151e7f649ad10b3693f18927c6. * fix(context): narrow OpenRouter status parsing fallback * fix(context): align OpenRouter status parsing with agreed shape
* fix: prevent Chinese filename escaping in diff view Use Uri.parse() instead of Uri.from() for the diff view URI to prevent non-ASCII characters (e.g. Chinese) in filenames from being percent-encoded. This is consistent with how other diff URIs are created in openMultiFileDiff.ts and VscodeCommentReviewController.ts. Uri.from() encodes the path component, turning Chinese characters into percent-encoded sequences like %E7%A0%94..., which causes the diff view to display escaped filenames and fail to open properly. * fix: encode URI-reserved delimiters in filename before Uri.parse Encode %, #, and ? in the filename before passing to Uri.parse() to prevent them from being interpreted as URI delimiters. This handles edge cases where filenames contain these characters (valid on macOS/Linux) while preserving non-ASCII characters like Chinese.
* workflow: add auto-tag mode to publish release * workflow: pin auto-tag release to tested commit sha * workflow: clarify publish release input semantics * workflow: constrain publish tag input to refs/tags
…sabled leftovers (#9620) * fix(checkpoints): harden nested git repo restore cleanup * Fix checkpoint initialization to take less time --------- Co-authored-by: cline-test <132302818+candieduniverse@users.noreply.github.com>
* Update changelog for release * Version bump the package*.json files for release
* initial doc changes * rm general api endpoint * Add API documentation section with endpoint reference pages - Add new API docs: overview, getting-started, authentication, models, chat-completions, errors, and SDK examples - Update api/reference.mdx with expanded endpoint documentation - Update enterprise-solutions/api-reference.mdx with improvements - Update docs.json with new API section navigation entries --------- Co-authored-by: Juan Pablo <juan@cline.bot> Co-authored-by: Tony Loehr <turingxo@gmail.com>
…limit errors (#9637) * fix(subagent): align error handling with main loop behavior * fix(subagent): persist context truncation state across retries
…ers panel (#9643) * fix: stop infinite getLatestMcpServers RPC loop when opening MCP servers panel The ServersToggleModal useEffect had setMcpServers in its dependency array, but the context provided an unstable inline wrapper around the useState setter, creating a new function reference on every render. This caused the effect to re-fire on every context re-render while the modal was visible, producing 14+ RPC calls in ~15ms. - Remove setMcpServers from useEffect deps in ServersToggleModal (the effect should only fire when visibility changes) - Replace inline arrow wrappers in ExtensionStateContext with direct references to the stable useState setters (setMcpServers, setRequestyModels, setHuggingFaceModels, setMcpMarketplaceCatalog) * address review feedback: add setMcpServers back to deps, use property shorthand - Add setMcpServers back to useEffect deps in ServersToggleModal now that the context passes the stable useState setter directly (per Copilot review) - Remove eslint-disable comment since it's no longer needed - Use property shorthand for setGroqModels and setBasetenModels in context value
* Add provider/model context to all hook payloads * Fixes as per Greptile feedback * Further fixes as per Greptile feedback * Further fixes as per Greptile feedback * further fixes as per Greptile feedback * Fix flapping hooks tests on Windows
Add author_association check so only MEMBER, OWNER, and COLLABORATOR users can trigger the JetBrains test workflow via issue comments. Previously any GitHub user could trigger it, allowing unauthorized use of the GitHub App token and Actions minutes. Fixes GHSA-5fq9-fh5x-w83r (SEC-29) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Max Paulus 🥪 <max@cline.bot>
…deleted/changed, files created/deleted/moved) (#9562) * feat: add telemetry for AI output accepted/rejected across tool handlers Add line-level diff stats and file operation tracking to telemetry events when users accept or reject tool outputs. Introduces a shared `computeLineDiffStats` utility and `captureAiOutputAccepted`/ `captureAiOutputRejected` methods on the telemetry service, wired into ApplyPatch, WriteToFile, ExecuteCommand, InsertContent, and SearchAndReplace handlers. * feat(telemetry): add source tracking for agent vs human edits Add telemetry differentiation between agent-generated changes and human modifications to capture more granular edit metrics: - Add 'source' field to captureAiOutputAccepted telemetry events - Track human edits by computing diff stats between agent's proposed content and final saved content - Apply source tracking to ApplyPatchHandler and WriteToFileToolHandler - Enable separate analytics for agent vs human contributions This allows measuring how often and to what extent users modify AI-generated code, providing insights into AI output quality and user trust patterns. * refactor(telemetry): centralize ai output attribution across file edit handlers - add shared `AiOutputTelemetry` utility for accepted/rejected events - refactor `WriteToFileToolHandler` and `ApplyPatchHandler` to use shared helpers - preserve existing telemetry behavior (`source: "agent" | "human"`) while reducing duplication - keep line diff/file-op attribution semantics unchanged * fix(telemetry): use pre-save content for human edit line diff stats The source:"human" telemetry was diffing agent content against finalContent (post-save), which includes auto-formatting changes from the editor. This inflated linesChanged/linesDeleted counts when the formatter modified lines alongside the user's actual edits. Use diff.applyPatch() to reconstruct the user's pre-save content from the existing userEdits patch, excluding formatter noise from the line diff stats. * fixing syntax error * refactor(telemetry): make next-hunk bounds check explicit * remove comment Co-authored-by: Tomás Barreiro <52393857+BarreiroT@users.noreply.github.com> --------- Co-authored-by: Tomás Barreiro <52393857+BarreiroT@users.noreply.github.com>
…s across sessions (#9642) - Make redirect URIs with dynamic ports valid, or reregister. - Handle reconnects for streaming HTTP MCP servers.
Add --no-verify to the initial checkpoint commit in CheckpointGitOperations.ts. This was already used for subsequent commits in CheckpointTracker.ts but was missing from the initial empty commit, causing Cline to fail to initialize when users have global pre-commit hooks (e.g., conventional commits enforcement). Fixes #9672
* Adding gpt-5.4 to chatgpt subscription * Fixing stuff * Apply suggestion from @greptile-apps[bot] 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>
* feat(cli): add --hooks-dir flag for runtime hook injection Adds a --hooks-dir <path> CLI flag that allows passing an additional hooks directory at spawn time. This enables orchestration tools (like Kanbanana) to inject per-session lifecycle hooks without mutating the user's global or workspace hooks directories. The runtime hooks directory is included alongside existing global (~/Documents/Cline/Hooks/) and workspace (.clinerules/hooks/) directories during hook discovery. All hooks from all directories are merged and run in parallel, so runtime hooks are purely additive. * fix(cli): initialize runtime hooks before interactive startup
* feat(hooks): add Notification hook for attention and completion * chore(hooks): use default Notification template * Revert "chore(hooks): use default Notification template" This reverts commit 85f4e942fc9db5b994c2d0e414b58ee836e6ef33. * fix(hooks): escape JSON quotes in bash templates * Revert "fix(hooks): escape JSON quotes in bash templates" This reverts commit 29dfb9e01e5ad8f809e5f6bda9563e13f1e38523. * chore(hooks): preserve single-backslash template escaping * fix(hooks): keep single-backslash JSON escaping in templates * Revert "fix(hooks): keep single-backslash JSON escaping in templates" This reverts commit b4c829489f5b29a05abb41b193ffa003878ecaaa. * fix(hooks): keep escaped JSON echo template pattern
Co-authored-by: Max Paulus 🥪 <max@cline.bot>
… conversion and streaming (#9424) Fixes #9269 - Thinking blocks missing in Bedrock Opus 4.6 Changes: - Add explicit handling for 'thinking' and 'redacted_thinking' content types in formatMessagesForConverseAPI() so they are silently skipped instead of triggering 'Unsupported content type: thinking' warnings - Capture signature from additionalModelResponseFields thinking responses - Add signature_delta handling in contentBlockDelta for streaming - Add redacted_thinking block handling in contentBlockStart for streaming - Extend ContentBlockStart/Delta interfaces with signature and data fields - Add 'redacted_thinking' and 'document' to SupportedContentType union - Add tests for thinking/redacted_thinking block filtering in message conversion
* test(hooks): reduce Windows hook-runner launch overhead test(hooks): make Windows hook tests deterministic refactor(hooks): use platform-agnostic launcher cache naming Improvements as per Cline code review feedback test(hooks): remove direct-node acceleration path and stabilize windows timings * test(hooks): add deterministic launcher cache concurrency coverage * Improvements as per Cline code review feedback * Update src/core/hooks/__tests__/hookprocess.test.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Improvements as per Greptile feedback --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Introduce the enableErrorAutocapture option * Enable capturing CLI extension * Capture exception immediately * Handled uncaptured exceptions * refactor * Add tests * Capture unhandledExceptions * Add an error boundary to the ink app * Wrap the App in the ErrorBoundary * Check for consent before capturing error * Add context to the error capturing * Fix tests * refactor * Remove `unref`
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.
@little-croissant important to run this:
npm cache clean --force
npm run install:all
npm audit fix
npm run protos
Merge latest Cline because Cline wouldn't let us use their APIs anymore.
Made several fixes as Cline has severly diverged.
Also had to install Node 22:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc
nvm install 22
nvm alias default 22
node -vnow shows v22Tested whether it still works:
python launch_one_unit_test.py --method werner_modlin_b --ide cline --step step_1 => works
"What is the NCCI Experience Rating Plan generic formula for the Experience Modification Factor?" => DOESN'T trigger RAG, will need to investigate next.