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:
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' } },
})
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.