Skip to content

Conversation

@cte
Copy link
Collaborator

@cte cte commented Jan 5, 2026

Closes #10646

image image

Thanks to Cline / Saoud for the inspiration.

I had Opus take a peek at their WIP implementation and port it over.

I also added a --worktree option to the Roo Code cli which will automatically run your task in a new worktree.

Screenshot 2026-01-04 at 10 50 13 PM Screenshot 2026-01-04 at 10 50 37 PM Screenshot 2026-01-04 at 10 52 33 PM

Important

This pull request adds comprehensive Git worktree management to the VSCode extension, including UI components, backend handlers, and internationalization support.

  • Behavior:
    • Adds Git worktree management to the VSCode extension, allowing users to create, delete, and manage worktrees.
    • Introduces worktreeAutoOpenPath to auto-open Roo Code sidebar when switching worktrees.
    • Handles multi-root and subfolder workspaces by displaying appropriate error messages.
  • UI Components:
    • Adds WorktreesView, CreateWorktreeModal, and DeleteWorktreeModal components for managing worktrees.
    • Integrates SearchableSelect for branch selection in CreateWorktreeModal.
    • Updates App.tsx to include a new "worktrees" tab.
  • Commands and Handlers:
    • Adds handleListWorktrees, handleCreateWorktree, handleDeleteWorktree, handleSwitchWorktree, and other handlers in handlers.ts.
    • Registers new commands in registerCommands.ts and package.json.
  • Internationalization:
    • Adds translations for worktree-related strings in multiple languages, including English, Spanish, and Japanese.

This description was created by Ellipsis for b518ada. You can customize this summary. It will automatically update as commits are pushed.

@cte cte requested review from jr and mrubens as code owners January 5, 2026 06:57
@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. Enhancement New feature or request labels Jan 5, 2026
@roomote
Copy link
Contributor

roomote bot commented Jan 5, 2026

Rooviewer Clock   See task on Roo Cloud

All previously flagged issues have been resolved. Latest changes make normalizePath cross-platform compatible by handling both forward slashes and backslashes. No new issues found.

  • Security: Remove hardcoded API key in apps/cli/src/index.ts:132
  • Bug: Fix branch deletion logic in deleteWorktree() - worktree info must be retrieved before deletion, not after
  • Bug: Fix worktreeIncludeStatus message handling in WorktreesView.tsx - line 73 should extract message.worktreeIncludeStatus instead of storing entire message
  • Bug: Fix worktreeIncludeStatus message handling in CreateWorktreeModal.tsx - line 76 should extract message.worktreeIncludeStatus instead of storing entire message
Previous reviews

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Jan 5, 2026
Base automatically changed from cte/cli-evals to main January 5, 2026 19:33
@hannesrudolph hannesrudolph moved this from Triage to PR [Needs Prelim Review] in Roo Code Roadmap Jan 6, 2026
@hannesrudolph hannesrudolph moved this from PR [Needs Prelim Review] to PR [Needs Review] in Roo Code Roadmap Jan 6, 2026
@hannesrudolph hannesrudolph added PR - Needs Review and removed Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. labels Jan 6, 2026
cte and others added 11 commits January 20, 2026 13:37
- Add worktrees.json translation files for all 17 locales
- Add command.worktrees.title translation to all package.nls locale files
Performance:
- Parallelize git commands in getAvailableBranches() using Promise.all
- Add maxDisplayItems prop to SearchableSelect (default 50) to improve dropdown performance
- Disable cmdk's slow built-in filtering for large option lists

UX Improvements:
- Add loading spinner while branches load with i18n support
- Add onWheel handler to CommandList for VSCode webview scroll compatibility
- Round modal input fields with rounded-full class
- Apply consistent WorktreesView styling (rounded-xl, transparent borders, hover effects)

Branch .worktreeinclude Check:
- Add branchHasWorktreeInclude() to check if selected base branch has .worktreeinclude committed
- Show warning when base branch doesn't have .worktreeinclude (not local filesystem)
- Add checkBranchWorktreeInclude message type and handler

Translations:
- Add searchBranch, noBranchFound, loadingBranches keys to all 18 locales
The test performs 9 sequential git operations which can exceed the default
5000ms timeout on Windows CI. Increased to 30s for reliability.
daniel-lxs added a commit that referenced this pull request Jan 20, 2026
… true

Matt pointed out in PR #10458 review that this behavioral change should be
handled separately. This reverts to the original behavior where:

- parallel_tool_calls is only sent to API when explicitly set to true
- When false or undefined, the parameter is omitted entirely (allows API defaults)

Updated 13 provider files and 8 test files to restore this behavior.
- Replace polynomial regex /\/+$/ with iterative while loop to prevent ReDoS
  (also fixes bug where root path / was incorrectly converted to empty string)
- Use execFileAsync with argument arrays instead of execAsync with string
  interpolation to prevent shell command injection
- Add comprehensive unit tests for normalizePath and parseWorktreeOutput

Fixes 8 CodeQL alerts:
- 1 high severity: Polynomial regular expression
- 7 medium severity: Unsafe shell command construction
- Handle both forward slashes (/) and backslashes (\) in trailing path removal
- Update test for root path to use path.sep for Windows compatibility
- Align implementation with existing src/utils/path.ts normalizePath

Fixes Windows CI test failures for worktree-service tests.
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Jan 20, 2026
@cte cte merged commit 04256be into main Jan 20, 2026
13 checks passed
@cte cte deleted the cte/worktrees branch January 20, 2026 21:39
@github-project-automation github-project-automation bot moved this from PR [Needs Review] to Done in Roo Code Roadmap Jan 20, 2026
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Jan 20, 2026
mini2s pushed a commit to zgsm-ai/costrict that referenced this pull request Jan 21, 2026
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>
mini2s added a commit to zgsm-ai/costrict that referenced this pull request Jan 21, 2026
* fix(utils): add optional chaining for provider settings

