Constrains the tools available to the model to a pre-defined set.

interface ToolChoiceAllowed {
    mode: "auto" | "required";
    tools: {
        [key: string]: unknown;
    }[];
    type: "allowed_tools";
}

Properties

Properties

mode: "auto" | "required"

Constrains the tools available to the model to a pre-defined set.

auto allows the model to pick from among the allowed tools and generate a message.

required requires the model to call one or more of the allowed tools.

tools: {
    [key: string]: unknown;
}[]

A list of tool definitions that the model should be allowed to call.

For the Responses API, the list of tool definitions might look like:

[
{ "type": "function", "name": "get_weather" },
{ "type": "mcp", "server_label": "deepwiki" },
{ "type": "image_generation" }
]
type: "allowed_tools"

Allowed tool configuration type. Always allowed_tools.