MacOS – osascript bug: AppleScript’s initial “choose from list” dialog is unselected

applescriptbugcommand linemacos

I run the following code in Terminal:

osascript "/Users/Me/Desktop/Run this script on wake.scpt"

If the first dialog of my .scpt file is a choose from list dialog, then this dialog will be unselected. That is, I cannot simply hit the enter key to press "OK"; I must first click anywhere on the dialog to make the top bar of the dialog change from white to grey, and only then can I hit enter to proceed.

To be clear, the dialog comes to the front just fine – it is simply not selected.

However, if the first dialog is a display dialog or display alert dialog, then the dialog is automatically selected. It just so happens that the initial dialog of my .scpt file is a choose from list dialog.

I tried writing activate me on the line above the choose from list dialog, but this did not do anything.

When I run the "Run this script on wake.scpt" from within Script Editor, the choose from list dialog is in fact selected. Hence, we know that the issue is related to osascript.

Does anyone have a workaround to force the choose from list dialog to be automatically selected?

I've tried implementing a default selection by inserting the default items parameter in the choose from list command (even though I don't actually want a default item to exist in this case). I thought that doing this might force the dialog to be selected. But, still, the list dialog is unselected.

As a last resort, I suppose that I could use AppleScript to mouse-click the center of the screen (where the dialog is located). But, I'd prefer a more elegant solution, as AppleScript can be unreliable when it comes to mouse clicks.


If you are wondering why I am employing osascript in the first place, it is because I am using SleepWatcher to automatically run an AppleScript when my computer wakes from sleep. (Here is a very helpful guide that I used to set up SleepWatcher.)

This is the full text of my .wakeup file:

#!/bin/bash
osascript "/Users/Me/Desktop/Run this script on wake.scpt"

Best Answer

This is weird.. For now, I'd recommend that you save your script as an executable. This can be done by opening your Applescript in the Script Editor, then clicking the File menu, then Export, then choosing "Application" in the File Format dropdown box. You could then create an Applescript that executes this application.