diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala index 0c336fa2d..ceb941ca5 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala @@ -796,6 +796,12 @@ object Terminal { private[util] val system: org.jline.terminal.Terminal, ) extends TerminalImpl(in, out, originalErr, "console0") { private[this] val rawMode = new AtomicBoolean(false) + if (Util.isWindows && hasConsole) { + // It is necessary to enter and exit raw mode in order to get the windows + // console to echo input. + enterRawMode() + exitRawMode() + } override private[sbt] def getSizeImpl: (Int, Int) = { val size = system.getSize (size.getColumns, size.getRows)