streaming not working when using bind_tools with ChatOllama - llm.stream() returns no tokens

Streaming chat responses from an Ollama model (e.g. llama3.1:70b via ChatOllama, or ChatOpenAI pointed at Ollama's /v1 endpoint) with tools bound via llm.bindtools([...]).stream(). With tools bound, streaming produced no tokens at all and the onllmnewtoken callback never fired, so apps relying on token-by-token output went silent. Removing bindtools restored normal streaming, and some users also saw AIMessageChunk content come back as dicts instead of strings with bindtools active. Reported on langchain 0.3.13 / langchain-ollama 0.2.1.

The root cause was on the Ollama server side, not in LangChain. A reporter confirmed that updating to the latest Ollama release (which shipped streaming-tool support) fixed streaming with bind_tools, and another confirmed the same behavior: ChatOpenAI pointed at a non-Ollama backend streamed fine with the same code. A maintainer verified it was resolved in recent Ollama SDK versions and closed the issue with the guidance to make sure the system Ollama binary is up to date (0.9.3 at the time). So if you hit this, upgrade your Ollama server binary first before debugging your LangChain code. Source: https://github.com/langchain-ai/langchain/issues/29129