Thank you, your reply led me to the solution. It didn't occur to me that I could use a compiled master script to run uncompiled scripts and capture output from them. For my own convenience, I have made a little wrapper executable which executes the uncompiled script. wrapper.au3 #AutoIt3Wrapper_Change2CUI=y $h = Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $CmdLine[1] & '"', "", @SW_HIDE, 2) While 1 $d = StdoutRead($h) If @error Then ExitLoop ConsoleWrite($d) WEnd I compile