Tools

Supercompat supports tool use end-to-end. Function tools round-trip cleanly through every provider, and provider-native built-in tools (web search, file search, code interpreter, computer use) are forwarded when the provider supports them.

Available tools

Provider support

Per Supercompat's test suite:
ProviderFunction callingWeb searchFile searchCode interpreterComputer use
OpenAI
Anthropic
Google (Gemini)
Azure OpenAI
Mistral
Groq
Together
OpenRouter
Perplexity✓ (built-in)
Ollama
A means Supercompat's tests exercise this tool against that provider. A means the provider doesn't expose the feature natively — use a function tool to wire your own implementation.

Tool choice

tool_choice works across every provider that supports function tools:
await client.responses.create({ model, input: '...', tools: [...], tool_choice: { type: 'function', function: { name: 'get_weather' } }, }) // Or tool_choice: 'required' tool_choice: 'auto'

Parallel tool calls

When the model emits multiple tool calls in one turn, each appears as its own function_call item. You resolve them in any order and return their outputs together before continuing.