Skip to main content
Environments let you maintain different versions of prompts across your development lifecycle. This enables you to:
  • Maintain version control: Pin stable prompt versions to production while testing new versions in development
  • Enable staged deployments: Promote prompt versions through dev/staging/production pipelines
  • Support A/B testing: Compare different prompt versions across environments
  • Isolate changes: Test prompt modifications without affecting production systems
Currently, environments work with prompts only.

Create an environment

Environments are defined at the organization level:
  1. Go to Settings.
  2. Click Environments.
  3. Click + Environment.
  4. Enter a name (e.g., “production”, “staging”, “dev”).
  5. Click Create environment.

Assign prompts to environments

Assign specific prompt versions to environments:
  1. Open the prompt.
  2. Click the icon.
  3. Select an environment.
  4. Click Save.
The assigned version will be used when calling the prompt with that environment parameter.

Load prompts with environments

import { loadPrompt } from "braintrust";

// Load from specific environment
const prompt = await loadPrompt({
  projectName: "My Project",
  slug: "my-prompt",
  environment: "production",
});

// Use conditional versioning
const prompt = await loadPrompt({
  projectName: "My Project",
  slug: "my-prompt",
  version: process.env.NODE_ENV === "production" ? "5878bd218351fb8e" : undefined,
});

Promote versions

Move tested versions from development to production:
  1. Test a new prompt version in the “dev” environment.
  2. Run experiments to validate performance.
  3. Once satisfied, assign the same version to “staging”.
  4. After final validation, assign to “production”.
This workflow ensures changes are validated before reaching production users.

Monitor environment changes

Set up environment alerts to get notified via webhook or Slack when prompt versions are assigned to or removed from environments. Use these to track deployments, maintain audit trails, or trigger downstream CI/CD workflows.

Common patterns

Three-tier deployment

Maintain dev, staging, and production environments:
  • dev: Latest changes, frequent updates, used by developers.
  • staging: Pre-release testing, stable versions.
  • production: Customer-facing, only validated versions.

Feature flags

Use environments to control feature rollouts:
  • Create an environment for each feature flag.
  • Assign different prompt versions based on flag state.
  • Gradually roll out by changing environment assignments.

A/B testing

Test prompt variations by environment:
  • Create environments for each variant (e.g., “variant-a”, “variant-b”).
  • Assign different prompt versions to each.
  • Route users to different environments based on A/B test assignment.
  • Compare performance using environment filters.

Next steps