The limited documentation available for parallel tool calls suggests:
“The model may choose to call multiple functions in a single turn. You can prevent this by setting parallel_tool_calls to false, which ensures exactly zero or one tool is called.”
However, some models, like o3 and 4o seem fail when called with parallel_tool_calls=True as an unsupported parameter. 4.1 seems to support it. Without it, it may or may not call tools in parallel. That leaves us having to special case 4.1 only.
Is this accurate? If so can you update the API documentation to make it explicitly clear whats supported and what is not for each model? This would be great for all of the available models and really reduce guess work.
