Skip to content

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Dec 22, 2025

This PR attempts to address Issue #10259.

Problem

In version 3.36.15, PR #10213 introduced a change that merges native tool defaults (supportsNativeTools: true, defaultToolProtocol: "native") for the OpenAI Compatible provider. This caused a regression where users with custom model configurations (like DeepSeek-R1 via LiteLLM proxy) who did not explicitly set defaultToolProtocol would now receive native tool calls, which many third-party proxies do not support.

The error manifests as: 500 Internal server error: Unsupported tool_call_parser: None

Solution

Change openAiModelInfoSaneDefaults.defaultToolProtocol from "native" to "xml" for the OpenAI Compatible provider.

This ensures better compatibility with third-party proxies by defaulting to XML-based tool calling. Users who want native tool calling can still explicitly enable it in Advanced Settings.

Changes

  • packages/types/src/providers/openai.ts: Changed defaultToolProtocol from "native" to "xml" for openAiModelInfoSaneDefaults
  • Updated tests in src/utils/__tests__/resolveToolProtocol.spec.ts
  • Updated tests in webview-ui/src/components/ui/hooks/__tests__/useSelectedModel.spec.ts

Feedback and guidance are welcome.

@roomote
Copy link
Contributor Author

roomote bot commented Dec 22, 2025

Rooviewer Clock   See task on Roo Cloud

Review complete. No issues found.

The change correctly defaults the OpenAI Compatible provider to XML protocol for better third-party proxy compatibility, addressing the regression from PR #10213. The tests have been appropriately updated, and other providers (LM Studio, VSCode LM, Claude Code) are unaffected since they define their own defaultToolProtocol.

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 Dec 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels.

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

3 participants