             resolve @agdaProcess
         else
             @getExecutablePath().then (path) =>
-
                 # Agda program arguments
                 args = @getProgramArgs()
-                args.unshift '--interaction'
+                args.push '--interaction'
                 agdaProcess = spawn path, args
 
                 # catch other forms of errors


    info: =>
        @getExecutablePath().then (path) =>
            child = exec "#{path} -V", (error, stdout, stderr) =>
                if error
                    @core.panel.setContent "Error", "#{error}", 'error'
                else

    validateExecutablePath: (path) -> new Promise (resolve, reject) =>
        path = parsePath path
        try
            args = @getProgramArgs()
            args.push '-V'
            agdaProcess = spawn path, args
            agdaProcess.on 'error', (error) =>
                reject new InvalidExecutablePathError error, path
            agdaProcess.stdout.once 'data', (data) =>
