{"record":{"id":"bf62dd0c280b1c97","repo":"zed-industries/zed","slug":"language-server-for-worktree-and-language-not-foun","errorCode":null,"errorMessage":"language server for worktree and language not found","messagePattern":"language server for worktree and language not found","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/project/src/lsp_store.rs","lineNumber":10138,"sourceCode":"                    version: None,\n                    diagnostics: Vec::new(),\n                },\n                result_id: None,\n                registration_id: None,\n                server_id,\n                disk_based_sources: Cow::Borrowed(&[]),\n            })\n            .collect::<Vec<_>>();\n        self.merge_diagnostic_entries(diagnostic_updates, retain_diagnostic, cx)\n            .context(\"clearing path diagnostics\")\n            .log_err();\n    }\n\n    pub fn merge_diagnostic_entries<'a>(\n        &mut self,\n        diagnostic_updates: Vec<DocumentDiagnosticsUpdate<'a, DocumentDiagnostics>>,\n        merge: impl Fn(&lsp::Uri, &Diagnostic, &App) -> bool + Clone,\n        cx: &mut Context<Self>,\n    ) -> anyhow::Result<()> {\n        let mut diagnostics_summary = None::<proto::UpdateDiagnosticSummary>;\n        let mut updated_diagnostics_paths = HashMap::default();\n        for mut update in diagnostic_updates {\n            let abs_path = &update.diagnostics.document_abs_path;\n            let server_id = update.server_id;\n            let Some((worktree, relative_path)) =\n                self.worktree_store.read(cx).find_worktree(abs_path, cx)\n            else {\n                log::warn!(\"skipping diagnostics update, no worktree found for path {abs_path:?}\");\n                continue;\n            };\n\n            let worktree_id = worktree.read(cx).id();\n            let project_path = ProjectPath {\n                worktree_id,\n                path: relative_path,\n            };","sourceCodeStart":10120,"sourceCodeEnd":10156,"githubUrl":"https://github.com/zed-industries/zed/blob/9d272b036335401f339d024ea94968fd51016c40/crates/project/src/lsp_store.rs#L10120-L10156","documentation":"In LspStore symbol/buffer resolution: no language server is registered for the given worktree and language, so the requested operation (e.g. opening a buffer for a symbol) cannot be routed to a server. Fires when a symbol lookup arrives before/without a running server for that language.","triggerScenarios":"Thrown at crates/project/src/lsp_store.rs:9419 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the relevant language extension/server is installed and running","Wait for language servers to finish starting before triggering symbol navigation"],"exampleFix":null,"handlingStrategy":"type-guard","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-14T05:17:10.506Z"}