flaky-dress-3505
09/15/2026, 12:18 PMlitellm.APIConnectionError: Ollama_chatException - Cannot connect to host localhost:11434 ssl:<ssl.SSLContext object at 0x7f99c22d0f50> [Connect call failed ('127.0.0.1', 11434)].
What can cause these issues?modern-fireman-99755
09/15/2026, 1:11 PM-e OLLAMA_API_BASE=http://<ollama-host-ip>:11434 to the canvas container. litellm uses it whenever no base URL is set.
2. The 900s timeout doesn't seem to apply
It's the same saved copy. The timeout does reach the Ollama call, but only in conversations created after you changed it, and the condenser uses the same copy. Please test with a new conversation. The default is 300s, and failed calls are retried up to 5 times with 8–64s waits, which is the "tried again after a while" you're seeing.
A cutoff at ~50s isn't an OpenHands default, so something else is probably closing the connection. Can you check for something in this direction?
3. Using qwen3.5:9B for condensation
This isn't possible from the UI right now. The condenser always uses the conversation's own model. Switching the conversation's model moves the condenser along with it, so that doesn't give you a separate model. A separate condenser model only works through the SDK, not canvas settings. Meanwhile, you can make condensation cheaper by lowering the condenser's max tokens in the settings so it runs on smaller chunks.
Hope it helps 🙂flaky-dress-3505
09/16/2026, 2:46 PMbase_state.json I see that no base url is set, but the provider_connection_id points to the correct connection. So it seems that provider_connection_id is ignored in some cases.
Moreover it is weird that I started having this behavior after several successful interactions.
BTW: I have only used the UI (i.e., no manual edit of any file) so far and in the base_state.json of one of the not-working conversations, I see that the condenser is set to qwen3.5 and the llm is set to qwen3.8... Probably due to using the LLM profile switch in the chat...
I have investigated a little bit about the 50s timeout issue in the condenser... And what I found is that the culprit seems to be the fact that condenser forces stream=False and this triggers the 50s timeout directly in ollama (still do not know why). I was able to reproduce the behavior both with litellm and curl without involving openhands.modern-fireman-99755
09/16/2026, 2:51 PMI have investigated a little bit about the 50s timeout issue in the condenser... And what I found is that the culprit seems to be the fact that condenser forcesThis is interesting. So if you switch off the streaming than you get a timeout? Am I understanding this correctly?and this triggers the 50s timeout directly in ollama (still do not know why). I was able to reproduce the behavior both with litellm and curl without involving openhands.stream=False
flaky-dress-3505
09/16/2026, 3:19 PMcurl -v -X POST <http://ollama:11434/api/chat> -H "Content-Type: application/json" -d '{
"model": "smtek/Qwen3.8-27B:Q2_K_XL-16gb",
"messages": [
{
"role": "user",
"content": "Generate a long detailed essay. Continue for at least 5000 tokens."
}
],
"stream": false
}'
This curl request is enough to get a timeout.flaky-dress-3505
09/16/2026, 5:10 PMmodern-fireman-99755
09/16/2026, 7:27 PMHowever, if I try manual context compaction through the UI, I still get a signal error (while in the Ollama logs I can see that the request succeeds after a while), and the compaction is aborted.can you retrieve more logs about that?
flaky-dress-3505
09/16/2026, 8:47 PM[GIN] 2026/09/16 - 20:29:06 | 200 | 1m57s | 172.21.0.1 | POST "/api/chat").
By looking at the initiator information in browser, it seems that 60000 (6e4) is the default timeout for the client used by condenseConversation(). I did not check the actual frontend code though.modern-fireman-99755
09/16/2026, 8:48 PMflaky-dress-3505
09/16/2026, 8:56 PMmodern-fireman-99755
09/22/2026, 2:49 PMmodern-fireman-99755
09/22/2026, 2:49 PM