FAQ
Local model will not call tools
The model responds normally but never calls a tool, and often returns empty content with
finish_reason: "stop".
This is almost always the streaming constraint. AXL's ReAct loop only ever calls
chat_stream - there is no non-streaming path through the loop - so a local inference server
must emit tool calls inside the SSE stream, not only in unary responses.
Known specifics:
- Ollama's OpenAI-compatible endpoint does not qualify. It emits tool calls correctly on its
native
/api/chatbut drops them when streaming through/v1/. The usual workaround isstream: false, which AXL cannot use, and Ollama's native protocol is not one AXL speaks. - llama.cpp's
llama-serverand LM Studio both work. Use one of those.
If tool calls work outside AXL but not inside it, test your server with a streaming request before looking anywhere else.
Next
- Local model setup - which servers qualify and how to install them.
- Choose a model - selecting the model per agent.