@@ -141,6 +141,15 @@ var skipAutoStartCommands = map[string]bool{
141141}
142142
143143func (s *Manager) startServer(ctx context.Context, name, filepath string, server *powernapconfig.ServerConfig) {
144+ var (
145+ isUserConfigured = s.isUserConfigured(name)
146+ autoLSP = s.cfg.Config().Options.AutoLSP
147+ )
148+ if !isUserConfigured && autoLSP != nil && !*autoLSP {
149+ slog.Debug("Auto-start LSP disabled", "name", name)
150+ return
151+ }
152+
144153 cfg := s.buildConfig(name, server)
145154 if cfg.Disabled {
146155 return
@@ -159,9 +168,7 @@ func (s *Manager) startServer(ctx context.Context, name, filepath string, server
159168 }
160169 }
161170
162− userConfigured := s.isUserConfigured(name)
163−
164− if !userConfigured {
171+ if !isUserConfigured {
165172 if _, err := exec.LookPath(server.Command); err != nil {
166173 slog.Debug("LSP server not installed, skipping", "name", name, "command", server.Command)
167174 unavailable.Set(name, struct{}{})