Login Items does not start in 11.2 I just installed a clean 11.2 and the opening elements in login are very random in Login Items windows. Telegram iTerm and Flux does not start. But Notion yes and 1password, karabiner and other not listed in Login Items. I have removed and put back the elements, but no change.
I gave up trying to fix it using the UI. Instead, I've created a launchd agent in ~/Library/LaunchAgents/. This can be done by writing a .plist file with this content:
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!-- This is ~/Library/LaunchAgents/my-login.plist --&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;my-login.agent&lt;/string&gt;
    &lt;key&gt;LimitLoadToSessionType&lt;/key&gt;
    &lt;string&gt;Aqua&lt;/string&gt;
    &lt;key&gt;ProgramArguments&lt;/key&gt;
    &lt;array&gt;
        &lt;string&gt;/Users/$myuser/.local/etc/scripts/my-login.sh&lt;/string&gt;
    &lt;/array&gt;
    &lt;key&gt;RunAtLoad&lt;/key&gt;
    &lt;true/&gt;
    &lt;key&gt;AbandonProcessGroup&lt;/key&gt;
    &lt;true/&gt; 
    &lt;key&gt;StandardErrorPath&lt;/key&gt;
    &lt;string&gt;/tmp/my-login.err&lt;/string&gt;
    &lt;key&gt;StandardOutPath&lt;/key&gt;
    &lt;string&gt;/tmp/my-login.out&lt;/string&gt;
&lt;/dict&gt;
&lt;/plist&gt;

As you can see, it runs a script in .local/etc/scripts. In turn, this just runs everything it finds in .local/etc/scripts/login/ (you can choose another dir for this, eg, Library/scripts):
#!/usr/local/bin/bash
# This is my-login.sh

cd `dirname &quot;$0&quot;`/login
for script in *.sh
do
  . &quot;./$script&quot;
done

Finally, login/*.sh files usually contain very simple commands, eg:
# google-drive-client.sh
open &quot;/Applications/Backup and Sync.app&quot;

(and of course, this is the same mechanism that many *NIX distro use for /etc/profile.d or /etc/cron.d).
Everything can be enabled by running:
launchctl load ~/Library/LaunchAgents/my-login.plist

(or, logging off and logging on again should do it too).
The .plist options runs the script upon load, and only once. Moreover AbandonProcessGroup ensures that the applications launched in background (eg, using open) are not killed when the main script ends.
This isn't for the non-expert, sorry, I couldn't fix the problem at UI level and I think the macOS quality is getting worse.