DescriptionAfter I entered the URL provided by lmstudio in DBeaver's AI settings and clicked 'Test Connection', it just keeps sending request. But actually, if I try navigate to 'http://127.0.0.1:1234/v1/models' directly in Edge, Edge can display the model list results. I tried changing the port number and turning off the firewall, but it still doesn't work.
DBeaver Version25.2.4 Operating Systemwin11 Database and driverNo response Steps to reproduceNo response Additional contextNo response |
Replies: 15 comments
|
Hello @632575987, Try replacing |
I've already tried using localhost, but it doesn't work either. |
|
There may be something useful in the logs. Can you please provide them? You can find instructions here: https://github.com/dbeaver/dbeaver/wiki/Log-files |
|
@darrylsepeda don't use the error log view. Instead, collect and send us the log files mentioned in the linked article. |
|
Hi @ShadelessFox , Apologize for slow response.
you could ignore the empty API token at the beginning, InterruptedException because its already stuck on loading window for a long time so I ended up canceling the loading window. |
|
Hello All I have the same issue. This is my test, hoping it could be helpful for troubleshooting. here is my logs: I guess it might be that DBeaver’s request method is incompatible with LM Studio. |
|
LM Studio does not handle HTTP/2 requests well. lmstudio-ai/lmstudio-bug-tracker#1079 |
|
Have you tried jan? https://github.com/janhq/jan/ it seems to have the same functionality as LM Studio but with HTTP/2 support |
|
Hi everyone, I was running into this exact same issue and wrote a lightweight Python reverse proxy to act as a bridge between DBeaver and LM Studio. The root of the problem seems to be how DBeaver's strict HTTP client handles the streaming responses and headers from LM Studio. The proxy fixes this by intercepting the traffic, forcing "stream": false in the JSON body, stripping problematic chunked/encoding headers, and explicitly injecting the exact Content-Length so DBeaver knows exactly when the response ends (which prevents the infinite connection hang). It also prevents the ECONNRESET spam on LM Studio's side. If anyone needs a quick workaround while this isn't officially fixed, I published the script here: Just run it locally and point DBeaver's API URL to the proxy's port (e.g., http://127.0.0.1:8080/v1). Hope it helps someone! |
thanks ! so much. |
|
Is it still reproducible in the latest DBeaver version? |
|
This is still reproducible, and I think I found the root cause. It is the HTTP/2 theory from @adrenalin8231 above, but it is fixable on the DBeaver side.
LM Studio, and uvicorn/httptools-based servers such as vLLM, treat that as an unsupported upgrade and stop parsing the request. The application then sees an empty body: vLLM answers I could only test vLLM directly, but the same upgrade headers would explain the LM Studio hang and the Pinning the shared AI client to HTTP/1.1 fixes it without a reverse proxy. HTTP/2 buys nothing for these APIs over a local unencrypted connection, so there is no real trade-off. I have a patch that does this and have verified it against vLLM: the body now arrives and the request completes. Could this be reopened? I would like to submit the fix as a PR against |







Hi everyone,
I was running into this exact same issue and wrote a lightweight Python reverse proxy to act as a bridge between DBeaver and LM Studio.
The root of the problem seems to be how DBeaver's strict HTTP client handles the streaming responses and headers from LM Studio. The proxy fixes this by intercepting the traffic, forcing "stream": false in the JSON body, stripping problematic chunked/encoding headers, and explicitly injecting the exact Content-Length so DBeaver knows exactly when the response ends (which prevents the infinite connection hang). It also prevents the ECONNRESET spam on LM Studio's side.
If anyone needs a quick workaround while this isn't officially fixed, I publ…