Skip to main content
Sets a secret for your tenant, or one of your own user secrets with --user. The value is read from stdin. It cannot be passed as a command-line argument. The command stores stdin’s exact bytes, including any trailing newline, so pipe the value with printf rather than echo. A tenant secret is shared across your team and needs secret.* permissions. A workspace delivers it to its agent VMs by declaring it in runtime_secret_mounts. A user secret belongs to you, and any member may manage their own. Deliver it to every VM you spawn with murmur secret mount. See profiles and secrets for how secrets reach agents.

Synopsis

The value must be piped through stdin. Running murmur secret set in an interactive terminal without piped input returns an error.

Arguments

Kinds murmur knows: anthropic.api_key, anthropic.oauth_access_token, anthropic.oauth_refresh_token, ed25519.private_key_pem, github.app_installation_token, github.oauth_refresh_token, github.oauth_user_token, github.pat_classic, github.pat_fine_grained, openai.api_key, openai.oauth_access_token, openai.oauth_id_token, openai.oauth_refresh_token. Run murmur secret set --help for the current list. You may declare any other kind: it is stored, but gets no shape check and no hint. When the value does not match the declared kind’s shape, the secret is still stored and the command prints a warning: line to stderr.

Output

On success, the command prints a confirmation to stderr:
With --user:

Examples

Set an API key

Set a secret from a file

Set one of your own secrets

Overwrite an existing secret

Setting a secret that already exists replaces the value. There is no confirmation prompt.

Errors