Eu tive problemas semelhantes tentando fazer um processo de longa execução usar um chaveiro padrão. Essencialmente, o LaunchAgent parece não rodar em um ambiente de login completo para executar os comandos de segurança, portanto, a alteração do conjunto de chaves padrão não funciona e retorna com um erro de permissões no diretório /Library/Preferences/
.
O molho secreto é adicionar:
<key>SessionCreate</key>
<true/>
para o seu plist. Este é um recurso não documentado que forçará um ambiente adequado e permitirá que você defina o conjunto de chaves padrão. Crédito para joensson em esta questão por me apontar na direção certa.