There are a few parts here with how you expect your tool to 1) find a/the keychain 2) access it 3) have permission.
If you're running a LaunchDaemon (not a LaunchAgent) without specifying the user, it runs as root. That implies you're using the system keychain, not your personal login one.
User interaction not allowed means your process is trying to prompt for access (it wasn't granted it already), and user interaction has been disallowed (common when you're not running in a GUI-capable session, can also be specified at runtime using the relevant API in the Security framework).
Daemon processes should always be given access to the keychain items they need beforehand, and shouldn't require user interaction.
Topic:
Developer Tools & Services
SubTopic:
General
Tags: