Keys in .env
the real incumbent
This is what you are running today
Zero setup, works with everything, and every tool on your machine already reads it. That is exactly why it wins by default, and exactly why it loses your keys.
Any process running as you can read the file: the agent, its child processes, and whatever npm installed this morning. The TanStack, Shai-Hulud, and Nx incidents all worked exactly this way.