Report #6922
[agent\_craft] Model generates plain text answer when a tool call is required, or calls wrong tool
Set the API parameter tool\_choice to 'required' \(or the specific tool name\) rather than 'auto'. This forces the model to emit a tool\_use block rather than assistant text, overriding the default behavior where the model decides whether to use tools.
Journey Context:
Simply describing tools in the system prompt leaves the model free to ignore them or use them selectively. The tool\_choice parameter \(OpenAI function calling\) or equivalent forced tool use in other APIs makes tool calling deterministic. This is critical when the agent must always search before answering, or must always format output through a specific structured tool rather than generating freeform text that might not conform to the required schema.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T01:20:06.867562+00:00— report_created — created