-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Description
Summary
This issue has been discussed many times on this page (#5117 (comment)), from what I have seen. I keep hitting this error on a large Go monorepo (private) project in our organization.
Error: Timed out waiting for language servers to shutdown
I tried disabling auto-format for Go and even tinkered with modifying the LSP timeout (3s) to (500ms and lower), and it still doesn't work for me. I can do :lsp-stop every time before I :q, but that is not desirable.
At this point I do not want to go back to nvim, just because I'm unable to use Helix on this large monorepo. I keep browsing every day to see if I can find a way to make it work. Any workarounds (custom build options) are also fine, even if they are not planned to be merged to master.
TL;DR - While browsing this large monorepo, even opening files (LSP load finished/still loading) and not writing anything and then doing :q is hitting the error. Happening with latest LSP for Go (gopls v0.20.0)
Would kindly appreciate a fix/workaround!
Reproduction Steps
I do not have an open source repo to reproduce this on. But ideally my environment is a large Go monorepo (4786 files). Open several random files in different packages and write/close them or just read/close them.
Helix log
~/.cache/helix/helix.log
2025-10-28T09:41:19.881 helix_term::application [ERROR] Timed out waiting for language servers to shutdown
2025-10-28T11:02:21.697 helix_term::application [ERROR] Timed out waiting for language servers to shutdown
2025-10-28T11:02:31.380 helix_term::application [ERROR] Timed out waiting for language servers to shutdown
2025-10-28T11:04:27.422 helix_term::application [ERROR] Timed out waiting for language servers to shutdown
2025-10-28T11:21:37.741 helix_lsp::transport [ERROR] gopls <- ServerError(0): DecodeArgs: expected 1 input arguments, got 0 JSON arguments
2025-10-28T11:21:37.741 helix_view::handlers::lsp [ERROR] Error executing LSP command: protocol error: ServerError(0): DecodeArgs: expected 1 input arguments, got 0 JSON arguments
2025-10-28T11:21:43.605 helix_lsp::transport [ERROR] gopls err: <- StreamClosed
2025-10-28T11:22:00.159 helix_lsp::transport [ERROR] gopls err: <- StreamClosed
2025-10-28T11:22:09.731 helix_term::application [ERROR] Timed out waiting for language servers to shutdown
2025-10-28T11:23:08.737 helix_term::application [ERROR] Timed out waiting for language servers to shutdown
2025-10-28T11:23:19.330 helix_term::application [ERROR] Timed out waiting for language servers to shutdown
2025-10-28T11:23:38.658 helix_lsp::transport [ERROR] gopls err: <- StreamClosed
2025-10-28T11:23:46.157 helix_term::application [WARN] can't find language server with id `1v1`
2025-10-28T11:24:01.237 helix_lsp::transport [ERROR] gopls err: <- StreamClosed
Platform
Linux
Terminal Emulator
Ghostty (tip)
Installation Method
releases page
Helix Version
helix 25.07.1 (a05c151)