PRODUCTION SCENARIO
Larkfield Payments runs an agent with check_balance, deduct_funds and create_label tools on gpt-5.6-terra. In production the model sometimes calls deduct_funds and create_label in the same turn, before check_balance has returned.
Which combination stops the concurrent calls and enforces the required order?
Answering here is anonymous. Nothing is saved unless you sign in.
Show answer and explanation
Answer: Set parallel_tool_calls to false, and reject out-of-order calls in the handler itself
Setting parallel_tool_calls to false limits the model to zero or one tool call per turn, which stops the concurrent debit and label, but it does not decide which tool comes next, so the handler must refuse a debit or a label until check_balance has succeeded. Array order is not execution order, validating after all three have run is too late to prevent the debit, and tool_choice required only forces at least one call.
Official Source: https://developers.openai.com/api/docs/guides/function-calling ↗