zed-industries/zed · error

downloading language servers disabled

Error message

downloading language servers disabled

What it means

Sentinel error in get_language_server_command: no user-installed or cached language server binary was found and binary_options.allow_binary_download is false, so the registry is not permitted to download the server and cannot provide one. This is a configuration-state error — downloads were disabled (e.g. by settings or the test/production environment) but an auto-download path was still requested.

Source

Thrown at crates/language/src/language.rs:841

            if binary_options.allow_path_lookup
                && let Some(binary) = self
                    .check_if_user_installed(&delegate, toolchain, &mut cx)
                    .await
            {
                log::info!(
                    "found user-installed language server for {}. path: {:?}, arguments: {:?}",
                    self.name().0,
                    binary.path,
                    binary.arguments
                );
                return (Ok(binary), None);
            }

            if let Some((pre_release, cached_binary)) = cached_binary_deref
                && *pre_release == binary_options.pre_release
            {
                return (Ok(cached_binary.clone()), None);
            }

            if !binary_options.allow_binary_download {
                return (
                    Err(anyhow::anyhow!("downloading language servers disabled")),
                    None,
                );
            }

            let Some(container_dir) = delegate.language_server_download_dir(&self.name()).await
            else {
                return (
                    Err(anyhow::anyhow!("no language server download dir defined")),
                    None,
                );
            };

            let last_downloaded_binary = self
                .cached_server_binary(container_dir.to_path_buf(), delegate.as_ref())

View on GitHub (pinned to 9d272b0363)

Solutions

  1. Install the language server manually (user-installed binaries are picked up via allow_path_lookup)
  2. Enable language server binary downloads in settings if downloads are acceptable
  3. Check the cached binary path settings so an existing install is discovered
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/language/src/language.rs:838 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zed-industries/zed@9d272b0363 (2026-08-20). Data as JSON: /api/errors/743dea2d293a3827. Report an issue: GitHub.