* feat(skills): align with Agent Skills spec (RooCodeInc#10409)

* chore: remove human-relay provider (RooCodeInc#10388)

Co-authored-by: Roo Code <[email protected]>

* Fix rate limit wait display (RooCodeInc#10389)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* fix: prevent write_to_file from creating files at truncated paths (RooCodeInc#10415)

Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Roo Code <[email protected]>

* Release v3.38.2 (RooCodeInc#10416)

* Changeset version bump (RooCodeInc#10417)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* fix(claude-code): stop frequent sign-ins by hardening OAuth refresh (RooCodeInc#10410)

* fix(claude-code): prevent sign-outs on oauth refresh

* test(claude-code): restore fetch after mocking

* refactor(claude-code): replace while(true) with bounded for loop for clarity

---------

Co-authored-by: Roo Code <[email protected]>

* fix: add type check for lastMessage.text in TTS useEffect (RooCodeInc#10431)

fix: add type check for lastMessage.text before calling startsWith

Fixes RooCodeInc#10430

The TTS useEffect was calling .startsWith() on lastMessage.text after only
checking if it was truthy. If text was a non-string truthy value (array,
object, or number), this would crash with "Q.text.startsWith is not a function".

Changed the truthy check to an explicit type check: typeof lastMessage.text === "string"

Co-authored-by: Roo Code <[email protected]>

* feat(chat): add collapsible markdown blocks and improve protocol error handling

* refactor(task): restructure conversation history handling

* feat: recursively load .roo/rules and AGENTS.md from subdirectories (RooCodeInc#10446)

Co-authored-by: Roo Code <[email protected]>

* Release: v1.99.0 (RooCodeInc#10447)

* fix: add maxConcurrentFileReads limit to native read_file tool schema (RooCodeInc#10449)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* chore: add changeset for v3.38.3 (RooCodeInc#10450)

* Changeset version bump (RooCodeInc#10451)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: add image support documentation to read_file native tool description (RooCodeInc#10442)

Co-authored-by: Roo Code <[email protected]>

* fix: add explicit deduplication for duplicate tool_result blocks (RooCodeInc#10466)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* VSCode shim + basic cli (RooCodeInc#10452)

Co-authored-by: Roo Code <[email protected]>

* Add an option to use our cli for evals (RooCodeInc#10456)

Co-authored-by: Roo Code <[email protected]>

* fix: preserve tool_use blocks for all tool_results in kept messages during condensation (RooCodeInc#10471)

* fix: add additionalProperties: false to MCP tool schemas for OpenAI Responses API (RooCodeInc#10472)

* feat(cli): add zgsm provider support

* Add a cli installer (RooCodeInc#10474)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* feat(zgsm): add debug mode and fix tool name handling

* feat(i18n): add debug status to custom config label

* refactor: improve terminal encoding handling and UI styling

* feat(ui): add automatically focus option for chat input

* feat(proxy): add debug-mode proxy routing (RooCodeInc#10467)

* feat(terminal): enhance compilation markers and output handling

* fix: prevent duplicate tool_result blocks causing API errors (RooCodeInc#10497)

* feat: add Kimi K2 thinking model to Fireworks AI provider (RooCodeInc#9202)

Co-authored-by: Roo Code <[email protected]>

* fix: add missing description fields for debugProxy configuration (RooCodeInc#10505)

Co-authored-by: Roo Code <[email protected]>

* Tweak the style of the follow up suggestion modes (RooCodeInc#9260)

* feat(web-evals): remember last Roo model selection + add evals skill (RooCodeInc#10470)

* feat(web-evals): remember last Roo model selection

* fix(web-evals): reset model selections on provider switch and fix lint warning

- Add useEffect to reset model selections when switching between providers
  This prevents OpenRouter model IDs from persisting when switching to Roo,
  which was causing Roo's stored selection to be overwritten with wrong IDs

- Remove unused 'executionMethod' from onSubmit dependency array to fix
  react-hooks/exhaustive-deps warning

* fix(web-evals): add missing executionMethod to test cases

* fix(web-evals): harden localStorage + keep provider selections

* feat: rename YOLO to BRRR (RooCodeInc#10507)

Co-authored-by: Roo Code <[email protected]>

* feat: implement sticky provider profile for task-level API config persistence (RooCodeInc#10018)

* feat(settings): move CHAT_SEARCH from experimental to UI settings

* fix: remove legacy Claude 2 series models from Bedrock provider (RooCodeInc#10501)

Co-authored-by: Roo Code <[email protected]>

* feat: add support for image file @mentions (RooCodeInc#10189)

Co-authored-by: Roo Code <[email protected]>

* fix: handle PowerShell ENOENT error in os-name on Windows (RooCodeInc#9897)

Co-authored-by: Roo Code <[email protected]>

* feat: add xhigh reasoning effort to OpenAI compatible endpoints (RooCodeInc#10061)

Co-authored-by: Roo Code <[email protected]>

* feat: filter @ mention file search results using .rooignore (RooCodeInc#10174)

* feat: filter @ mention file search results using .rooignore

- Modify searchFiles case in webviewMessageHandler.ts to filter results using RooIgnoreController
- Use existing RooIgnoreController from current task if available, otherwise create a temporary one
- Respect showRooIgnoredFiles setting to allow users to toggle this behavior
- Add comprehensive test coverage for the new filtering behavior

Fixes RooCodeInc#10169

* fix: dispose temporary RooIgnoreController to prevent resource leak

Addresses Rooviewer feedback: the temporary RooIgnoreController created
when no task exists was never disposed, causing file watchers to accumulate.

Changes:
- Track temporary controller separately with tempController variable
- Wrap filtering logic in try/finally block
- Call dispose() in finally block to ensure cleanup
- Add test cases to verify dispose is called for temp controllers
- Verify task's controller is NOT disposed (only temp ones)

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>

* fix: use task stored API config as fallback for rate limit (RooCodeInc#10266)

Co-authored-by: Roo Code <[email protected]>

* fix: make command chaining examples shell-aware for Windows compatibility (RooCodeInc#10434)

* fix: make command chaining examples shell-aware for Windows compatibility

Addresses Issue RooCodeInc#10352 where Roo Code generates Unix-style command
chaining (&&) even on Windows systems using PowerShell or cmd.exe.

Changes:
- Add getCommandChainOperator() to detect the user shell and return
  the appropriate command chaining syntax:
  - Unix shells (bash, zsh, etc.): &&
  - PowerShell: ;
  - cmd.exe: &
- Update getRulesSection() to use shell-specific chaining in examples
- Add informative note for non-Unix shells about different syntaxes
- Add comprehensive tests for shell detection and command chaining

* feat: add Unix utility guidance for Windows shells

Addresses feedback from issue RooCodeInc#10352 about sed and other Unix-specific
utilities being suggested on Windows. The system prompt now includes
guidance for PowerShell and cmd.exe users to use native alternatives:

PowerShell:
- Select-String instead of grep
- Get-Content instead of cat
- Remove-Item instead of rm
- Copy-Item instead of cp
- Move-Item instead of mv
- -replace operator or [regex] instead of sed

cmd.exe:
- type instead of cat
- del instead of rm
- copy instead of cp
- move instead of mv
- find/findstr instead of grep

* Apply suggestion from @roomote[bot]

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: use && for cmd.exe to preserve conditional execution semantics

- Update getCommandChainOperator() to return && for cmd.exe (already done)
- Update getCommandChainNote() to document && instead of & for cmd.exe
- Update JSDoc to reflect cmd.exe uses && for conditional execution
- Update tests to expect && for cmd.exe

cmd.exe supports && for conditional execution (run next command only if
previous succeeds), which provides the same semantics as Unix shells.

* fix: update PowerShell note to use && for cmd.exe reference

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* feat(types): add zai-glm-4.7 to Cerebras models (RooCodeInc#10500)

Co-authored-by: Matt Rubens <[email protected]>

* 🐛 Fix glitchy kangaroo bounce animation on welcome screen (RooCodeInc#10035)

The kangaroo logo on the welcome screen had a visual glitch where it would instantly jump to the top position when hovering, instead of smoothly starting the bounce from its resting position.

Changes:
- Added custom smooth-bounce keyframe animation in index.css that explicitly starts from translateY(0)
- Updated RooHero component to use hover state tracking with the new animation
- Removed Tailwind's animate-bounce class which was causing the glitch

The animation now smoothly bounces from the resting position without any jarring visual jumps.

* Release v3.39.0 (RooCodeInc#10537)

* feat: Change "Get Started" button label to "Create Roo Account" (RooCodeInc#10543)

Co-authored-by: Roo Code <[email protected]>

* fix: add @roo-code/cli to changeset ignore list (RooCodeInc#10545)

* Changeset version bump (RooCodeInc#10546)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* Update changelog for version 3.39.0 release

* fix: change minItems from 2 to 1 for Anthropic API compatibility (RooCodeInc#10551)

* fix: disable Gemini thought signature persistence to prevent corrupted signature errors (RooCodeInc#10554)

* fix: stabilize file paths during native tool call streaming (RooCodeInc#10555)

* Release v3.39.1 (RooCodeInc#10557)

* Changeset version bump (RooCodeInc#10558)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* chore(cli): change default model to anthropic/claude-opus-4.5 (RooCodeInc#10544)

* fix: ensure assistant message content is never undefined for Gemini compatibility (RooCodeInc#10559)

* Update Terms of Service (effective January 9, 2026) (RooCodeInc#10568)

Co-authored-by: Roo Code <[email protected]>

* fix(vscode-lm): order text parts before tool calls in assistant messages (RooCodeInc#10573)

* fix: merge approval feedback into tool result instead of pushing duplicate (ROO-410) (RooCodeInc#10519)

* feat: improve error messaging for stream termination errors from provider (RooCodeInc#10548)

* fix(openai): remove convertToSimpleMessages to fix tool calling for OpenAI-compatible providers (RooCodeInc#10575)

* Move more types to @roo-code/types (for the cli) (RooCodeInc#10583)

* Add some functionality to @roo-code/core for the cli (RooCodeInc#10584)

* Add some slash commands that are useful for cli development (RooCodeInc#10586)

* feat: add debug setting to settings page (RooCodeInc#10580)

* feat: add debug mode toggle to settings

* Update About component with debug mode description

* i18n: add debug mode strings to settings locales

* Update debug mode description in all locales

* fix: post state to webview after debugSetting update

This addresses the review feedback that the debugSetting handler was not
posting updated state back to the webview, which could cause the UI to
stay stale until another state refresh occurred.

* fix: clarify debug mode description to specify task header location

Updated debugMode.description across all 18 locales to clarify that
debug buttons appear in the task header, per review feedback.

* fix: remove redundant postStateToWebview call after debug setting update

* Update src/core/webview/webviewMessageHandler.ts

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: round-trip Gemini thought signatures for tool calls (RooCodeInc#10590)

* fix: make edit_file matching more resilient (RooCodeInc#10585)

* chore(gemini): stop overriding tool allow/deny lists (RooCodeInc#10592)

* fix(cerebras): ensure all tools have consistent strict mode values (RooCodeInc#10589)

Co-authored-by: Roo Code <[email protected]>

* chore: disable edit_file tool for Gemini/Vertex (RooCodeInc#10594)

* Release v3.39.2 (RooCodeInc#10595)

* Changeset version bump (RooCodeInc#10596)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* Add a TUI (RooCodeInc#10480)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: Daniel <[email protected]>

* Allow the cli release script to install locally for testing (RooCodeInc#10597)

* feat(ipc): add retry mechanism and error handling

* More file organization for the cli (RooCodeInc#10599)

* refactor: rename roo-cli to cos-cli and update related references

* Some cleanup in ExtensionHost (RooCodeInc#10600)

Co-authored-by: Roo Code <[email protected]>

* refactor: optimize response rendering and tool call handling

* Rename Roo Code Cloud Provider to Roo Code Router (RooCodeInc#10560)

Co-authored-by: Roo Code <[email protected]>

* chore: bump version to v1.102.0 (RooCodeInc#10604)

* Update router name in types (RooCodeInc#10605)

* Update Roo Code Router service name (RooCodeInc#10607)

* chore: add changeset for v3.39.3 (RooCodeInc#10608)

* Update router name in types (RooCodeInc#10610)

* Changeset version bump (RooCodeInc#10609)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: add debug mode configuration and state management

* fix(settings): add debug condition for ZgsmAI custom config

* Basic settings search (RooCodeInc#10619)

* Prototype of a simpler searchable settings

* Fix tests

* UI improvements

* Input tweaks

* Update webview-ui/src/components/settings/SettingsSearch.tsx

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: remove duplicate Escape key handler dead code

* Cleanup

* Fix tests

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>

* ux: UI improvements to search settings (RooCodeInc#10633)

* UI changs

* Update webview-ui/src/components/marketplace/MarketplaceView.tsx

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* i18n

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* feat: display edit_file errors in UI after consecutive failures (RooCodeInc#10581)

* feat(chat): enhance reasoning block with animated thinking indicator and varied messages

* perf: optimize message block cloning in presentAssistantMessage (RooCodeInc#10616)

* feat(chat): add random loading messages with localization

* fix: correct Gemini 3 thought signature injection format via OpenRouter (RooCodeInc#10640)

* fix: encode hyphens in MCP tool names before sanitization (RooCodeInc#10644)

* fix: sanitize tool_use IDs to match API validation pattern (RooCodeInc#10649)

* fix(path): return empty string from getReadablePath when path is empty - ROO-437 (RooCodeInc#10638)

* ux: Standard stop button 🟥  (RooCodeInc#10639)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: omit parallel_tool_calls when not explicitly enabled (COM-406) (RooCodeInc#10671)

* fix: use placeholder for empty tool result content to fix Gemini API validation (RooCodeInc#10672)

* ux: Further improve error display (RooCodeInc#10692)

* Ensures error details are shown for all errors (except diff, which has its own case)

* More details

* litellm is a proxy

* ux: improve stop button visibility and streamline error handling (RooCodeInc#10696)

* Restores the send button in the message edit mode

* Makes the stop button more prominent

* fix: clear approval buttons when API request starts (ROO-526) (RooCodeInc#10702)

* chore: add changeset for v3.40.0 (RooCodeInc#10705)

* Changeset version bump (RooCodeInc#10706)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat(gemini): add allowedFunctionNames support to prevent mode switch errors (RooCodeInc#10708)

Co-authored-by: Roo Code <[email protected]>

* Release v3.40.1 (RooCodeInc#10713)

* Changeset version bump (RooCodeInc#10714)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* Release: v1.105.0 (RooCodeInc#10722)

* feat(providers): add gpt-5.2-codex model to openai-native provider (RooCodeInc#10731)

* feat(e2e): Enable E2E tests - 39 passing tests (RooCodeInc#10720)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* Clear terminal output buffers to prevent memory leaks (RooCodeInc#7666)

* feat: add OpenAI Codex provider with OAuth subscription authentication (RooCodeInc#10736)

Co-authored-by: Roo Code <[email protected]>

* fix(litellm): inject dummy thought signatures on ALL tool calls for Gemini (RooCodeInc#10743)

* fix(e2e): add alwaysAllow config for MCP time server tools (RooCodeInc#10733)

* Release v3.41.0 (RooCodeInc#10746)

* Changeset version bump (RooCodeInc#10747)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: clarify Slack and Linear are Cloud Team only features (RooCodeInc#10748)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* Release: v1.106.0 (RooCodeInc#10749)

* refactor(chat): replace current task display with last user feedback

* style(chat): adjust feedback text width calculation

* fix: handle missing tool identity in OpenAI Native streams (RooCodeInc#10719)

* Feat/issue 5376 aggregate subtask costs (RooCodeInc#10757)

* feat(chat): add streaming state to task header interaction

* feat: add settings tab titles to search index (RooCodeInc#10761)

Co-authored-by: Roo Code <[email protected]>

* fix: filter Ollama models without native tool support (RooCodeInc#10735)

* fix: filter out empty text blocks from user messages for Gemini compatibility (RooCodeInc#10728)

* fix: flatten top-level anyOf/oneOf/allOf in MCP tool schemas (RooCodeInc#10726)

* fix: prevent duplicate tool_use IDs causing API 400 errors (RooCodeInc#10760)

* fix: truncate call_id to 64 chars for OpenAI Responses API (RooCodeInc#10763)

* fix: Gemini thought signature validation errors (RooCodeInc#10694)

Co-authored-by: Roo Code <[email protected]>

* Release v3.41.1 (RooCodeInc#10767)

* Changeset version bump (RooCodeInc#10768)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: add button to open markdown in VSCode preview (RooCodeInc#10773)

Co-authored-by: Roo Code <[email protected]>

* fix(openai-codex): reset invalid model selection (RooCodeInc#10777)

* fix: add openai-codex to providers that don't require API key (RooCodeInc#10786)

Co-authored-by: Roo Code <[email protected]>

* fix(litellm): detect Gemini models with space-separated names for thought signature injection (RooCodeInc#10787)

* Release v3.41.2 (RooCodeInc#10788)

* Changeset version bump (RooCodeInc#10790)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* Roo Code Router fixes for the cli (RooCodeInc#10789)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* Revert "feat(e2e): Enable E2E tests - 39 passing tests" (RooCodeInc#10794)

Co-authored-by: Hannes Rudolph <[email protected]>

* Claude-like cli flags, auth fixes (RooCodeInc#10797)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>

* Release cli v0.0.47 (RooCodeInc#10798)

* Use a redirect instead of a fetch for cli auth (RooCodeInc#10799)

* chore(cli): prepare release v0.0.48 (RooCodeInc#10800)

* Fix thinking block word-breaking to prevent horizontal scroll (RooCodeInc#10806)

Co-authored-by: Roo Code <[email protected]>

* chore: add changeset for v3.41.3 (RooCodeInc#10822)

* Removal of glm4 6 (RooCodeInc#10815)

Co-authored-by: Matt Rubens <[email protected]>

* Changeset version bump (RooCodeInc#10823)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: warn users when too many MCP tools are enabled (RooCodeInc#10772)

* feat: warn users when too many MCP tools are enabled

- Add WarningRow component for displaying generic warnings with icon, title, message, and optional docs link
- Add TooManyToolsWarning component that shows when users have more than 40 MCP tools enabled
- Add MAX_MCP_TOOLS_THRESHOLD constant (40)
- Add i18n translations for the warning message
- Integrate warning into ChatView to display after task header
- Add comprehensive tests for both components

Closes ROO-542

* Moves constant to the right place

* Move it to the backend

* i18n

* Add actionlink that takes you to MCP settings in this case

* Add to MCP settings too

* Bump max tools up to 60 since github itself has 50+

* DRY

* Fix test

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* Support different cli output formats: text, json, streaming json (RooCodeInc#10812)

Co-authored-by: Roo Code <[email protected]>

* chore(cli): prepare release v0.0.49 (RooCodeInc#10825)

* fix(cli): set integrationTest to true in ExtensionHost constructor (RooCodeInc#10826)

* fix(cli): fix quiet mode tests by capturing console before host creation (RooCodeInc#10827)

* refactor: unify user content tags to <user_message> (RooCodeInc#10723)

Co-authored-by: Roo Code <[email protected]>

* feat(openai-codex): add ChatGPT subscription usage limits dashboard (RooCodeInc#10813)

* perf(webview): avoid resending taskHistory in state updates (RooCodeInc#10842)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* Fix broken link on pricing page (RooCodeInc#10847)

* fix: update broken pricing link to /models page

* Update apps/web-roo-code/src/app/pricing/page.tsx

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>

* Git worktree management (RooCodeInc#10458)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* feat: enable prompt caching for Cerebras zai-glm-4.7 model (RooCodeInc#10670)

Co-authored-by: Roo Code <[email protected]>
(cherry picked from commit c7ce8aa)

* feat: add Kimi K2 thinking model to VertexAI provider (RooCodeInc#9269)

Co-authored-by: Roo Code <[email protected]>
(cherry picked from commit a060915)

* feat: standardize model selectors across all providers (RooCodeInc#10294)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>
(cherry picked from commit e356d05)

---------

Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>
Co-authored-by: Daniel <[email protected]>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Seb Duerr <[email protected]>
Co-authored-by: Danny Ricciotti <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: Archimedes <[email protected]>
Co-authored-by: Patrick Decat <[email protected]>
Co-authored-by: T <[email protected]>
mini2s added a commit to zgsm-ai/costrict that referenced this pull request Jan 22, 2026
* feat(chat): add collapsible markdown blocks and improve protocol error handling

* refactor(task): restructure conversation history handling

* feat: recursively load .roo/rules and AGENTS.md from subdirectories (RooCodeInc#10446)

Co-authored-by: Roo Code <[email protected]>

* Release: v1.99.0 (RooCodeInc#10447)

* fix: add maxConcurrentFileReads limit to native read_file tool schema (RooCodeInc#10449)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* chore: add changeset for v3.38.3 (RooCodeInc#10450)

* Changeset version bump (RooCodeInc#10451)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: add image support documentation to read_file native tool description (RooCodeInc#10442)

Co-authored-by: Roo Code <[email protected]>

* fix: add explicit deduplication for duplicate tool_result blocks (RooCodeInc#10466)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* VSCode shim + basic cli (RooCodeInc#10452)

Co-authored-by: Roo Code <[email protected]>

* Add an option to use our cli for evals (RooCodeInc#10456)

Co-authored-by: Roo Code <[email protected]>

* fix: preserve tool_use blocks for all tool_results in kept messages during condensation (RooCodeInc#10471)

* fix: add additionalProperties: false to MCP tool schemas for OpenAI Responses API (RooCodeInc#10472)

* feat(cli): add zgsm provider support

* Add a cli installer (RooCodeInc#10474)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* feat(zgsm): add debug mode and fix tool name handling

* feat(i18n): add debug status to custom config label

* refactor: improve terminal encoding handling and UI styling

* feat(ui): add automatically focus option for chat input

* feat(proxy): add debug-mode proxy routing (RooCodeInc#10467)

* feat(terminal): enhance compilation markers and output handling

* fix: prevent duplicate tool_result blocks causing API errors (RooCodeInc#10497)

* feat: add Kimi K2 thinking model to Fireworks AI provider (RooCodeInc#9202)

Co-authored-by: Roo Code <[email protected]>

* fix: add missing description fields for debugProxy configuration (RooCodeInc#10505)

Co-authored-by: Roo Code <[email protected]>

* Tweak the style of the follow up suggestion modes (RooCodeInc#9260)

* feat(web-evals): remember last Roo model selection + add evals skill (RooCodeInc#10470)

* feat(web-evals): remember last Roo model selection

* fix(web-evals): reset model selections on provider switch and fix lint warning

- Add useEffect to reset model selections when switching between providers
  This prevents OpenRouter model IDs from persisting when switching to Roo,
  which was causing Roo's stored selection to be overwritten with wrong IDs

- Remove unused 'executionMethod' from onSubmit dependency array to fix
  react-hooks/exhaustive-deps warning

* fix(web-evals): add missing executionMethod to test cases

* fix(web-evals): harden localStorage + keep provider selections

* feat: rename YOLO to BRRR (RooCodeInc#10507)

Co-authored-by: Roo Code <[email protected]>

* feat: implement sticky provider profile for task-level API config persistence (RooCodeInc#10018)

* feat(settings): move CHAT_SEARCH from experimental to UI settings

* fix: remove legacy Claude 2 series models from Bedrock provider (RooCodeInc#10501)

Co-authored-by: Roo Code <[email protected]>

* feat: add support for image file @mentions (RooCodeInc#10189)

Co-authored-by: Roo Code <[email protected]>

* fix: handle PowerShell ENOENT error in os-name on Windows (RooCodeInc#9897)

Co-authored-by: Roo Code <[email protected]>

* feat: add xhigh reasoning effort to OpenAI compatible endpoints (RooCodeInc#10061)

Co-authored-by: Roo Code <[email protected]>

* feat: filter @ mention file search results using .rooignore (RooCodeInc#10174)

* feat: filter @ mention file search results using .rooignore

- Modify searchFiles case in webviewMessageHandler.ts to filter results using RooIgnoreController
- Use existing RooIgnoreController from current task if available, otherwise create a temporary one
- Respect showRooIgnoredFiles setting to allow users to toggle this behavior
- Add comprehensive test coverage for the new filtering behavior

Fixes RooCodeInc#10169

* fix: dispose temporary RooIgnoreController to prevent resource leak

Addresses Rooviewer feedback: the temporary RooIgnoreController created
when no task exists was never disposed, causing file watchers to accumulate.

Changes:
- Track temporary controller separately with tempController variable
- Wrap filtering logic in try/finally block
- Call dispose() in finally block to ensure cleanup
- Add test cases to verify dispose is called for temp controllers
- Verify task's controller is NOT disposed (only temp ones)

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>

* fix: use task stored API config as fallback for rate limit (RooCodeInc#10266)

Co-authored-by: Roo Code <[email protected]>

* fix: make command chaining examples shell-aware for Windows compatibility (RooCodeInc#10434)

* fix: make command chaining examples shell-aware for Windows compatibility

Addresses Issue RooCodeInc#10352 where Roo Code generates Unix-style command
chaining (&&) even on Windows systems using PowerShell or cmd.exe.

Changes:
- Add getCommandChainOperator() to detect the user shell and return
  the appropriate command chaining syntax:
  - Unix shells (bash, zsh, etc.): &&
  - PowerShell: ;
  - cmd.exe: &
- Update getRulesSection() to use shell-specific chaining in examples
- Add informative note for non-Unix shells about different syntaxes
- Add comprehensive tests for shell detection and command chaining

* feat: add Unix utility guidance for Windows shells

Addresses feedback from issue RooCodeInc#10352 about sed and other Unix-specific
utilities being suggested on Windows. The system prompt now includes
guidance for PowerShell and cmd.exe users to use native alternatives:

PowerShell:
- Select-String instead of grep
- Get-Content instead of cat
- Remove-Item instead of rm
- Copy-Item instead of cp
- Move-Item instead of mv
- -replace operator or [regex] instead of sed

cmd.exe:
- type instead of cat
- del instead of rm
- copy instead of cp
- move instead of mv
- find/findstr instead of grep

* Apply suggestion from @roomote[bot]

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: use && for cmd.exe to preserve conditional execution semantics

- Update getCommandChainOperator() to return && for cmd.exe (already done)
- Update getCommandChainNote() to document && instead of & for cmd.exe
- Update JSDoc to reflect cmd.exe uses && for conditional execution
- Update tests to expect && for cmd.exe

cmd.exe supports && for conditional execution (run next command only if
previous succeeds), which provides the same semantics as Unix shells.

* fix: update PowerShell note to use && for cmd.exe reference

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* feat(types): add zai-glm-4.7 to Cerebras models (RooCodeInc#10500)

Co-authored-by: Matt Rubens <[email protected]>

* 🐛 Fix glitchy kangaroo bounce animation on welcome screen (RooCodeInc#10035)

The kangaroo logo on the welcome screen had a visual glitch where it would instantly jump to the top position when hovering, instead of smoothly starting the bounce from its resting position.

Changes:
- Added custom smooth-bounce keyframe animation in index.css that explicitly starts from translateY(0)
- Updated RooHero component to use hover state tracking with the new animation
- Removed Tailwind's animate-bounce class which was causing the glitch

The animation now smoothly bounces from the resting position without any jarring visual jumps.

* Release v3.39.0 (RooCodeInc#10537)

* feat: Change "Get Started" button label to "Create Roo Account" (RooCodeInc#10543)

Co-authored-by: Roo Code <[email protected]>

* fix: add @roo-code/cli to changeset ignore list (RooCodeInc#10545)

* Changeset version bump (RooCodeInc#10546)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* Update changelog for version 3.39.0 release

* fix: change minItems from 2 to 1 for Anthropic API compatibility (RooCodeInc#10551)

* fix: disable Gemini thought signature persistence to prevent corrupted signature errors (RooCodeInc#10554)

* fix: stabilize file paths during native tool call streaming (RooCodeInc#10555)

* Release v3.39.1 (RooCodeInc#10557)

* Changeset version bump (RooCodeInc#10558)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* chore(cli): change default model to anthropic/claude-opus-4.5 (RooCodeInc#10544)

* fix: ensure assistant message content is never undefined for Gemini compatibility (RooCodeInc#10559)

* Update Terms of Service (effective January 9, 2026) (RooCodeInc#10568)

Co-authored-by: Roo Code <[email protected]>

* fix(vscode-lm): order text parts before tool calls in assistant messages (RooCodeInc#10573)

* fix: merge approval feedback into tool result instead of pushing duplicate (ROO-410) (RooCodeInc#10519)

* feat: improve error messaging for stream termination errors from provider (RooCodeInc#10548)

* fix(openai): remove convertToSimpleMessages to fix tool calling for OpenAI-compatible providers (RooCodeInc#10575)

* Move more types to @roo-code/types (for the cli) (RooCodeInc#10583)

* Add some functionality to @roo-code/core for the cli (RooCodeInc#10584)

* Add some slash commands that are useful for cli development (RooCodeInc#10586)

* feat: add debug setting to settings page (RooCodeInc#10580)

* feat: add debug mode toggle to settings

* Update About component with debug mode description

* i18n: add debug mode strings to settings locales

* Update debug mode description in all locales

* fix: post state to webview after debugSetting update

This addresses the review feedback that the debugSetting handler was not
posting updated state back to the webview, which could cause the UI to
stay stale until another state refresh occurred.

* fix: clarify debug mode description to specify task header location

Updated debugMode.description across all 18 locales to clarify that
debug buttons appear in the task header, per review feedback.

* fix: remove redundant postStateToWebview call after debug setting update

* Update src/core/webview/webviewMessageHandler.ts

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: round-trip Gemini thought signatures for tool calls (RooCodeInc#10590)

* fix: make edit_file matching more resilient (RooCodeInc#10585)

* chore(gemini): stop overriding tool allow/deny lists (RooCodeInc#10592)

* fix(cerebras): ensure all tools have consistent strict mode values (RooCodeInc#10589)

Co-authored-by: Roo Code <[email protected]>

* chore: disable edit_file tool for Gemini/Vertex (RooCodeInc#10594)

* Release v3.39.2 (RooCodeInc#10595)

* Changeset version bump (RooCodeInc#10596)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* Add a TUI (RooCodeInc#10480)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: Daniel <[email protected]>

* Allow the cli release script to install locally for testing (RooCodeInc#10597)

* feat(ipc): add retry mechanism and error handling

* More file organization for the cli (RooCodeInc#10599)

* refactor: rename roo-cli to cos-cli and update related references

* Some cleanup in ExtensionHost (RooCodeInc#10600)

Co-authored-by: Roo Code <[email protected]>

* refactor: optimize response rendering and tool call handling

* Rename Roo Code Cloud Provider to Roo Code Router (RooCodeInc#10560)

Co-authored-by: Roo Code <[email protected]>

* chore: bump version to v1.102.0 (RooCodeInc#10604)

* Update router name in types (RooCodeInc#10605)

* Update Roo Code Router service name (RooCodeInc#10607)

* chore: add changeset for v3.39.3 (RooCodeInc#10608)

* Update router name in types (RooCodeInc#10610)

* Changeset version bump (RooCodeInc#10609)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: add debug mode configuration and state management

* fix(settings): add debug condition for ZgsmAI custom config

* Basic settings search (RooCodeInc#10619)

* Prototype of a simpler searchable settings

* Fix tests

* UI improvements

* Input tweaks

* Update webview-ui/src/components/settings/SettingsSearch.tsx

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: remove duplicate Escape key handler dead code

* Cleanup

* Fix tests

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>

* ux: UI improvements to search settings (RooCodeInc#10633)

* UI changs

* Update webview-ui/src/components/marketplace/MarketplaceView.tsx

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* i18n

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* feat: display edit_file errors in UI after consecutive failures (RooCodeInc#10581)

* feat(chat): enhance reasoning block with animated thinking indicator and varied messages

* perf: optimize message block cloning in presentAssistantMessage (RooCodeInc#10616)

* feat(chat): add random loading messages with localization

* fix: correct Gemini 3 thought signature injection format via OpenRouter (RooCodeInc#10640)

* fix: encode hyphens in MCP tool names before sanitization (RooCodeInc#10644)

* fix: sanitize tool_use IDs to match API validation pattern (RooCodeInc#10649)

* fix(path): return empty string from getReadablePath when path is empty - ROO-437 (RooCodeInc#10638)

* ux: Standard stop button 🟥  (RooCodeInc#10639)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: omit parallel_tool_calls when not explicitly enabled (COM-406) (RooCodeInc#10671)

* fix: use placeholder for empty tool result content to fix Gemini API validation (RooCodeInc#10672)

* ux: Further improve error display (RooCodeInc#10692)

* Ensures error details are shown for all errors (except diff, which has its own case)

* More details

* litellm is a proxy

* ux: improve stop button visibility and streamline error handling (RooCodeInc#10696)

* Restores the send button in the message edit mode

* Makes the stop button more prominent

* fix: clear approval buttons when API request starts (ROO-526) (RooCodeInc#10702)

* chore: add changeset for v3.40.0 (RooCodeInc#10705)

* Changeset version bump (RooCodeInc#10706)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat(gemini): add allowedFunctionNames support to prevent mode switch errors (RooCodeInc#10708)

Co-authored-by: Roo Code <[email protected]>

* Release v3.40.1 (RooCodeInc#10713)

* Changeset version bump (RooCodeInc#10714)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* Release: v1.105.0 (RooCodeInc#10722)

* feat(providers): add gpt-5.2-codex model to openai-native provider (RooCodeInc#10731)

* feat(e2e): Enable E2E tests - 39 passing tests (RooCodeInc#10720)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* Clear terminal output buffers to prevent memory leaks (RooCodeInc#7666)

* feat: add OpenAI Codex provider with OAuth subscription authentication (RooCodeInc#10736)

Co-authored-by: Roo Code <[email protected]>

* fix(litellm): inject dummy thought signatures on ALL tool calls for Gemini (RooCodeInc#10743)

* fix(e2e): add alwaysAllow config for MCP time server tools (RooCodeInc#10733)

* Release v3.41.0 (RooCodeInc#10746)

* Changeset version bump (RooCodeInc#10747)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: clarify Slack and Linear are Cloud Team only features (RooCodeInc#10748)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* Release: v1.106.0 (RooCodeInc#10749)

* refactor(chat): replace current task display with last user feedback

* style(chat): adjust feedback text width calculation

* fix: handle missing tool identity in OpenAI Native streams (RooCodeInc#10719)

* Feat/issue 5376 aggregate subtask costs (RooCodeInc#10757)

* feat(chat): add streaming state to task header interaction

* feat: add settings tab titles to search index (RooCodeInc#10761)

Co-authored-by: Roo Code <[email protected]>

* fix: filter Ollama models without native tool support (RooCodeInc#10735)

* fix: filter out empty text blocks from user messages for Gemini compatibility (RooCodeInc#10728)

* fix: flatten top-level anyOf/oneOf/allOf in MCP tool schemas (RooCodeInc#10726)

* fix: prevent duplicate tool_use IDs causing API 400 errors (RooCodeInc#10760)

* fix: truncate call_id to 64 chars for OpenAI Responses API (RooCodeInc#10763)

* fix: Gemini thought signature validation errors (RooCodeInc#10694)

Co-authored-by: Roo Code <[email protected]>

* Release v3.41.1 (RooCodeInc#10767)

* Changeset version bump (RooCodeInc#10768)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: add button to open markdown in VSCode preview (RooCodeInc#10773)

Co-authored-by: Roo Code <[email protected]>

* fix(openai-codex): reset invalid model selection (RooCodeInc#10777)

* fix: add openai-codex to providers that don't require API key (RooCodeInc#10786)

Co-authored-by: Roo Code <[email protected]>

* fix(litellm): detect Gemini models with space-separated names for thought signature injection (RooCodeInc#10787)

* Release v3.41.2 (RooCodeInc#10788)

* Changeset version bump (RooCodeInc#10790)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* Roo Code Router fixes for the cli (RooCodeInc#10789)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* Revert "feat(e2e): Enable E2E tests - 39 passing tests" (RooCodeInc#10794)

Co-authored-by: Hannes Rudolph <[email protected]>

* Claude-like cli flags, auth fixes (RooCodeInc#10797)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>

* Release cli v0.0.47 (RooCodeInc#10798)

* Use a redirect instead of a fetch for cli auth (RooCodeInc#10799)

* chore(cli): prepare release v0.0.48 (RooCodeInc#10800)

* Fix thinking block word-breaking to prevent horizontal scroll (RooCodeInc#10806)

Co-authored-by: Roo Code <[email protected]>

* chore: add changeset for v3.41.3 (RooCodeInc#10822)

* Removal of glm4 6 (RooCodeInc#10815)

Co-authored-by: Matt Rubens <[email protected]>

* Changeset version bump (RooCodeInc#10823)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: warn users when too many MCP tools are enabled (RooCodeInc#10772)

* feat: warn users when too many MCP tools are enabled

- Add WarningRow component for displaying generic warnings with icon, title, message, and optional docs link
- Add TooManyToolsWarning component that shows when users have more than 40 MCP tools enabled
- Add MAX_MCP_TOOLS_THRESHOLD constant (40)
- Add i18n translations for the warning message
- Integrate warning into ChatView to display after task header
- Add comprehensive tests for both components

Closes ROO-542

* Moves constant to the right place

* Move it to the backend

* i18n

* Add actionlink that takes you to MCP settings in this case

* Add to MCP settings too

* Bump max tools up to 60 since github itself has 50+

* DRY

* Fix test

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* Support different cli output formats: text, json, streaming json (RooCodeInc#10812)

Co-authored-by: Roo Code <[email protected]>

* chore(cli): prepare release v0.0.49 (RooCodeInc#10825)

* fix(cli): set integrationTest to true in ExtensionHost constructor (RooCodeInc#10826)

* fix(cli): fix quiet mode tests by capturing console before host creation (RooCodeInc#10827)

* refactor: unify user content tags to <user_message> (RooCodeInc#10723)

Co-authored-by: Roo Code <[email protected]>

* feat(openai-codex): add ChatGPT subscription usage limits dashboard (RooCodeInc#10813)

* perf(webview): avoid resending taskHistory in state updates (RooCodeInc#10842)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* Fix broken link on pricing page (RooCodeInc#10847)

* fix: update broken pricing link to /models page

* Update apps/web-roo-code/src/app/pricing/page.tsx

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>

* Git worktree management (RooCodeInc#10458)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* feat: enable prompt caching for Cerebras zai-glm-4.7 model (RooCodeInc#10670)

Co-authored-by: Roo Code <[email protected]>

* feat: add Kimi K2 thinking model to VertexAI provider (RooCodeInc#9269)

Co-authored-by: Roo Code <[email protected]>

* feat: standardize model selectors across all providers (RooCodeInc#10294)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>

* chore: remove XML tool calling support (RooCodeInc#10841)

Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* Fix broken link on pricing page (RooCodeInc#10847)

* fix: update broken pricing link to /models page

* Update apps/web-roo-code/src/app/pricing/page.tsx

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>

* Pr 10853 (RooCodeInc#10854)

Co-authored-by: Roo Code <[email protected]>

* Git worktree management (RooCodeInc#10458)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* feat: enable prompt caching for Cerebras zai-glm-4.7 model (RooCodeInc#10670)

Co-authored-by: Roo Code <[email protected]>
(cherry picked from commit c7ce8aa)

* feat: add Kimi K2 thinking model to VertexAI provider (RooCodeInc#9269)

Co-authored-by: Roo Code <[email protected]>
(cherry picked from commit a060915)

* feat: standardize model selectors across all providers (RooCodeInc#10294)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>
(cherry picked from commit e356d05)

* feat(commit): enhance git diff handling for new repositories

* feat(task): support fake_tool_call for Qwen model with XML tool call format

* feat(prompts): add snapshots for custom instructions and system prompt variations

---------

Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Chris Estreich <[email protected]>
Co-authored-by: Daniel <[email protected]>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: Seb Duerr <[email protected]>
Co-authored-by: Danny Ricciotti <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: Archimedes <[email protected]>
Co-authored-by: Patrick Decat <[email protected]>
Co-authored-by: T <[email protected]>
Co-authored-by: MP <[email protected]>
mini2s added a commit to zgsm-ai/costrict that referenced this pull request Jan 22, 2026
* Fix broken link on pricing page (RooCodeInc#10847)

* fix: update broken pricing link to /models page

* Update apps/web-roo-code/src/app/pricing/page.tsx

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>

* Git worktree management (RooCodeInc#10458)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>

* feat: enable prompt caching for Cerebras zai-glm-4.7 model (RooCodeInc#10670)

Co-authored-by: Roo Code <[email protected]>

* feat: add Kimi K2 thinking model to VertexAI provider (RooCodeInc#9269)

Co-authored-by: Roo Code <[email protected]>

* feat: standardize model selectors across all providers (RooCodeInc#10294)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>

* chore: remove XML tool calling support (RooCodeInc#10841)

Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* Pr 10853 (RooCodeInc#10854)

Co-authored-by: Roo Code <[email protected]>

* feat(commit): enhance git diff handling for new repositories

* feat(task): support fake_tool_call for Qwen model with XML tool call format

* feat(prompts): add snapshots for custom instructions and system prompt variations

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: Chris Estreich <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: MP <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement New feature or request lgtm This PR has been approved by a maintainer PR - Needs Preliminary Review size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[ENHANCEMENT] Git worktree management (enables parallel development workflows)

5 participants