{"record":{"id":"6730a2a4d01e2b4f","repo":"zed-industries/zed","slug":"no-language-server-download-dir-defined","errorCode":null,"errorMessage":"no language server download dir defined","messagePattern":"no language server download dir defined","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/language/src/language.rs","lineNumber":849,"sourceCode":"                    binary.path,\n                    binary.arguments\n                );\n                return (Ok(binary), None);\n            }\n\n            if let Some((pre_release, cached_binary)) = cached_binary_deref\n                && *pre_release == binary_options.pre_release\n            {\n                return (Ok(cached_binary.clone()), None);\n            }\n\n            if !binary_options.allow_binary_download {\n                return (\n                    Err(anyhow::anyhow!(\"downloading language servers disabled\")),\n                    None,\n                );\n            }\n\n            let Some(container_dir) = delegate.language_server_download_dir(&self.name()).await\n            else {\n                return (\n                    Err(anyhow::anyhow!(\"no language server download dir defined\")),\n                    None,\n                );\n            };\n\n            let last_downloaded_binary = self\n                .cached_server_binary(container_dir.to_path_buf(), delegate.as_ref())\n                .await\n                .context(\n                    \"did not find existing language server binary, falling back to downloading\",\n                );\n            let download_binary = async move {\n                let mut binary = self\n                    .try_fetch_server_binary(\n                        &delegate,","sourceCodeStart":831,"sourceCodeEnd":867,"githubUrl":"https://github.com/zed-industries/zed/blob/9d272b036335401f339d024ea94968fd51016c40/crates/language/src/language.rs#L831-L867","documentation":"Sentinel error in get_language_server_command: downloading is allowed, but the LspAdapter's `language_server_download_dir` returned None, so there is no directory configured in which the downloaded language server binary could be stored. Without a container dir the download flow cannot proceed, so the request for the server binary fails.","triggerScenarios":"Thrown at crates/language/src/language.rs:846 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Implement or correct language_server_download_dir on the language's adapter so it returns a container directory","Check language server download directory settings (e.g. a configured custom location is unset or invalid)","Ensure the adapter for this language is the intended one and fully configured"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9d272b036335401f339d024ea94968fd51016c40","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}