{"record":{"id":"29d4fd8a4128f340","repo":"zed-industries/zed","slug":"to-find-lsp-adapter","errorCode":null,"errorMessage":"To find LSP adapter","messagePattern":"To find LSP adapter","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/project/src/lsp_store.rs","lineNumber":407,"sourceCode":"    ) -> LanguageServerId {\n        let key = LanguageServerSeed {\n            worktree_id: worktree_handle.read(cx).id(),\n            name: disposition.server_name.clone(),\n            settings: LanguageServerSeedSettings {\n                binary: disposition.settings.binary.clone(),\n                initialization_options: disposition.settings.initialization_options.clone(),\n            },\n            toolchain: disposition.toolchain.clone(),\n        };\n        if let Some(state) = self.language_server_ids.get_mut(&key) {\n            state.project_roots.insert(disposition.path.path.clone());\n            state.id\n        } else {\n            let adapter = self\n                .languages\n                .lsp_adapters(language_name)\n                .into_iter()\n                .find(|adapter| adapter.name() == disposition.server_name)\n                .expect(\"To find LSP adapter\");\n            let new_language_server_id = self.start_language_server(\n                worktree_handle,\n                delegate,\n                adapter,\n                disposition.settings.clone(),\n                key.clone(),\n                language_name.clone(),\n                cx,\n            );\n            if let Some(state) = self.language_server_ids.get_mut(&key) {\n                state.project_roots.insert(disposition.path.path.clone());\n            } else {\n                debug_assert!(\n                    false,\n                    \"Expected `start_language_server` to ensure that `key` exists in a map\"\n                );\n            }","sourceCodeStart":389,"sourceCodeEnd":425,"githubUrl":"https://github.com/zed-industries/zed/blob/9d272b036335401f339d024ea94968fd51016c40/crates/project/src/lsp_store.rs#L389-L425","documentation":"get_or_insert_language_server fails when the LSP adapter matching the disposition's server name for the language cannot be found in the adapter registry; the buffer cannot be registered with a language server because no adapter implements that language/server combination.","triggerScenarios":"Thrown at crates/project/src/lsp_store.rs:394 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the language extension providing the LSP adapter is installed and enabled","Check the server name in the language disposition matches a registered adapter","Confirm available_languages registry includes the language for this worktree"],"exampleFix":null,"handlingStrategy":"validation","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"}