Running a cleanup of icloud desktop on load I have the following launchd saved as an agent in: /Users/my_name/Library/LaunchAgents
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
&lt;plist version=&quot;1.0&quot;&gt;
    &lt;dict&gt;
        &lt;key&gt;Label&lt;/key&gt;
        &lt;string&gt;local.desktop.cleanup&lt;/string&gt;
        &lt;key&gt;ProgramArguments&lt;/key&gt;
        &lt;array&gt;
            &lt;string&gt;zsh&lt;/string&gt;
            &lt;string&gt;-c&lt;/string&gt;
            &lt;string&gt;/usr/local/bin/trash ~/Desktop/Screen*&lt;/string&gt;
        &lt;/array&gt;
        &lt;key&gt;RunAtLoad&lt;/key&gt;
        &lt;true/&gt;
        &lt;key&gt;StartInterval&lt;/key&gt;
        &lt;integer&gt;3600&lt;/integer&gt;
        &lt;key&gt;StandardErrorPath&lt;/key&gt;
        &lt;string&gt;/tmp/local.desktop.cleanup.err&lt;/string&gt;
        &lt;key&gt;StandardOutPath&lt;/key&gt;
        &lt;string&gt;/tmp/local.desktop.cleanup.out&lt;/string&gt;
        &lt;key&gt;KeepAlive&lt;/key&gt;
        &lt;dict&gt;
            &lt;key&gt;NetworkState&lt;/key&gt;
            &lt;true/&gt;
        &lt;/dict&gt;
    &lt;/dict&gt;
&lt;/plist&gt;

It runs a very simple program that moves, instead of removes, the selected files to the bin. I've only been testing the launchd's success with RunAtLoad and I cannot get it to work. I get the following error in my log file after each time I log in:
zsh:1: no matches found: /Users/my_name/Desktop/Screen*

My Desktop is actually one of those icloud folders that I suppose MacOS just has symlinked. My theory is that maybe these files do not exist locally at the point the program is run. If this is the case, or not, I would appreciate any ideas or solutions to make this specific use case work.
N.B. You'll noticed I left KeepAlive NetworkState in to show I attempted to delay the run until the network was &quot;alive&quot;, however, this wouldn't account for downloading any files.
Okay, I managed to work out the problem. Unfortunately, it was the usual culprit: The heavy privacy permissions system MacOS has been relying on since Catalina!
Since I was running the command from zsh in order to effectively get the correct user context for relative directories I had to the following:

Now, I am concerned that these somewhat defeats the purpose of this hardened security. I would really appreciate any information as to how it might be best to allow this to run without opening up my whole OS to zsh... Perhaps launchd or launchctl? I fear those are still quite open.