Execute a script with GUI Access before login
PreLoginAgents

macOS supports the ability to run graphical applications pre-login:


  Running Agents Before Login
  
  Most software that displays a user interface does not run prior to the user logging in. However, in some rare cases, it may be necessary to create a graphical agent that does.
  
  By default, OS X does not allow any application to draw content prior to login. If you need to do so, your agent must call the setCanBecomeVisibleWithoutLogin: method on its windows. For more information, see the documentation for that method and the PreLoginAgents sample code.


The trick is to add the following lines to your /Library/LaunchAgents  launchd plist:

&lt;key&gt;LimitLoadToSessionType&lt;/key&gt;
&lt;string&gt;LoginWindow&lt;/string&gt;


The executable must be stored in /Library/PrivilegedHelperTools.

We used this ability to show a notification window pre-login for Power Manager pending events.

This functionality may not be supported in the latest macOS; we have not relied on it for a long while.