             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

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

                    resolve path
                else
                    reject new InvalidExecutablePathError data.toString(), path
            agdaProcess.stderr.once 'data', (data) =>
                reject new InvalidExecutablePathError data.toString(), path
        catch error
            reject new InvalidExecutablePathError error, path

