From f85ced45f2b10f5ac909a3b443b5ea70750a0133 Mon Sep 17 00:00:00 2001 From: MkDev11 Date: Wed, 14 Jan 2026 04:57:05 -0500 Subject: [PATCH] [2.x] fix: Start server when explicitly requested via BSP/thin client (#8529) Fixes #7481 When sbt is started by a remote client (BSP or thin client via --server flag), always start the server regardless of autoStartServer setting. The autoStartServer setting is meant for automatic server startup, not for blocking explicit server start requests. --- main/src/main/scala/sbt/internal/CommandExchange.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/internal/CommandExchange.scala b/main/src/main/scala/sbt/internal/CommandExchange.scala index 6ce1ce14e..fc78ecf82 100644 --- a/main/src/main/scala/sbt/internal/CommandExchange.scala +++ b/main/src/main/scala/sbt/internal/CommandExchange.scala @@ -153,7 +153,8 @@ private[sbt] final class CommandExchange { def run(s: State): State = run(s, s.get(autoStartServer).getOrElse(true)) def run(s: State, autoStart: Boolean): State = { - if (autoStartServerSysProp && autoStart) runServer(s) + val startedByRemote = Terminal.startedByRemoteClient + if (autoStartServerSysProp && (autoStart || startedByRemote)) runServer(s) else s } private[sbt] def setState(s: State): Unit = lastState.set(s)