.env file to manage secrets outside of your manifest. The clawup.yaml manifest declares which env vars to read using ${env:VAR_NAME} syntax — making the YAML self-documenting while keeping actual values out of version control.
How It Works
clawup initgenerates aclawup.yamlwith${env:VAR}references in thesecretssection, plus a.env.examplefile- You copy
.env.exampleto.envand fill in values clawup deployloads.env, validates all secrets are present, and configures Pulumi automatically before deploying
The
.env file is automatically added to .gitignore by clawup init. Actual secret values are stored encrypted in Pulumi config — the .env file is a convenience for populating secrets non-interactively.Resolution Order
When resolving${env:VAR} references, values are checked in this order:
process.env— Shell environment variables (highest priority).envfile — Loaded from the project root (or path specified by--env-file)
Global Secrets
These are shared across all agents and always included in the manifest:Per-Agent Secrets
Per-agent secrets are scoped by role. The env var name follows the pattern<ROLE>_<SECRET_SUFFIX>:
For example, if the PM agent (role
pm) has the Slack plugin, the expected env vars are PM_SLACK_BOT_TOKEN and PM_SLACK_APP_TOKEN.
Linear User UUID
ThelinearUserUuid is auto-fetched by clawup deploy using the Linear API. You can also set it manually in .env to bypass the API call:
Identity requiredSecrets
Identities can declare additional secrets beyond what plugins and deps imply using the requiredSecrets field in identity.yaml:
SCREAMING_SNAKE_CASE and prefixed with the agent’s role. For example, notionApiKey on a pm agent becomes PM_NOTION_API_KEY.
This is additive — secrets implied by plugins/deps are always included. requiredSecrets adds extras on top. If a key in requiredSecrets is already implied by a plugin/dep, it won’t be duplicated.
.env.example
The .env.example file is generated automatically by clawup init (and regenerated by clawup deploy). It lists all required env var names with empty values, organized by scope:
Using --env-file
By default, clawup deploy looks for .env in the project root. Override with:
Validation
Clawup validates well-known secret formats during deployment:
If a value from
.env fails validation, a warning is shown but the value is still used.
Managing Secrets Post-Deploy
After initial deployment, manage secrets without re-deploying:clawup redeploy to apply changes to running agents.