Set Environment Variables
Environment Variables in BAML
Sometimes you’ll see environment variables used in BAML, like in clients:
Setting Environment Variables
In the VSCode Playground
Once you open a .baml file in VSCode, you should see a small button over every BAML function: Open Playground. Then you should be able to set environment variables in the settings tab.
Or type BAML Playground in the VSCode Command Bar (CMD + Shift + P or CTRL + Shift + P) to open the playground.
For Boundary Studio Integration
To send logs and traces to Boundary Studio, you need to set the BOUNDARY_API_KEY environment variable. This key is provided when you create an API key in your Boundary Studio dashboard.
Next.js
Express.js
Flask
Rails
For Your App (Default)
BAML will do its best to load environment variables from your program. Any of the following strategies for setting env vars are compatible with BAML:
- Setting them in your shell before running your program
- In your
Dockerfile - In your
next.config.js - In your Kubernetes manifest
- From
secrets-store.csi.k8s.io - From a secrets provider such as Infisical / Doppler
- From a
.envfile (usingdotenvCLI) - Using account credentials for ephemeral token generation (e.g., Vertex AI Auth Tokens)
python-dotenvpackage in Python ordotenvpackage in Node.js
python
typescript
ruby
Boundary Studio Integration
When you use BAML in your application, logs and traces are automatically sent to Boundary Studio for monitoring and debugging. To enable this integration, you need to set the BOUNDARY_API_KEY environment variable with an API key from your Boundary Studio dashboard.
The API key is used to:
- Authenticate your application with Boundary Studio
- Associate logs and traces with your specific project and environment
- Control access permissions for different operations
Setting Environment Variables
In the VSCode Playground
Once you open a .baml file in VSCode, you should see a small button over every BAML function: Open Playground. Then you should be able to set environment variables in the settings tab.
Or type BAML Playground in the VSCode Command Bar (CMD + Shift + P or CTRL + Shift + P) to open the playground.
For Boundary Studio Integration
To send logs and traces to Boundary Studio, you need to set the BOUNDARY_API_KEY environment variable. This key is provided when you create an API key in your Boundary Studio dashboard.
Next.js
Express.js
Flask
Rails
For Your App (Default)
BAML will do its best to load environment variables from your program. Any of the following strategies for setting env vars are compatible with BAML:
- Setting them in your shell before running your program
- In your
Dockerfile - In your
next.config.js - In your Kubernetes manifest
- From
secrets-store.csi.k8s.io - From a secrets provider such as Infisical / Doppler
- From a
.envfile (usingdotenvCLI) - Using account credentials for ephemeral token generation (e.g., Vertex AI Auth Tokens)
python-dotenvpackage in Python ordotenvpackage in Node.js
python
typescript
ruby
Setting LLM API Keys per Request
You can set the API key for an LLM dynamically by passing in the key as a header or as a parameter (depending on the provider), using the ClientRegistry.