← Package directory
Available on winget

Install Scala CLI

Scala CLI is a command-line tool to interact with the Scala language.

Install with winget
winget install --id VirtusLab.ScalaCLI
Upgrade
winget upgrade --id VirtusLab.ScalaCLI
Uninstall
winget uninstall --id VirtusLab.ScalaCLI

About Scala CLI

Scala CLI is a command-line tool to interact with the Scala language.

What's new in 1.15.0

Default Scala 3.8.4, Scala Native 0.5.12 & Scala.js 1.22.0 This Scala CLI version bumps the default Scala version to 3.8.4, Scala Native to 0.5.12 and Scala.js to 1.22.0. scala-cli version # Scala CLI version: 1.15.0 # Scala version (default): 3.8.4 scala-cli -e 'println("Hello from Scala.js 1.22.0!")' --js # Compiling project (Scala 3.8.4, Scala.js 1.22.0) # Compiled project (Scala 3.8.4, Scala.js 1.22.0) # Hello from Scala.js 1.22.0! scala-cli -e 'println("Hello from Scala Native 0.5.12!")' --native # Compiling project (Scala 3.8.4, Scala Native 0.5.12) # Compiled project (Scala 3.8.4, Scala Native 0.5.12) # Hello from Scala Native 0.5.12! Scala 3.8.4 was added by @Gedochao in #4299 Scala Native 0.5.12 was added by @WojciechMazur in #4286 Scala.js 1.22.0 was added by @Gedochao in #4344 JShell support in repl scala-cli repl can now use JShell as its REPL backend, enabled with the --jshell (--jsh) flag. JShell is also picked automatically for pure-Java projects. The project's classpath (including dependencies) is available inside the JShell session, so you can play with your code (and even reference Scala classes via reflection). JShell requires JDK 9 or newer. package demo; public class HelloJShell { public static String greet() { return "Hello from JShell!"; } } System.out.println(demo.HelloJShell.greet()); scala-cli repl demo/HelloJShell.java --jshell --jvm 17 --repl-quit-after-init --repl-init-script-file hi.jsh Note: It is possible to explicitly disable JShell on pure Java projects and revert to using Scala REPL with --jshell=false. Added by @Gedochao in #4262 java sni...

Read release notes

Version history

Version Updated Notes
1.15.0 Unknown Default Scala 3.8.4, Scala Native 0.5.12 & Scala.js 1.22.0 This Scala CLI version bumps the default Scala version to 3.8.4, Scala Native to 0.5.12 and Scala.js to 1.22.0. scala-cli version # Scala CLI version: 1.15.0 # S...
1.14.0 Unknown Change default Scala Native version to 0.5.11 This Scala CLI version switches the default Scala Native version to 0.5.11. Added by @Gedochao in #4253 Support for .test.java *.test.java files are now picked up as test-sco...
1.13.0 Unknown Change default Scala version to 3.8.3 This Scala CLI version switches the default Scala version to 3.8.3. scala-cli version # Scala CLI version: 1.13.0 # Scala version (default): 3.8.3 Added by @Gedochao in #4204 Support...
1.12.5 Unknown --cross support for run, package and doc sub-commands (experimental ⚡️) It is now possible to cross-run, cross-package and cross-generate docs (doc) with the --cross command line option. - run runs each configured combin...
1.12.4 Unknown This is just a small patch fixing a bug (#4152) breaking Metals support in Scala CLI v1.12.3. Fixes - Fix BSP buildTarget/wrappedSources for GraalVM native image by @Gedochao in #4153 Documentation changes - Fix docs' li...
1.12.3 Unknown Change default Scala version to 3.8.2 This Scala CLI version switches the default Scala version to 3.8.2. scala-cli version # Scala CLI version: 1.12.3 # Scala version (default): 3.8.2 Added by @Gedochao in #4143 Fixes -...
1.12.2 Unknown Old sonatype snapshot is causing Scala CLI to timeout Until the recent migration to new Sonatype Central repository there was an older snapshots repository in use. Unfortuntately, last week it started to make requests to...
1.12.1 Unknown Change default Scala version to 3.8.1 This Scala CLI version switches the default Scala version to 3.8.1. scala-cli version # Scala CLI version: 1.13.0 # Scala version (default): 3.8.1 Added by @Gedochao in #4065 Change...
1.12.0 Unknown Change default Scala version to 3.8.0 This Scala CLI version switches the default Scala version to 3.8.0. scala-cli version # Scala CLI version: 1.12.0 # Scala version (default): 3.8.0 Added by @Gedochao in #4049 Support...
1.11.0 Unknown Change default Scala versions to 2.13.18 and 2.12.21 This Scala CLI version switches the default Scala versions: - default Scala 2.13 to 2.13.18 - default Scala 2.12 to 2.12.21 Added by @Gedochao in #3999 and #3958 Fall...
1.10.1 Unknown This is a bugfix release, chiefly aiming to mend #3949, which affected several of our users. Fixes - Ensure Coursier logger gets initialized while downloading JVMs by @Gedochao in #3951 Documentation changes - Back port...
1.9.1 Unknown Support for Scala 3.7.3 This Scala CLI version switches the default Scala version to 3.7.3. scala-cli version # Scala CLI version: 1.9.1 # Scala version (default): 3.7.3 Added by @Gedochao in #3866 Support for Scala.js 1...
1.9.0 Unknown Support for the new Scala 3 nightly repository This Scala CLI version supports the new Scala 3 nightly versions repository: https://repo.scala-lang.org/artifactory/maven-nightlies This means that newest Scala 3 nightly v...
1.8.5 Unknown Support for Scala 3.7.2 This Scala CLI version switches the default Scala version to 3.7.2. scala-cli version # Scala CLI version: 1.8.5 # Scala version (default): 3.7.2 Added by @Gedochao in #3809 Add props with input p...
1.8.4 Unknown (⚡️ experimental) publish support for the Sonatype Central Portal This Scala CLI version adds support for publishing artifacts to the Sonatype Central Portal via its OSSRH Staging API. It is once again publish artifacts...
1.8.3 Unknown This is a small release which aims to fix issues with publishing Scala CLI on Sonatype Central Portal. Build and internal changes - Add extra logging on Scala CLI artifacts publishing by @Gedochao in #3745 - [NIT] Refact...
1.8.2 Unknown Support for Scala Native 0.5.8 This Scala CLI version switches the default Scala Native version to 0.5.8. scala-cli -e 'println("Hello from Scala Native 0.5.8!")' --native # Compiling project (Scala 3.7.1, Scala Native 0...
1.8.1 Unknown Support for Scala 3.7.1 This Scala CLI version switches the default Scala version to 3.7.1. scala-cli version # Scala CLI version: 1.8.1 # Scala version (default): 3.7.1 Added by @Gedochao in #3707 Support for URLs in us...
1.8.0 Unknown Support for Scala 3.7.0 and 3.3.6 This Scala CLI version switches the default Scala version to 3.7.0. The CLI internals are now built with Scala 3.3.6. scala-cli version # Scala CLI version: 1.8.0 # Scala version (defaul...
1.7.1 Unknown Support for Scala 3.6.4 This Scala CLI version switches the default Scala version to 3.6.4. scala-cli version # Scala CLI version: 1.7.1 # Scala version (default): 3.6.4 Added by @Gedochao in #3544 Support the --test com...