Is there a way to launch uTorrent and not display the GUI window? Since uTorrent to my best of knowledge doesen't support a daemon/server mode, I would like to add it to launchd to start upon login (and restart after a potential crash), but without the app window opening. 

Is there a way to do this?
Try saving a plist like this as ~/Library/LaunchAgents/utorrent.plist:

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd&gt;
&lt;plist version="1.0"&gt;
&lt;dict&gt;
    &lt;key&gt;Label&lt;/key&gt;
    &lt;string&gt;utorrent&lt;/string&gt;
    &lt;key&gt;ProgramArguments&lt;/key&gt;
    &lt;array&gt;
        &lt;string&gt;open&lt;/string&gt;
        &lt;string&gt;-gjWa&lt;/string&gt;
        &lt;string&gt;uTorrent&lt;/string&gt;
    &lt;/array&gt;
    &lt;key&gt;RunAtLoad&lt;/key&gt;
    &lt;true/&gt;
    &lt;key&gt;KeepAlive&lt;/key&gt;
    &lt;true/&gt;
&lt;/dict&gt;
&lt;/plist&gt;


It can be loaded with launchctl load ~/Library/LaunchAgents/utorrent.plist or by logging out and back in.

  -W, --wait-apps   Blocks until the used applications are closed (even if they were already running).
  -j, --hide        Launches the app hidden.
  -g, --background  Does not bring the application to the foreground.


/Applications/uTorrent.app/Contents/MacOS/uTorrent would display a visible uTorrent window if uTorrent wasn't already running.

Another option might be to add a line like this to crontab:

*/5 * * * * pgrep -xq uTorrent &amp;&amp; osascript -e 'launch app "uTorrent"' || open -gja uTorrent


open -gj shows the main window if uTorrent is open but has no visible windows. launch shows the main window if uTorrent is not open.

Programs run from crontab are run in the system security / login session. For example Mail can't access keychains if it is opened by cron.