Env pushdown today is hardcoded per credential plugin (ANTHROPIC_AUTH_TOKEN, the Postgres and Kubernetes variables, a few others). Operators cannot declare their own variables, and profiles with several credentials of the same type have no way to say which one lands in which variable (#490).
Direction: pushdown becomes something an operator declares, and something an external plugin can contribute, rather than a fixed list in core.
Prior art, none of it vetted as the final shape:
Before building, the design should be compared on: no breaking change for existing gateway.hcl files, how external plugins declare variables, how a profile disambiguates same-type credentials, and what clawpatrol env prints. This is sequenced after the current maintenance work.
Env pushdown today is hardcoded per credential plugin (
ANTHROPIC_AUTH_TOKEN, the Postgres and Kubernetes variables, a few others). Operators cannot declare their own variables, and profiles with several credentials of the same type have no way to say which one lands in which variable (#490).Direction: pushdown becomes something an operator declares, and something an external plugin can contribute, rather than a fixed list in core.
Prior art, none of it vetted as the final shape:
env_pushdown { NAME = { secret | value } }block with placeholder substitution on the MITM path.environmentplugin kind alongside endpoint/credential/approver/tunnel, with built-ins migrated to it and an external-plugin RPC (breaking change for existing configs).Before building, the design should be compared on: no breaking change for existing
gateway.hclfiles, how external plugins declare variables, how a profile disambiguates same-type credentials, and whatclawpatrol envprints. This is sequenced after the current maintenance work.