To use ammonite as a shell you must(!) setup a configuration file ~/.ammonite/predef.sc with a least the following minimal content: interp.load.ivy( "com.lihaoyi" %% "ammonite-ops" % ammonite.Constants.version ) interp.load.ivy( "com.lihaoyi" % s"ammonite-shell_${scala.util.Properties.versionNumberString}" % ammonite.Constants.version ) // This @ is necessary for Ammonite to process the `interp.load.ivy` // before continuing. @ val shellSession = ammonite.shell.ShellSession() import shellSession._ import ammonite.ops._ import ammonite.shell._ ammonite.shell.Configure(interp, repl, wd)