LaunchDaemon for pf won't load at startup I have a plist in /Library/LaunchDaemons/ that should run as root on startup.

When I run sudo launchctl load /Library/LaunchDaemons/com.apple.pfctl.plist, it works. However on reboot it does not work. 

Interestingly, after reboot, when I run that command it says /Library/LaunchDaemons/com.apple.pfctl.plist: service already loaded but it is not functioning. However, if I unload and load it works normally. 

Nothing appears in my error reporting /tmp/pfctl.err.

My plist is here:

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple//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;com.apple.pfctl&lt;/string&gt;
&lt;key&gt;ProgramArguments&lt;/key&gt;
        &lt;array&gt;
                &lt;string&gt;pfctl&lt;/string&gt;
                &lt;string&gt;-e&lt;/string&gt;
                &lt;string&gt;-f&lt;/string&gt;
                &lt;string&gt;/etc/pf.conf&lt;/string&gt;
        &lt;/array&gt;
        &lt;key&gt;RunAtLoad&lt;/key&gt;
        &lt;true/&gt;
&lt;key&gt;StandardErrorPath&lt;/key&gt;
&lt;string&gt;/tmp/pfctl.err&lt;/string&gt;
&lt;key&gt;StandardOutPath&lt;/key&gt;
&lt;string&gt;/tmp/pfctl.out&lt;/string&gt;
&lt;/dict&gt;
&lt;/plist&gt;
The problem was that there is a default plist for pfctl at /System/Library/LaunchDaemons/com.apple.pfctl.plist. They were conflict.

In that plist I set &lt;key&gt;Disabled&lt;/key&gt; to &lt;true/&gt;, and everything works as expected.