* 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
Instead of auto-generating release notes from PRs, extract the
changelog entry for the version being released and append the
Full Changelog comparison link.
When starting a task in a location that can't use checkpoints (e.g., Desktop,
Documents, Downloads, or home directory), the checkpoint message was still
appearing in the chat without a SHA. This happened because the code added
the message before checking if initialization had failed.
Now we check for `checkpointManagerErrorMessage` before showing the checkpoint
message, so users in unsupported locations won't see a broken checkpoint element.
* Revert "feat: enhanced compact task complete ui (#8025)"
This reverts commit cc36c67fc9.
* feat(ui): add green styling to task completed row
- Add green border and tinted green background to task completion container
- Add copyButtonStyle prop to WithCopyButton for custom positioning
- Revert previous compact task UI changes in favor of simpler styling
* fix(mcp): resolve race condition when updating Cline-specific MCP settings
Fixes a bug where toggling auto-approve for MCP tools or changing timeout
settings would cause the UI to flash and revert, making the toggles appear
unresponsive.
The root cause was a race condition between two state update mechanisms:
1. RPC Response: Returns updated servers immediately to the webview
2. File Watcher: Detects the settings file change and triggers a second
update ~100ms later, potentially overwriting the first
Additionally, the file watcher was triggering full server restarts even
for settings changes that don't affect the MCP transport connection.
Changes:
- Add `isUpdatingClineSettings` flag to skip file watcher processing
when we're making internal settings changes
- Add `configsRequireRestart()` method to distinguish between settings
that require server restart vs Cline-specific UI settings
- Only notify webview when actual connection changes occur
- Update in-memory state for timeout changes without server restart
- Add comprehensive documentation for future Cline-specific settings
* chore: add changeset
* fix: update comments and sync all Cline-specific settings in-memory
* feat: add background edit mode with webview diff display
- Replace editor-based diff preview with webview DiffEditRow component
- Remove unused partialPreviewState and related methods from ApplyPatchHandler
- Integrate FileEditProvider in Task for background file edits when enabled
- Add comprehensive Storybook stories for diff edit row states
Test Plan:
1. Go to Features Setting to turn on `Background Edit`
2. Start a task that would perform file edits
3. Verify the diff edits will be performed in the background instead of stealing focus from your editor
4. Verify the new stories in Storybook for the new DiffEditRow components
* backgroundEditEnabled
* changeset
* clean up
* clear time out
* fix storybook
* refactor: banner system with data-driven architecture
Add new banner data structures and types to support a flexible, backend-driven
banner system. This enables dynamic banner management while maintaining
consistent UI rendering.
Changes:
- Add BannerCardData interface for banner configuration with support for icons,
severity levels, actions, and platform/user filtering
- Add BannerActionType enum defining action handlers (link, settings, CLI
install, model selection)
- Add BannerAction interface for button/link definitions
- Refactor banner rendering logic to use data-driven approach instead of
hardcoded implementations
- Update BannerCarousel component to handle new action types dynamically
This allows the backend to construct banner JSON that the frontend renders
consistently through the BannerCarousel component when ready.
* apply feedback
* update e2e test
* Add BackendBanner struct with converter
* clean up types
* clean up
- Remove hardcoded shouldEnableReasoning check in AwsBedrockHandler
- Use modelInfo.supportsReasoning from metadata to determine if reasoning should be enabled
- Update src/shared/api.ts to include supportsReasoning: true for all relevant Bedrock models (Claude 3.7, 3.5 Sonnet/Haiku, Opus, and 1m variants)
- Ensure consistency with other providers by keeping model capabilities in metadata