Skip to content

Commit d159967

Browse files
committed
docs: remove XML tool calling references from openai-compatible page
XML tool calling was removed in v3.42.0 and remaining code paths cleaned up in v3.43.0. Updates the openai-compatible provider docs to: - Remove all references to XML-based tool format as a fallback - Remove the mention of a tool protocol selector setting - Clarify native tool calling is the only supported protocol - Add warning that models without native tool calling cannot be used - Add troubleshooting entry for tool-calling errors
1 parent f02d6d4 commit d159967

1 file changed

Lines changed: 15 additions & 14 deletions

File tree

docs/providers/openai-compatible.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,29 +48,30 @@ You'll find these settings in the Roo Code settings panel (click the <Codicon na
4848

4949
---
5050

51-
## Native Tool Calling (OpenAI-Native Endpoint)
51+
## Native Tool Calling
5252

53-
When you connect this provider directly to the official OpenAI API (or an endpoint that mirrors it exactly), Roo Code can use OpenAI's **native tool-calling** protocol instead of the XML-based tool format.
53+
Roo Code uses the **native tool-calling** protocol exclusively. Models must support native tool calling to work with Roo Code.
5454

5555
At a high level:
5656

57-
- **Tool definitions** are sent to the model using OpenAI's native tools schema.
57+
- **Tool definitions** are sent to the model using the native tools schema.
5858
- **Tool calls** stream back as dedicated tool events, including the tool name, arguments, and metadata.
5959
- **Tool arguments** are streamed incrementally, which reduces latency between the model deciding to use a tool and Roo Code executing it.
6060

61-
### When native tools are used
61+
### Requirements
6262

63-
Roo Code uses native tool calling when **all** of the following are true:
63+
For native tool calling to work, the following must be true:
6464

65-
1. The selected provider is configured for the OpenAI-native protocol (OpenAI or an OpenAI-compatible endpoint that fully supports native tools).
66-
2. The active profile's tool protocol is set to allow native tools (or left at its default, which prefers native tools when supported).
67-
3. The selected model supports native tool calling.
65+
1. The provider endpoint fully supports native tool calling (OpenAI or an OpenAI-compatible endpoint that implements the tools API).
66+
2. The selected model supports native tool calling.
6867

69-
If any of these conditions aren't met, Roo Code falls back to its XML-based tool protocol instead.
68+
:::warning Model Compatibility
69+
Models that do not support native tool calling **cannot be used with Roo Code**. There is no fallback protocol. If you see tool-related errors, verify that your model supports native function/tool calling and that your provider endpoint implements the tools API correctly.
70+
:::
7071

7172
### Example: simple native tool flow
7273

73-
Here's a simplified example of how a file-reading tool might be exposed when using an OpenAI-native endpoint:
74+
Here's a simplified example of how a file-reading tool might be exposed:
7475

7576
```json
7677
{
@@ -102,11 +103,10 @@ When the model decides to use `read_file`, Roo Code surfaces **streamed tool eve
102103

103104
This gives you lower-latency feedback on which tools are being used and with what arguments.
104105

105-
### Settings and limitations
106+
### Limitations
106107

107-
- **Tool protocol selector:** In advanced settings, you can choose which tool protocol Roo Code should prefer (XML vs native). If you disable native tools here, Roo Code will always use XML even if the provider supports native tools.
108-
- **Model support:** Not all OpenAI-native or compatible models support tools. If a model doesn't support tools, Roo Code will not attempt to send tool definitions for it.
109-
- **Provider quirks:** Some OpenAI-compatible providers only partially implement the native tools API. If Roo Code detects protocol errors, it may fall back to XML tools automatically.
108+
- **Model support:** Not all models support native tool calling. If a model doesn't support tools, it cannot be used with Roo Code. Check your provider's documentation to confirm tool-calling support for your chosen model.
109+
- **Provider quirks:** Some OpenAI-compatible providers only partially implement the native tools API. If you encounter tool-related errors, verify that your provider fully supports the native tools specification.
110110

111111
For a deeper overview of how tools work in Roo Code in general, see the [Tool Use Overview](/advanced-usage/available-tools/tool-use-overview).
112112

@@ -117,6 +117,7 @@ For a deeper overview of how tools work in Roo Code in general, see the [Tool Us
117117
* **"Invalid API Key":** Double-check that you've entered the API key correctly.
118118
* **"Model Not Found":** Make sure you're using a valid model ID for your chosen provider.
119119
* **Connection Errors:** Verify the Base URL is correct and that your provider's API is accessible.
120+
* **Tool-calling errors:** Roo Code requires native tool calling. If your model does not support native tool calling, you must switch to a model that does. There is no XML or fallback tool protocol.
120121
* **Unexpected Results:** If you're getting unexpected results, try a different model.
121122

122123
By using an OpenAI-compatible provider, you can leverage the flexibility of Roo Code with a wider range of AI models. Remember to always consult your provider's documentation for the most accurate and up-to-date information.

0 commit comments

Comments
 (0)