* fix: Baseten model selector issue in ModelPickerModal
Fixed an issue where Baseten model cannot be selected when running in ModelPickerModal.
Refactor ModelPickerModal to reuse ThinkingBudgetSlider component
- Remove duplicated thinking budget slider UI components and logic
- Replace with shared ThinkingBudgetSlider component for consistency
- Clean up unused constants and helper functions
- Simplify provider-specific configuration handling
* clean up styled spans
* fix
* fix: add supportsReasoning property to Baseten models
- Add supportsReasoning field to model configurations in basetenModels
- Implement detection logic for reasoning support via supported_parameters
- Mark reasoning-capable models (DeepSeek-R1, Qwen3, etc.) with supportsReasoning: true
- Update model refresh logic to populate supportsReasoning based on static config or parameter detection
This fixes issues where Baseten models are showing Thinking not supported in the UI.
* add changeset
* simplify
* clean up
* typo
Cerebras rate limiter estimates token consumption using max_completion_tokens upfront, so requesting the model maximum (e.g., 64K) reserves that quota even if actual usage is low. This causes users to hit rate limits prematurely during agentic workflows with many short tool-use responses.
Uses 16K as default which is sufficient for most agentic tool use while preserving rate limit headroom.
Co-authored-by: Seb Duerr <sebastian.duerr@cerebras.net>
- Add MiniMax-M2.1 model with 192K context window and prompt caching
- Add MiniMax-M2.1-lightning variant with higher output pricing
- Update default model from MiniMax-M2 to MiniMax-M2.1
* fix(mcp): handle 404 responses from streamableHttp servers
The MCP SDK sends a GET request to check for SSE stream support when
connecting to streamableHttp servers. Per the MCP spec, servers that
don't support SSE should return 405 (Method Not Allowed), but many
servers incorrectly return 404 (Not Found).
The SDK only gracefully handles 405 responses, so servers returning 404
cause connection failures with "Failed to open SSE stream: Not Found".
This was exposed by the SDK upgrade from 1.22.0 to 1.25.1 in v3.46.0,
which added stricter SSE stream initialization checks.
This fix wraps the fetch function to normalize 404 -> 405 for GET
requests, allowing Cline to work with non-compliant servers while
they update to return proper 405 responses.
Fixes#8320Fixes#7577
* chore: add changeset
Only show a notification when the extension updates, instead of
automatically focusing the Cline sidebar. This prevents the extension
from stealing focus on VS Code launch.
When using background exec mode, commands run in the system default shell
(cmd.exe on Windows, /bin/bash on Unix) rather than the VS Code configured
shell. This ensures the system prompt accurately reflects which shell will
be used for command execution.
- Add getEffectiveShell() function to determine actual shell used
- Pass terminalExecutionMode through SystemPromptContext
- Use system default shell info when backgroundExec mode is active
Co-authored-by: Ara <arafat.da.khan@gmail.com>
Update command cancellation to modify existing message instead of sending new say() to avoid interfering with pending ask() dialogs.
- Extend updateClineMessage to support text updates
- Find last command_output message and append cancellation notice
- Add missing cleanupFileBased() calls for background tracking paths
- Use shared findLastIndex utility
Co-authored-by: Ara <arafat.da.khan@gmail.com>
* fix(api): filter Gemini reasoning details by tool call ID
Filter reasoning details in the OpenAI format transformer to ensure they
only include entries matching the specific tool call ID. This prevents
"Function call is missing a thought_signature" errors when using Gemini
models, where mismatched reasoning details would cause API validation
failures.
* fix(gemini): drop invalid thought signatures and corrupted reasoning_details
- Gemini direct: drop tool_use/thinking blocks when signature is missing
- OpenRouter: keep only tool reasoning_details matching tool id
- Skip reasoning.encrypted entries missing data to avoid 400s (#8214)
* fix(core): sanitize Gemini tool calls in OpenRouter stream
Gemini models require thought signatures for tool calls. When switching providers mid-conversation, historical tool calls may lack these reasoning details, causing subsequent requests to fail.
This change implements a filter for Gemini models that:
- Identifies assistant messages with tool calls but no reasoning details.
- Drops those tool calls while preserving textual content.
- Removes the corresponding tool response messages to maintain conversation integrity.
* fix: make Workspace and Favorites history filters independent
Move Workspace and Favorites filters out of the VSCodeRadioGroup into
their own container. This fixes the regression where selecting one filter
would prevent selecting the other, since VSCodeRadioGroup enforces mutual
exclusivity. The filters now work as independent toggles while maintaining
visual continuity with the sort options above.
Fixes#8289
* add changeset
* deep planning demo
* deep-planning-demo cleanup
* Update docs/features/slash-commands/deep-planning.mdx
Co-authored-by: Juan Pablo Flores <juan@cline.bot>
* Update docs/features/slash-commands/deep-planning.mdx
Co-authored-by: Juan Pablo Flores <juan@cline.bot>
---------
Co-authored-by: Juan Pablo Flores <juan@cline.bot>
Update terminal troubleshooting docs to prominently recommend
Background Execution Mode as the primary solution for terminal
integration problems. This provides a simpler fix for most users
before diving into more complex troubleshooting steps.
- Add tip boxes with step-by-step instructions for enabling
Background Exec mode in both terminal guide documents
- Clarify that detailed troubleshooting is for users who
specifically need VSCode's integrated terminal
* feat(telemetry): add terminal type tracking to telemetry events
Add terminalType parameter to terminal telemetry methods to differentiate
between VSCode and standalone terminal execution contexts. This enables
better analysis of terminal output capture success rates across different
environments.
- Add TerminalType, VscodeOutputMethod, and StandaloneOutputMethod types
- Update captureTerminalExecution to require terminalType parameter
- Update captureTerminalOutputFailure to require terminalType parameter
- Add terminalType option to OrchestrationOptions interface
- Update all call sites in VscodeTerminalProcess with "vscode" type
* feat(terminal): add terminal type tracking to telemetry events
Pass terminal type (standalone vs vscode) to telemetry capture calls
for terminal hang and user intervention events. This enables better
analysis of terminal behavior differences between execution modes.
* feat: add telemetry tracking for standalone terminal execution
Add telemetry capture for terminal process completion and errors in
StandaloneTerminalProcess to track execution success/failure metrics.
- Track successful completions (exit code 0 or null) and failures
- Capture error events separately with child_process_error identifier
- Use "standalone" terminal type for metric categorization
* feat: remove z-ai/glm-4.6 from free models list
Remove the Zhipu AI GLM-4.6 model from the free models selection in the OpenRouter model picker component. This change updates the available free model options for users.
* update changelog
- Added GLM 4.7 model
- Enhanced background terminal execution with command tracking, log file output, zombie process prevention (10-minute timeout), and clickable log paths in UI
- Apply Patch tool for GPT-5+ models (replacing current diff edit tools)
- Duplicate error messages during streaming for Diff Edit tool when Parallel Tool Calling is not enabled
- Banner carousel styling and dismiss functionality
- Typos in Gemini system prompt overrides
- Model picker favorites ordering, star toggle, and keyboard navigation for OpenRouter and Vercel AI Gateway providers
- Fetch remote config values from the cache
- Anthropic handler to use metadata for reasoning support
- Bedrock provider to use metadata for reasoning support
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
When the triage bot identifies a likely regression from a recent PR or
commit, it will now apply the "Regression" label to help the team
prioritize and route these issues to the responsible developer.
- Add glm-4.7 model configuration for both international and mainland ZAi
- Update default model from glm-4.5 to glm-4.7
- Add missing cacheReadsPrice property to glm-4.6 model configs
* refactor(terminal): centralize constants and implement output capping
- Move terminal-related constants (timeouts, compiling markers, and size limits) to a centralized constants file.
- Implement output capping in VscodeTerminalProcess to prevent memory exhaustion by truncating fullOutput when it exceeds MAX_FULL_OUTPUT_SIZE.
- Update terminal process logic to use centralized constants for consistency across VS Code and standalone terminal implementations.
- Clean up imports and formatting in the task core.
* update pricing
* fix(terminal): improve compilation marker detection accuracy
Extract compilation detection logic into isCompilingOutput() function
that checks markers at the START of lines only, rather than anywhere
in the output. This prevents false positives from file names, error
messages, or code snippets that happen to contain marker words.
* update pricing
* refactor(chat): simplify log file link display to show filename only
- Extract filename from full path for cleaner display
- Change from banner-style div to compact ghost button
- Add full path as tooltip for reference
- Improve styling with smaller text and border-based separator
* feat: add graceful process termination with SIGKILL fallback
Extract process termination logic into a reusable utility that handles
graceful shutdown:
- Send SIGTERM first to allow processes to clean up
- Wait for configurable timeout (default 2 seconds)
- Fall back to SIGKILL if process doesn't exit gracefully
- Support cross-platform termination via tree-kill
Update StandaloneTerminalProcess to use the new async terminate method
and update ITerminalProcess interface to allow async termination.
* feat(terminal): simplify compilation output detection to match markers anywhere
Change isCompilingOutput to use simple string includes() instead of
line-by-line startsWith() matching. This allows detecting compilation
markers anywhere in the output rather than only at the start of lines,
making detection more permissive and the code simpler.
* update pricing
* fix(ui): use theme-aware colors for shell integration warning banner
* fix(ui): improve log file path banner styling and wrapping
---------
Co-authored-by: Saoud Rizwan <7799382+saoudrizwan@users.noreply.github.com>
* feat: add SessionStart hook for Claude Code on the web
Adds a session-start hook that runs in remote environments to:
- Install all dependencies (npm run install:all)
- Generate gRPC/protobuf types (npm run protos)
This enables Claude Code web sessions to properly run tests and linters.
* feat: add .worktreeinclude for Claude Code worktrees
Ensures environment files and local settings are copied to new worktrees:
- .env files
- .clineignore
- Local Claude settings
* fix: include node_modules and generated files in worktreeinclude
Copying these to worktrees saves significant setup time:
- node_modules: skips npm install (~1-2 min)
- src/generated/, src/shared/proto/: skips proto generation
* feat: install gh CLI and add GITHUB_TOKEN support in session hook
- Rename session-start.sh to claude-code-for-web-setup.sh
- Install latest gh CLI from GitHub releases
- Check for GITHUB_TOKEN and inform Claude about gh availability
- Enables using `gh issue`, `gh pr` commands when token is configured
* refactor: make .worktreeinclude a symlink to .gitignore
When scrolled to bottom, the up button wasn't reliably scrolling all
the way to the top because Virtuoso's virtual rendering doesn't have
all items rendered. Added a delayed follow-up scroll to ensure we
reach the actual top after items render.
* fix(ui): center View All button under task history list
* fix(ui): use VSCodeRadio for workspace and favorites filters on history page
* fix(ui): move Select All/None buttons to bottom of history page with secondary style
* fix(ui): prevent MCP server toggle from triggering row expand/collapse
* fix(ui): show connecting status when enabling MCP server
* fix(ui): show connecting status during MCP server restart
* fix(ui): add cursor pointer on hover for expandable MCP server rows