Skip to main content
Lowkey uses environment variables in two places: on your local machine to control the installer, and on the EC2 instance at runtime to configure each agent pack. This page documents both sets.

Installer variables (local shell)

Set these in your shell before piping the installer to bash. They influence how install.sh behaves during the deploy.
VariableEffect
AWS_REGION / AWS_DEFAULT_REGIONSets the AWS region for deployment. Overrides the default from your AWS CLI profile.
AWS_PROFILEUses the named AWS CLI profile for all AWS API calls made during installation.
DEBUG_IN_REPO=1Runs the installer from the current working directory instead of cloning from GitHub. Equivalent to passing --debug-in-repo.

Precedence for installer configuration

When a value can come from multiple sources, the installer resolves it in this order:
  1. Explicit CLI flag (e.g. --profile builder) — highest priority
  2. Environment variable (e.g. AWS_REGION)
  3. Pack manifest default (packs/<pack>/manifest.yaml) — lowest priority

Deploy-time parameters

The installer computes these values from your pack, profile, and flags, then passes them to CloudFormation or Terraform. You don’t set these directly — they are documented here as a reference for the CloudFormation parameters and Terraform variables that control your deployment.
SettingCloudFormation parameterHow to set it
Agent packPackName--pack <name> flag
Permission profileProfileName--profile <name> flag
Bedrock regionBedrockRegionAWS_REGION env var or advanced mode
Default AI modelDefaultModelSet automatically per pack; override in advanced mode
Model access modeModelModebedrock (default), litellm, or api-key; advanced mode
LiteLLM proxy URLLiteLLMBaseUrlAdvanced mode
LiteLLM API keyLiteLLMApiKeyAdvanced mode (marked NoEcho in CloudFormation)
LiteLLM model aliasLiteLLMModelAdvanced mode
Provider API keyProviderApiKeyAdvanced mode (marked NoEcho in CloudFormation)
Kiro API secretKiroFromSecret--kiro-from-secret <secret-id> flag
OpenClaw gateway portOpenClawGatewayPortAdvanced mode (default: 3001)
LiteLLMApiKey and ProviderApiKey are NoEcho: true in CloudFormation — they don’t appear in stack history or describe-stacks output. However, they do pass through UserData. For long-lived secrets, use the --kiro-from-secret / Secrets Manager pattern instead. See Managing secrets with AWS Secrets Manager.

Instance variables — per-pack runtime

Once the agent pack is installed and running, pack-specific variables are sourced from shell profiles on the instance. These are what each agent actually reads at runtime.
OPENCLAW_GATEWAY_URL=http://localhost:3001
OPENCLAW_GATEWAY_TOKEN=<auto-generated at install time>
AWS_DEFAULT_REGION=<from pack config>