diff --git a/src/tools/lsp/config.ts b/src/tools/lsp/config.ts index 7bea8914..5e3f59f8 100644 --- a/src/tools/lsp/config.ts +++ b/src/tools/lsp/config.ts @@ -147,6 +147,12 @@ export function isServerInstalled(command: string[]): boolean { if (command.length === 0) return false const cmd = command[0] + + // Support absolute paths (e.g., C:\Users\...\server.exe or /usr/local/bin/server) + if (cmd.includes("/") || cmd.includes("\\")) { + if (existsSync(cmd)) return true + } + const isWindows = process.platform === "win32" const ext = isWindows ? ".exe" : "" @@ -176,6 +182,11 @@ export function isServerInstalled(command: string[]): boolean { } } + // Runtime wrappers (bun/node) are always available in oh-my-opencode context + if (cmd === "bun" || cmd === "node") { + return true + } + return false }