monkeys

set

Reads a secret and stores it under the key. On a terminal it prompts, and what you paste is not echoed.

monkeys set [@profile] <KEY> [--clipboard]

Reads a secret and stores it under the key. On a terminal it prompts, and what you paste is not echoed:

monkeys set OPENROUTER_API_KEY
Secret:
stored OPENROUTER_API_KEY
give it to a command with:
  monkeys run OPENROUTER_API_KEY <command>

--clipboard takes the secret from the clipboard instead, through whichever tool the desktop has, pbpaste, wl-paste, xclip or xsel, so a key copied from a provider's console goes straight in:

monkeys set GITHUB_TOKEN --clipboard

When standard input is not a terminal, the secret is read from there, which is how a script stores one:

cat token.txt | monkeys set GITHUB_TOKEN

Inside a project the key is stored under the project's profile, so monkeys set STRIPE_SECRET_KEY there writes foo.test/STRIPE_SECRET_KEY. A leading @profile picks another, @namespace.profile one of another project, and a bare @ no profile.

A key you already stored is replaced, and nothing says so.

Storing is a human's job. An agent that types a secret puts it in its own context before it reaches the vault, so the skill tells it to ask instead.