AppleScript runs in Automator, but fails when launched via a shortcut I have the following AppleScript in a service using Run AppleScript in Automator:

on run {input, parameters}
    set date_ to short date string of (current date)
    tell application "System Events"
        keystroke date_
    end tell
end run


It is set to receive no input in any application, and the output replaces text.  If I put the cursor in the editing window in Automator and click the run button, it works, and I get the output, e.g.:

...
end run8/15/18


I bound this to a keyboard shortcut (System Properties -> Keyboard -> Shortcuts -> select my script and bind a key combination).  However, when I press the key combination, regardless of the application, I briefly (1-2 seconds) get a little spinning gear in the menu bar, and the following error in the console:


  Detected missing constraints for &lt; private>.  It cannot be placed because there are not enough constraints to fully define the size and origin. Add the missing constraints, or set translatesAutoresizingMaskIntoConstraints=YES and constraints will be generated for you. If this view is laid out manually on macOS 10.12 and later, you may choose to not call [super layout] from your override. Set a breakpoint on DETECTED_MISSING_CONSTRAINTS to debug. This error will only be logged once.


The date is not added to any application where I do this.  I've seen one other person with a similar issue here (https://www.alfredforum.com/topic/10311-applescripts-no-longer-work-script-editor-hangs-not-responding-on-sierra/) but they didn't get an answer either.  This is confusing, as it appears to be related to window rendering, but I have no GUI elements in my script, AFAIK.

I'm running:

Mac OS Sierra 10.12.6 (16G1510)
Automator Version 2.7 (428)


Ok, while researching for this post I found this post(https://superuser.com/questions/153890/assign-a-shortcut-to-running-a-script-in-os-x/264943) that claims that there is a bug that prevents system services from running after Snow Leopard.  Anyone know a workaround without third party tools?
I was able to get it to work by saving the AppleScript as a separate application, then creating an Automator Service that simply launches that app. Here are the steps:


Create a new AppleScript in Script Editor and paste in the following code (yours, but with a slight addition):

on run
    set date_ to short date string of (current date)
    tell application "System Events"
        set visible of (first process where it is frontmost) to false -- return focus to initiating app
        delay 0.1 -- make sure the application has had time to regain focus—if the script doesn't work, try upping this value a little
        keystroke date_
    end tell
end run

Save the script as an Application.
Create a new Service in Automator and add a Launch Application action. Set the application to the one you just saved from Script Editor.
Link a keyboard shortcut to that Automator action.


I can't verify that it works on Sierra, but it's working on High Sierra 10.13.6.