@pi-lab/ssm-env
AWS SSM Parameter Store environment loader extension for pi coding agent
Package details
Install @pi-lab/ssm-env from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@pi-lab/ssm-env- Package
@pi-lab/ssm-env- Version
0.0.2- Published
- Aug 5, 2026
- Downloads
- 221/mo · 19/wk
- Author
- cheny341
- License
- MIT
- Types
- extension
- Size
- 9.8 KB
- Dependencies
- 2 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./dist/index.mjs"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@pi-lab/ssm-env 
Load environment variables from AWS Systems Manager Parameter Store into pi.
Install
pi install npm:@pi-lab/ssm-env
Usage
Map local environment variable names explicitly to Parameter Store parameter names:
// ~/.pi/agent/settings.json or .pi/settings.json
{
"ssmEnv": {
"profile": "company-dev",
"region": "ap-southeast-1",
"parameters": {
"DATABASE_URL": "/example/dev/DATABASE_URL",
"REDIS_URL": "/example/dev/REDIS_URL"
}
}
}
profile and region are optional. When omitted, the AWS SDK default credential and Region provider chains are used. A trusted project's ssmEnv object replaces the global ssmEnv object; project configuration is ignored when the project is untrusted.
Establish your AWS session before starting pi. For example:
aws sso login --profile company-dev
pi
The extension uses the AWS SDK v3 credential chain and existing AWS CLI/SDK profile and cached SSO session. It never invokes AWS CLI or starts a login flow.
Behavior
- Fetches parameters on every session start, in batches of at most 10
- Always requests decryption, which works for both
SecureStringand unencrypted parameters - Preserves environment variables already present in the pi process
- Warns about missing parameters while loading values that exist
- Warns on configuration, authentication, network, and SSM failures without preventing session startup
- Refreshes values previously injected by this extension after session replacement or extension reload
- Never logs parameter values or writes them to disk
@pi-lab/ssm-env is independent of @pi-lab/env. Do not configure the same variable in both packages: each preserves existing variables, so plugin load order would determine which source wins.