You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/providers/openai-compatible.md
+8-14Lines changed: 8 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,25 +48,19 @@ You'll find these settings in the Roo Code settings panel (click the <Codicon na
48
48
49
49
---
50
50
51
-
## Native Tool Calling (OpenAI-Native Endpoint)
51
+
## Native Tool Calling
52
52
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 **native toolcalling**exclusively. This is the only supported tool protocol -- there is no XML-based fallback.
54
54
55
55
At a high level:
56
56
57
57
-**Tool definitions** are sent to the model using OpenAI's native tools schema.
58
58
-**Tool calls** stream back as dedicated tool events, including the tool name, arguments, and metadata.
59
59
-**Tool arguments** are streamed incrementally, which reduces latency between the model deciding to use a tool and Roo Code executing it.
60
60
61
-
### When native tools are used
61
+
### Requirements
62
62
63
-
Roo Code uses native tool calling when **all** of the following are true:
64
-
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.
68
-
69
-
If any of these conditions aren't met, Roo Code falls back to its XML-based tool protocol instead.
63
+
For native tool calling to work, the model you select **must** support OpenAI-compatible tool calling. If a model does not support native tool calling, it cannot be used with Roo Code.
70
64
71
65
### Example: simple native tool flow
72
66
@@ -102,11 +96,10 @@ When the model decides to use `read_file`, Roo Code surfaces **streamed tool eve
102
96
103
97
This gives you lower-latency feedback on which tools are being used and with what arguments.
104
98
105
-
### Settings and limitations
99
+
### Limitations
106
100
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.
101
+
-**Model support:** Not all models support native tool calling. If a model does not support tools, it cannot be used with Roo Code. Check your provider's documentation to confirm tool-calling support for the model you want to use.
102
+
-**Provider quirks:** Some OpenAI-compatible providers only partially implement the native tools API. If you encounter tool-calling errors, verify that your provider fully supports OpenAI-compatible function calling.
110
103
111
104
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).
112
105
@@ -117,6 +110,7 @@ For a deeper overview of how tools work in Roo Code in general, see the [Tool Us
117
110
***"Invalid API Key":** Double-check that you've entered the API key correctly.
118
111
***"Model Not Found":** Make sure you're using a valid model ID for your chosen provider.
119
112
***Connection Errors:** Verify the Base URL is correct and that your provider's API is accessible.
113
+
***Tool-calling errors:** Roo Code requires native tool calling. If your model does not support it, you need to switch to a model that does. Check your provider's documentation for tool-calling compatibility.
120
114
***Unexpected Results:** If you're getting unexpected results, try a different model.
121
115
122
116
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