high92%
langchain-openai with_structured_output() silently drops previously bound tools, causing hallucinated responses
When .bind(tools=[...]) is called before .with_structured_output(schema) on ChatOpenAI, the tool bindings are silently discarded from the HTTP request. The model returns a plausible but hallucinated structured output because the tools (e.g., web_search) were never sent to the API. This affects both OpenAI native tools and custom LangChain tools, and there is no error or warning.
