Skip to content

Error: Timed out waiting for language servers to shutdown for large Go monorepos #14724

@inianv

Description

@inianv

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions