Skip to main content
Cloud agents often need to authenticate with external services — GitHub, third-party APIs, databases, and more. Warp Managed Secrets give you a secure place to store those credentials and a reliable mechanism for making them available inside agent containers at runtime, without ever putting sensitive values in your code or shell history. Secrets are encrypted at rest and injected as environment variables when an agent run starts. The agent itself can read them like any other environment variable, and they are never logged in the run transcript.

Managing secrets

All secret commands are available under oz secret.

Create a secret

By default, Oz prompts you to enter the secret value interactively. To read the value from a file instead, use --value-file:
oz secret create flags:

Create a typed Anthropic secret

For agents that use the Claude Code harness, Oz supports provider-specific secret creation that validates the credential format automatically.
If you omit any of the provider-specific flags, Oz prompts for them interactively.

List secrets

This lists the names and descriptions of all secrets in your account. Secret values are never returned.

Update a secret

To rotate a secret’s value, use oz secret update. Oz will prompt for the new value interactively, or you can supply a file.
oz secret update flags:

Delete a secret

How agents access secrets at runtime

When an agent run starts, Warp injects all secrets in the run’s scope as environment variables inside the agent container. The variable name matches the secret name you chose when creating the secret. For example, if you created a secret named GITHUB_TOKEN:
Your agent can then read it like any other environment variable:
Choose secret names that are valid environment variable names (uppercase letters, digits, and underscores). Names with hyphens or other special characters may not be accessible as environment variables in all shells.

Secret scoping

By default, secrets are created in your personal scope. Use --team to create a secret shared across your team, or --personal to explicitly create a private secret:
Team-scoped secrets are available to any agent run that belongs to the same team.

Security considerations

No. oz secret list only returns secret names and descriptions. The oz secret update command prompts for the value interactively and does not echo it. Values are never included in run transcripts or logs.
Secrets are encrypted at rest in Warp’s infrastructure. They are decrypted only at the moment they are injected into an agent container, and only for the duration of that run.
Yes. Secrets are injected into every run, whether triggered manually or by a schedule. As long as the secret exists in the right scope when the scheduled agent fires, it will be available.