BerriAI/litellm · error · OCIError
OCI only supports function tools
Error message
OCI only supports function tools
What it means
Error "OCI only supports function tools" thrown in BerriAI/litellm.
Source
Thrown at litellm/llms/oci/chat/generic.py:222
new_messages.append(adapt_messages_to_generic_oci_standard_tool_response(role, tool_call_id, content))
return new_messages
# ---------------------------------------------------------------------------
# Tool definition adaptation
# ---------------------------------------------------------------------------
def adapt_tool_definition_to_oci_standard(tools: list[dict], vendor: OCIVendors) -> list[OCIToolDefinition]:
"""Convert OpenAI-format tool definitions to OCI GENERIC format.
Resolves ``$ref``/``$defs`` and ``anyOf`` that the OCI endpoint rejects.
"""
new_tools: Final = []
for tool in tools:
if tool["type"] != "function":
raise OCIError(status_code=400, message="OCI only supports function tools")
tool_function = tool.get("function")
if not isinstance(tool_function, dict):
raise OCIError(status_code=400, message="Tool `function` must be a dictionary")
raw_params = tool_function.get("parameters", {})
resolved_params = sanitize_oci_schema(resolve_oci_schema_anyof(resolve_oci_schema_refs(raw_params)))
new_tools.append(
OCIToolDefinition(
type="FUNCTION",
name=tool_function.get("name"),
description=tool_function.get("description", ""),
parameters=resolved_params,
)
)
return new_toolsView on GitHub (pinned to 6c2dcb801b)
Solutions
- Use only function tools for OCI.
When it happens
Trigger: Thrown at litellm/llms/oci/chat/generic.py:222 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@6c2dcb801b (2026-08-15).
Data as JSON: /api/errors/2257061b02e487fd.
Report an issue: GitHub.